28 #ifndef _SMESH_SUBMESH_HXX_
29 #define _SMESH_SUBMESH_HXX_
40 #include <TopoDS_Shape.hxx>
77 const std::map < int, SMESH_subMesh * >& DependsOn();
83 const bool complexShapeFirst);
90 COMPUTE_OK, FAILED_TO_COMPUTE
112 ALGO_EVENT, COMPUTE_EVENT
168 void NotifyListenersOnEvent(
const int event,
175 void DeleteOwnListeners();
191 void DumpAlgoState(
bool isMain);
193 bool ComputeStateEngine(
int event);
203 const TopAbs_ShapeEnum theShapeType);
206 {
return IsApplicableHypotesis( theHypothesis, _subShape.ShapeType() ); }
216 bool IsEmpty()
const;
218 bool IsMeshComputed()
const;
225 void SetIsAlwaysComputed(
bool isAlCo);
234 bool SubMeshesComputed();
236 bool SubMeshesReady();
238 void RemoveSubMeshElementsAndNodes();
239 void UpdateDependantsState(
const compute_event theEvent);
240 void UpdateSubMeshState(
const compute_state theState);
241 void ComputeSubMeshStateEngine(
int event);
242 void CleanDependants();
243 void CleanDependsOn();
244 void SetAlgoState(
int state);
252 bool & theSubComputed);
275 const int theHypType = 0);
SMESH_subMeshEventListener EventListener
Data specific for EventListener and to be stored in a submesh.
A base for objects reacting on submesh events.
boost::shared_ptr< SMESH_ComputeError > SMESH_ComputeErrorPtr
SMESHDS_SubMesh * _subMeshDS
SMESH_subMeshEventListenerData EventListenerData
std::list< std::pair< SMESH_subMesh *, EventListener * > > myOwnListeners
int GetComputeState() const
std::map< EventListener *, EventListenerData * > myEventListeners
< event listeners to notify
bool IsApplicableHypotesis(const SMESH_Hypothesis *theHypothesis) const
boost::shared_ptr< SMDS_Iterator< SMESH_subMesh * > > SMESH_subMeshIteratorPtr
std::map< int, SMESH_subMesh * > _mapDepend
SMESH_ComputeErrorPtr _computeError
SMESH_ComputeErrorPtr & GetComputeError()