X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Gen.hxx;h=a6a04436a0c10cf040d2e41ce0edf30c0702c73b;hb=19d95d14264fe00d3640126f912287dbc38f972c;hp=1aa8e9684f39ef46063047121d279e289e412d4b;hpb=358f8ddd54e7ed553eecc22ca665575e4019e3a0;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Gen.hxx b/src/SMESH/SMESH_Gen.hxx index 1aa8e9684..a6a04436a 100644 --- a/src/SMESH/SMESH_Gen.hxx +++ b/src/SMESH/SMESH_Gen.hxx @@ -42,11 +42,12 @@ #include "SMESH_3D_Algo.hxx" #include "SMESH_Mesh.hxx" -#include "SMESHDS_Document.hxx" - #include #include +#include + +class SMESHDS_Document; typedef SMESH_Hypothesis::Hypothesis_Status TAlgoStateErrorName; @@ -57,6 +58,8 @@ typedef struct studyContextStruct SMESHDS_Document * myDocument; } StudyContextStruct; +typedef std::set TSetOfInt; + class SMESH_EXPORT SMESH_Gen { public: @@ -66,7 +69,18 @@ class SMESH_EXPORT SMESH_Gen SMESH_Mesh* CreateMesh(int theStudyId, bool theIsEmbeddedMode) throw(SALOME_Exception); - bool Compute(::SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); + /*! + * \brief Computes aMesh on aShape + * \param anUpward - compute from vertices up to more complex shape (internal usage) + * \param aDim - upper level dimension of the mesh computation + * \param aShapesId - list of shapes with computed mesh entities (elements or nodes) + * \retval bool - true if none submesh failed to compute + */ + bool Compute(::SMESH_Mesh & aMesh, + const TopoDS_Shape & aShape, + const bool anUpward=false, + const ::MeshDimension aDim=::MeshDim_3D, + TSetOfInt* aShapesId=0); bool CheckAlgoState(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape); // notify on bad state of attached algos, return false @@ -98,7 +112,7 @@ class SMESH_EXPORT SMESH_Gen static int GetShapeDim(const TopAbs_ShapeEnum & aShapeType); static int GetShapeDim(const TopoDS_Shape & aShape) { return GetShapeDim( aShape.ShapeType() ); } - SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); + SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, TopoDS_Shape* assignedTo=0); static bool IsGlobalHypothesis(const SMESH_Hypothesis* theHyp, SMESH_Mesh& aMesh); // inherited methods from SALOMEDS::Driver