class SMESH_EXPORT SMESH_subMesh
{
public:
- SMESH_subMesh(int Id, SMESH_Mesh * father, SMESHDS_Mesh * meshDS,
+ SMESH_subMesh(int Id,
+ SMESH_Mesh * father,
+ SMESHDS_Mesh * meshDS,
const TopoDS_Shape & aSubShape);
virtual ~ SMESH_subMesh();
- int GetId() const;
+ int GetId() const; // == meshDS->ShapeToIndex( aSubShape )
SMESH_Mesh* GetFather() { return _father; }
- SMESHDS_SubMesh * GetSubMeshDS();
+ SMESHDS_SubMesh * GetSubMeshDS();
+ const SMESHDS_SubMesh * GetSubMeshDS() const;
SMESHDS_SubMesh* CreateSubMeshDS();
// Explicit SMESHDS_SubMesh creation method, required for persistence mechanism
* \brief Return iterator on the submeshes this one depends on
*/
SMESH_subMeshIteratorPtr getDependsOnIterator(const bool includeSelf,
- const bool complexShapeFirst);
+ const bool complexShapeFirst) const;
const TopoDS_Shape & GetSubShape() const;
*/
EventListenerData* GetEventListenerData(EventListener* listener) const;
+ /*!
+ * \brief Return an event listener data
+ * \param listenerName - the listener name
+ * \retval EventListenerData* - found data, maybe NULL
+ */
+ EventListenerData* GetEventListenerData(const std::string& listenerName) const;
+
/*!
* \brief Unregister the listener and delete it and it's data
* \param listener - the event listener to delete
SMESH_Hypothesis::Hypothesis_Status
SubMeshesAlgoStateEngine(int event, SMESH_Hypothesis * anHyp);
- int GetAlgoState() const { return _algoState; }
- int GetComputeState() const { return _computeState; };
- SMESH_ComputeErrorPtr& GetComputeError() { return _computeError; }
+ algo_state GetAlgoState() const { return _algoState; }
+ compute_state GetComputeState() const { return _computeState; };
+ SMESH_ComputeErrorPtr& GetComputeError() { return _computeError; }
void DumpAlgoState(bool isMain);
void SetIsAlwaysComputed(bool isAlCo);
bool IsAlwaysComputed() { return _alwaysComputed; }
+ bool SubMeshesComputed() const;
+
/*!
* \brief Find common submeshes (based on shared subshapes with other
// ==================================================================
void insertDependence(const TopoDS_Shape aSubShape);
- bool subMeshesComputed();
- //bool SubMeshesReady();
-
void removeSubMeshElementsAndNodes();
void updateDependantsState(const compute_event theEvent);
void updateSubMeshState(const compute_state theState);
void cleanDependants();
void cleanDependsOn();
- void setAlgoState(int state);
+ void setAlgoState(algo_state state);
/*!
* \brief Return a shape containing all sub-shapes of the MainShape that can be
std::map < int, SMESH_subMesh * >_mapDepend;
bool _dependenceAnalysed;
- int _algoState;
- int _computeState;
+ algo_state _algoState;
+ compute_state _computeState;
SMESH_ComputeErrorPtr _computeError;
// allow algo->Compute() if a subshape of lower dim is meshed but