+ /*!
+ * \brief Set geometry to be meshed
+ */
+ void ShapeToMesh(const TopoDS_Shape & aShape);
+ /*!
+ * \brief Return geometry to be meshed. (It may be a PseudoShape()!)
+ */
+ TopoDS_Shape GetShapeToMesh() const;
+ /*!
+ * \brief Return true if there is a geometry to be meshed, not PseudoShape()
+ */
+ bool HasShapeToMesh() const { return _isShapeToMesh; }
+ /*!
+ * \brief Return diagonal size of bounding box of shape to mesh.
+ */
+ double GetShapeDiagonalSize() const;
+ /*!
+ * \brief Return diagonal size of bounding box of a shape.
+ */
+ static double GetShapeDiagonalSize(const TopoDS_Shape & aShape);
+ /*!
+ * \brief Return a solid which is returned by GetShapeToMesh() if
+ * a real geometry to be meshed was not set
+ */
+ static const TopoDS_Solid& PseudoShape();
+
+ /*!
+ * \brief Load mesh from study file
+ */
+ void Load();
+ /*!
+ * \brief Remove all nodes and elements
+ */
+ void Clear();
+ /*!
+ * \brief Remove all nodes and elements of indicated shape
+ */
+ void ClearSubMesh(const int theShapeId);
+
+ /*!
+ * consult DriverMED_R_SMESHDS_Mesh::ReadStatus for returned value
+ */
+ int UNVToMesh(const char* theFileName);
+
+ int MEDToMesh(const char* theFileName, const char* theMeshName);
+
+ int STLToMesh(const char* theFileName);
+
+ int CGNSToMesh(const char* theFileName, const int theMeshIndex, std::string& theMeshName);
+
+ SMESH_ComputeErrorPtr GMFToMesh(const char* theFileName,
+ bool theMakeRequiredGroups = true );
+
+ SMESH_Hypothesis::Hypothesis_Status
+ AddHypothesis(const TopoDS_Shape & aSubShape, int anHypId, std::string* error=0)
+ throw(SALOME_Exception);
+
+ SMESH_Hypothesis::Hypothesis_Status
+ RemoveHypothesis(const TopoDS_Shape & aSubShape, int anHypId)
+ throw(SALOME_Exception);
+
+ const std::list <const SMESHDS_Hypothesis * >&
+ GetHypothesisList(const TopoDS_Shape & aSubShape) const
+ throw(SALOME_Exception);
+
+ const SMESH_Hypothesis * GetHypothesis(const TopoDS_Shape & aSubShape,
+ const SMESH_HypoFilter& aFilter,
+ const bool andAncestors,
+ TopoDS_Shape* assignedTo=0) const;
+
+ int GetHypotheses(const TopoDS_Shape & aSubShape,
+ const SMESH_HypoFilter& aFilter,
+ std::list< const SMESHDS_Hypothesis * >& aHypList,
+ const bool andAncestors,
+ std::list< TopoDS_Shape > * assignedTo=0) const;
+
+ const SMESH_Hypothesis * GetHypothesis(const SMESH_subMesh * aSubMesh,
+ const SMESH_HypoFilter& aFilter,
+ const bool andAncestors,
+ TopoDS_Shape* assignedTo=0) const;
+
+ int GetHypotheses(const SMESH_subMesh * aSubMesh,
+ const SMESH_HypoFilter& aFilter,
+ std::list< const SMESHDS_Hypothesis * >& aHypList,
+ const bool andAncestors,
+ std::list< TopoDS_Shape > * assignedTo=0) const;
+
+ SMESH_Hypothesis * GetHypothesis(const int aHypID) const;
+
+ const std::list<SMESHDS_Command*> & GetLog() throw(SALOME_Exception);
+
+ void ClearLog() throw(SALOME_Exception);
+
+ int GetId() const { return _id; }
+
+ bool MeshExists( int meshId ) const;
+
+ SMESHDS_Mesh * GetMeshDS() { return _myMeshDS; }
+
+ const SMESHDS_Mesh * GetMeshDS() const { return _myMeshDS; }
+
+ SMESH_Gen *GetGen() { return _gen; }
+
+ SMESH_subMesh *GetSubMesh(const TopoDS_Shape & aSubShape)
+ throw(SALOME_Exception);
+
+ SMESH_subMesh *GetSubMeshContaining(const TopoDS_Shape & aSubShape) const
+ throw(SALOME_Exception);
+
+ SMESH_subMesh *GetSubMeshContaining(const int aShapeID) const
+ throw(SALOME_Exception);
+ /*!
+ * \brief Return submeshes of groups containing the given subshape
+ */
+ std::list<SMESH_subMesh*> GetGroupSubMeshesContaining(const TopoDS_Shape & shape) const
+ throw(SALOME_Exception);
+ /*!
+ * \brief Say all submeshes that theChangedHyp has been modified
+ */
+ void NotifySubMeshesHypothesisModification(const SMESH_Hypothesis* theChangedHyp);
+
+ // const std::list < SMESH_subMesh * >&
+ // GetSubMeshUsingHypothesis(SMESHDS_Hypothesis * anHyp) throw(SALOME_Exception);
+ /*!
+ * \brief Return True if anHyp is used to mesh aSubShape
+ */
+ bool IsUsedHypothesis(SMESHDS_Hypothesis * anHyp,
+ const SMESH_subMesh * aSubMesh);
+ /*!
+ * \brief check if a hypothesis alowing notconform mesh is present
+ */
+ bool IsNotConformAllowed() const;
+
+ bool IsMainShape(const TopoDS_Shape& theShape) const;
+ /*!
+ * \brief Return list of ancestors of theSubShape in the order
+ * that lower dimention shapes come first
+ */
+ const TopTools_ListOfShape& GetAncestors(const TopoDS_Shape& theSubShape) const;