-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019 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
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
{
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;
-#ifdef _DEBUG_
- const char* myName; //!< identifier used for debug
-#endif
public:
- SMESH_subMeshEventListener(bool isDeletable, const char* name) :myIsDeletable(isDeletable)
-#ifdef _DEBUG_
- ,myName(name)
-#endif
+ 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)
{}
- bool IsDeletable() const { return myIsDeletable; }
/*!
* \brief Do something on a certain event
* \param event - algo_event or compute_event itself (of SMESH_subMesh)
* \param eventType - ALGO_EVENT or COMPUTE_EVENT (of SMESH_subMesh)
- * \param subMesh - the submesh where the event occures
+ * \param subMesh - the submesh where the event occurs
* \param data - listener data stored in the subMesh
* \param hyp - hypothesis, if eventType is algo_event
*