-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
{
bool myIsDeletable; //!< if true, it will be deleted by SMESH_subMesh
mutable std::set<SMESH_subMesh*> myBusySM; //!< to avoid infinite recursion via events
+ const char* myName; //!< identifier
friend class SMESH_subMesh;
-public:
- SMESH_subMeshEventListener(bool isDeletable):myIsDeletable(isDeletable) {}
- bool IsDeletable() const { return myIsDeletable; }
+
+ public:
+ SMESH_subMeshEventListener(bool isDeletable, const char* name)
+ :myIsDeletable(isDeletable), myName(name) {}
+ virtual ~SMESH_subMeshEventListener() {}
+ bool IsDeletable() const { return myIsDeletable; }
+ const char* GetName() const { return myName; }
+ virtual void BeforeDelete(SMESH_subMesh* subMesh,
+ SMESH_subMeshEventListenerData* data)
+ {}
/*!
* \brief Do something on a certain event
* \param event - algo_event or compute_event itself (of SMESH_subMesh)
* \param hyp - hypothesis, if eventType is algo_event
*
* The base implementation (see SMESH_subMesh.cxx) translates CLEAN event
- * to the subMesh stored in the listener data. Also it sends SUBMESH_COMPUTED
+ * to the subMeshes stored in the listener data. Also it sends SUBMESH_COMPUTED
* event in case of successful COMPUTE event.
*/
virtual void ProcessEvent(const int event,
{
bool myIsDeletable; //!< if true, it will be deleted by SMESH_subMesh
int myType; //!< to recognize data type
- std::list<SMESH_subMesh*> mySubMeshes; //!< generally: submeshes depending
- // on the one storing this data
+ std::list<SMESH_subMesh*> mySubMeshes; /* generally: submeshes depending
+ on the one storing this data;
+ !! they are used to track intermesh
+ dependencies at mesh loading as well !! */
public:
SMESH_subMeshEventListenerData(bool isDeletable):myIsDeletable(isDeletable) {}
virtual ~SMESH_subMeshEventListenerData() {}