PAL13639 (EDF PAL 317 : SMESH : Create "0D Hypothesis")

add SetIsAlwaysComputed()
This commit is contained in:
eap 2007-02-19 16:26:18 +00:00
parent f3d960a86a
commit 89b342d946

View File

@ -88,14 +88,15 @@ class SMESH_subMesh
}; };
enum algo_event enum algo_event
{ {
ADD_HYP, ADD_ALGO, ADD_HYP , ADD_ALGO,
REMOVE_HYP, REMOVE_ALGO, REMOVE_HYP , REMOVE_ALGO,
ADD_FATHER_HYP, ADD_FATHER_ALGO, ADD_FATHER_HYP , ADD_FATHER_ALGO,
REMOVE_FATHER_HYP, REMOVE_FATHER_ALGO REMOVE_FATHER_HYP, REMOVE_FATHER_ALGO,
MODIF_HYP
}; };
enum compute_event enum compute_event
{ {
MODIF_HYP, MODIF_ALGO_STATE, COMPUTE, MODIF_ALGO_STATE, COMPUTE,
CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED, CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED,
MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE
}; };
@ -113,12 +114,10 @@ class SMESH_subMesh
* \param listener - the listener to store * \param listener - the listener to store
* \param data - the listener data to store * \param data - the listener data to store
* \param where - the submesh to store the listener and it's data * \param where - the submesh to store the listener and it's data
* \param deleteListener - if true then the listener will be deleted as
* it is removed from where submesh
* *
* It remembers the submesh where it puts the listener in order to delete * The method remembers the submesh \awhere it puts the listener in order to delete
* them when HYP_OK algo_state is lost * them when HYP_OK algo_state is lost
* After being set, event listener is notified on each event of where submesh. * After being set, event listener is notified on each event of \awhere submesh.
*/ */
void SetEventListener(EventListener* listener, void SetEventListener(EventListener* listener,
EventListenerData* data, EventListenerData* data,
@ -206,6 +205,12 @@ public:
bool IsMeshComputed() const; bool IsMeshComputed() const;
// check if _subMeshDS contains mesh elements // check if _subMeshDS contains mesh elements
/*!
* \brief Allow algo->Compute() if a subshape of lower dim is meshed but
* none mesh entity is bound to it
*/
void SetIsAlwaysComputed(bool isAlCo);
protected: protected:
// ================================================================== // ==================================================================
void InsertDependence(const TopoDS_Shape aSubShape); void InsertDependence(const TopoDS_Shape aSubShape);
@ -238,6 +243,7 @@ protected:
// is returned; else an applicable ones having theHypType // is returned; else an applicable ones having theHypType
// is returned // is returned
TopoDS_Shape _subShape; TopoDS_Shape _subShape;
SMESHDS_Mesh * _meshDS; SMESHDS_Mesh * _meshDS;
SMESHDS_SubMesh * _subMeshDS; SMESHDS_SubMesh * _subMeshDS;
@ -249,6 +255,11 @@ protected:
int _algoState; int _algoState;
int _computeState; int _computeState;
// allow algo->Compute() if a subshape of lower dim is meshed but
// none mesh entity is bound to it. Eg StdMeshers_CompositeSegment_1D can
// mesh several edges as a whole and leave some of them without mesh entities
bool _alwaysComputed;
}; };
#endif #endif