class TopTools_ListOfShape;
class SMESH_subMesh;
class SMESH_HypoFilter;
+class TopoDS_Solid;
-//typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
class SMESH_Mesh
{
- SMESH_Mesh();
- SMESH_Mesh(const SMESH_Mesh&);
public:
- SMESH_Mesh(int theLocalId,
- int theStudyId,
- SMESH_Gen* theGen,
- bool theIsEmbeddedMode,
+ SMESH_Mesh(int theLocalId,
+ int theStudyId,
+ SMESH_Gen* theGen,
+ bool theIsEmbeddedMode,
SMESHDS_Document* theDocument);
virtual ~SMESH_Mesh();
+ /*!
+ * \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 a solid which is returned by GetShapeToMesh() if
+ * a real geometry to be meshed was not set
+ */
+ static const TopoDS_Solid& PseudoShape();
+
+
int UNVToMesh(const char* theFileName);
/*!
* consult DriverMED_R_SMESHDS_Mesh::ReadStatus for returned value
void ClearLog() throw(SALOME_Exception);
- int GetId();
+ int GetId() { return _id; }
- SMESHDS_Mesh * GetMeshDS();
+ SMESHDS_Mesh * GetMeshDS() { return _myMeshDS; }
- SMESH_Gen *GetGen();
+ SMESH_Gen *GetGen() { return _gen; }
SMESH_subMesh *GetSubMesh(const TopoDS_Shape & aSubShape)
throw(SALOME_Exception);
void RemoveGroup (const int theGroupID);
- // Propagation hypothesis management
-
- const SMESH_Hypothesis* IsLocal1DHypothesis (const TopoDS_Shape& theEdge);
- // Returns a local 1D hypothesis used for theEdge.
-
- bool IsPropagationHypothesis (const TopoDS_Shape& theEdge);
- // Returns true, if a local Propagation hypothesis is set directly on <theEdge>
-
- bool IsPropagatedHypothesis (const TopoDS_Shape& theEdge,
- TopoDS_Shape& theMainEdge);
- // Returns true, if a local 1D hypothesis is
- // propagated on <theEdge> from some other edge.
- // Returns through <theMainEdge> the edge, from
- // which the 1D hypothesis is propagated on <theEdge>
-
- bool IsReversedInChain (const TopoDS_Shape& theEdge,
- const TopoDS_Shape& theMainEdge);
- // Returns true if theEdge should be reversed to be
- // co-directed with theMainEdge
-
- bool RebuildPropagationChains();
- bool RemovePropagationChain (const TopoDS_Shape& theMainEdge);
- bool BuildPropagationChain (const TopoDS_Shape& theMainEdge);
-
+
SMDSAbs_ElementType GetElementType( const int id, const bool iselem );
//
ostream& Dump(ostream & save);
private:
- // Propagation hypothesis management
- void CleanMeshOnPropagationChain(const TopoDS_Shape& theMainEdge);
- //
-private:
+protected:
int _id; // id given by creator (unique within the creator instance)
int _studyId;
int _idDoc; // id given by SMESHDS_Document
TopTools_IndexedDataMapOfShapeListOfShape _mapAncestors;
- IndexedMapOfChain _mapPropagationChains; // Propagation hypothesis management
+protected:
+ SMESH_Mesh() {};
+ SMESH_Mesh(const SMESH_Mesh&) {};
};
#endif