27 #ifndef _SMESH_SUBMESH_HXX_ 28 #define _SMESH_SUBMESH_HXX_ 40 #include <TopoDS_Shape.hxx> 63 const TopoDS_Shape & aSubShape);
77 const std::map < int, SMESH_subMesh * >& DependsOn();
83 const bool complexShapeFirst);
85 const TopoDS_Shape & GetSubShape()
const;
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);
205 const TopAbs_ShapeEnum theShapeType);
208 {
return IsApplicableHypotesis( theHypothesis, _subShape.ShapeType() ); }
218 bool IsEmpty()
const;
220 bool IsMeshComputed()
const;
227 void SetIsAlwaysComputed(
bool isAlCo);
233 void InsertDependence(
const TopoDS_Shape aSubShape);
235 bool SubMeshesComputed();
237 bool SubMeshesReady();
239 void RemoveSubMeshElementsAndNodes();
240 void UpdateDependantsState(
const compute_event theEvent);
241 void UpdateSubMeshState(
const compute_state theState);
242 void ComputeSubMeshStateEngine(
int event);
243 void CleanDependants();
244 void CleanDependsOn();
245 void SetAlgoState(
int state);
251 TopoDS_Shape GetCollection(
SMESH_Gen * theGen,
253 bool & theSubComputed);
259 const TopoDS_Shape& theCollection);
265 bool CheckComputeError(
SMESH_Algo* theAlgo,
const TopoDS_Shape& theShape=TopoDS_Shape());
276 const int theHypType = 0);
SMESH_subMeshEventListener EventListener
Data specific for EventListener and to be stored in a submesh.
bool IsApplicableHypotesis(const SMESH_Hypothesis *theHypothesis) const
A base for objects reacting on submesh events.
boost::shared_ptr< SMESH_ComputeError > SMESH_ComputeErrorPtr
int GetComputeState() const
SMESHDS_SubMesh * _subMeshDS
SMESH_subMeshEventListenerData EventListenerData
std::list< std::pair< SMESH_subMesh *, EventListener *> > myOwnListeners
std::map< EventListener *, EventListenerData *> myEventListeners
< event listeners to notify
boost::shared_ptr< SMDS_Iterator< SMESH_subMesh * > > SMESH_subMeshIteratorPtr
std::map< int, SMESH_subMesh *> _mapDepend
std::map< SMESH_subMesh *, std::vector< int > > MapShapeNbElems
SMESH_ComputeErrorPtr _computeError
SMESH_ComputeErrorPtr & GetComputeError()