27 #ifndef _SMESH_MESH_HXX_ 28 #define _SMESH_MESH_HXX_ 40 #include <TopoDS_Shape.hxx> 41 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx> 49 class TopTools_ListOfShape;
60 bool theIsEmbeddedMode,
68 void ShapeToMesh(
const TopoDS_Shape & aShape);
72 TopoDS_Shape GetShapeToMesh()
const;
80 double GetShapeDiagonalSize()
const;
84 static double GetShapeDiagonalSize(
const TopoDS_Shape & aShape);
89 static const TopoDS_Solid& PseudoShape();
99 void ClearSubMesh(
const int theShapeId);
101 int UNVToMesh(
const char* theFileName);
105 int MEDToMesh(
const char* theFileName,
const char* theMeshName);
107 int STLToMesh(
const char* theFileName);
109 int DATToMesh(
const char* theFileName);
112 AddHypothesis(
const TopoDS_Shape & aSubShape,
int anHypId)
116 RemoveHypothesis(
const TopoDS_Shape & aSubShape,
int anHypId)
119 const std::list <const SMESHDS_Hypothesis * >&
120 GetHypothesisList(
const TopoDS_Shape & aSubShape)
const 125 const bool andAncestors,
126 TopoDS_Shape* assignedTo=0)
const;
128 int GetHypotheses(
const TopoDS_Shape & aSubShape,
130 std::list <const SMESHDS_Hypothesis * >& aHypList,
131 const bool andAncestors)
const;
137 int GetId() {
return _id; }
146 SMESH_subMesh *GetSubMeshContaining(
const TopoDS_Shape & aSubShape)
const 149 SMESH_subMesh *GetSubMeshContaining(
const int aShapeID)
const 154 std::list<SMESH_subMesh*> GetGroupSubMeshesContaining(
const TopoDS_Shape & shape)
const 159 void NotifySubMeshesHypothesisModification(
const SMESH_Hypothesis* theChangedHyp);
161 const std::list < SMESH_subMesh * >&
171 bool IsNotConformAllowed()
const;
173 bool IsMainShape(
const TopoDS_Shape& theShape)
const;
178 const TopTools_ListOfShape& GetAncestors(
const TopoDS_Shape& theSubShape)
const;
193 bool HasDuplicatedGroupNamesMED();
195 void ExportMED(
const char *file,
196 const char* theMeshName = NULL,
197 bool theAutoGroups =
true,
203 void ExportSTL(const
char *file, const
bool isascii) throw(
SALOME_Exception);
233 int NbGroup()
const {
return _mapGroup.size(); }
238 const TopoDS_Shape& theShape=TopoDS_Shape());
243 std::list<int> GetGroupIds()
const;
247 void RemoveGroup (
const int theGroupID);
249 SMESH_Group* ConvertToStandalone (
int theGroupID );
255 ostream& Dump(ostream & save);
SMESH_Mesh(const SMESH_Mesh &)
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
SMESHDS_Document * _myDocument
SMESHDS_Mesh * GetMeshDS()
TopTools_IndexedDataMapOfShapeListOfShape TAncestorMap
Return data map of descendant to ancestor shapes.
double _shapeDiagonal
diagonal size of bounding box of shape to mesh
TopTools_IndexedDataMapOfShapeListOfShape _mapAncestors
std::map< int, SMESH_subMesh * > _mapSubMesh
std::map< int, SMESH_Group * > _mapGroup
bool HasShapeToMesh() const
Return true if there is a geometry to be meshed, not PseudoShape()
boost::shared_ptr< SMDS_Iterator< SMESH_Group * > > GroupIteratorPtr
std::list< SMESH_subMesh * > _subMeshesUsingHypothesisList