Version: 8.3.0
SMDS_Mesh Class Reference

#include <SMDS_Mesh.hxx>

Inheritance diagram for SMDS_Mesh:

Public Types

typedef std::vector
< SMDS_MeshNode * > 
SetOfNodes
 
typedef std::vector
< SMDS_MeshCell * > 
SetOfCells
 

Public Member Functions

 SMDS_Mesh ()
 Create a new mesh object. More...
 
SMDS_UnstructuredGridgetGrid ()
 actual nodes coordinates, cells definition and reverse connectivity are stored in a vtkUnstructuredGrid More...
 
int getMeshId ()
 
virtual SMDS_NodeIteratorPtr nodesIterator (bool idInceasingOrder=false) const
 Return an iterator on nodes of the current mesh factory. More...
 
virtual SMDS_EdgeIteratorPtr edgesIterator (bool idInceasingOrder=false) const
 Return an iterator on edges of the current mesh. More...
 
virtual SMDS_FaceIteratorPtr facesIterator (bool idInceasingOrder=false) const
 Return an iterator on faces of the current mesh. More...
 
virtual SMDS_VolumeIteratorPtr volumesIterator (bool idInceasingOrder=false) const
 Return an iterator on volumes of the current mesh. More...
 
virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type=SMDSAbs_All) const
 Return an iterator on elements of the current mesh factory. More...
 
virtual SMDS_ElemIteratorPtr elementGeomIterator (SMDSAbs_GeometryType type) const
 
virtual SMDS_ElemIteratorPtr elementEntityIterator (SMDSAbs_EntityType type) const
 
SMDSAbs_ElementType GetElementType (const int id, const bool iselem) const
 
SMDS_MeshAddSubMesh ()
 Create a submesh and add it to the current mesh. More...
 
virtual SMDS_MeshNodeAddNodeWithID (double x, double y, double z, int ID)
 create a MeshNode and add it to the current Mesh More...
 
virtual SMDS_MeshNodeAddNode (double x, double y, double z)
 create a MeshNode and add it to the current Mesh An ID is automatically assigned to the node. More...
 
virtual SMDS_Mesh0DElementAdd0DElementWithID (int n, int ID)
 create a Mesh0DElement and add it to the current Mesh More...
 
virtual SMDS_Mesh0DElementAdd0DElementWithID (const SMDS_MeshNode *n, int ID)
 Create a new Mesh0DElement and at it to the mesh. More...
 
virtual SMDS_Mesh0DElementAdd0DElement (const SMDS_MeshNode *n)
 create a Mesh0DElement and add it to the current Mesh More...
 
virtual SMDS_BallElementAddBallWithID (int n, double diameter, int ID)
 create a Ball and add it to the current Mesh More...
 
virtual SMDS_BallElementAddBallWithID (const SMDS_MeshNode *n, double diameter, int ID)
 Create a new Ball and at it to the mesh. More...
 
virtual SMDS_BallElementAddBall (const SMDS_MeshNode *n, double diameter)
 create a Ball and add it to the current Mesh More...
 
virtual SMDS_MeshEdgeAddEdgeWithID (int n1, int n2, int ID)
 create a MeshEdge and add it to the current Mesh More...
 
virtual SMDS_MeshEdgeAddEdgeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, int ID)
 Create a new edge and at it to the mesh. More...
 
virtual SMDS_MeshEdgeAddEdge (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
 create a MeshEdge and add it to the current Mesh More...
 
virtual SMDS_MeshEdgeAddEdgeWithID (int n1, int n2, int n12, int ID)
 
virtual SMDS_MeshEdgeAddEdgeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n12, int ID)
 
virtual SMDS_MeshEdgeAddEdge (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n12)
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int ID)
 Add a triangle defined by its nodes IDs. More...
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, int ID)
 Add a triangle defined by its nodes. More...
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
 Add a triangle defined by its nodes. More...
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int n4, int ID)
 Add a quadrangle defined by its nodes IDs. More...
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, int ID)
 Add a quadrangle defined by its nodes. More...
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
 Add a quadrangle defined by its nodes. More...
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, int ID)
 Add a triangle defined by its edges. More...
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3)
 Add a triangle defined by its edges. More...
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, const SMDS_MeshEdge *e4, int ID)
 Add a quadrangle defined by its edges. More...
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, const SMDS_MeshEdge *e4)
 Add a quadrangle defined by its edges. More...
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int n12, int n23, int n31, int ID)
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, int ID)
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31)
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int n12, int n23, int n31, int nCenter, int ID)
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *nCenter, int ID)
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *nCenter)
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int n4, int n12, int n23, int n34, int n41, int ID)
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, int ID)
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41)
 
virtual SMDS_MeshFaceAddFaceWithID (int n1, int n2, int n3, int n4, int n12, int n23, int n34, int n41, int nCenter, int ID)
 
virtual SMDS_MeshFaceAddFaceWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *nCenter, int ID)
 
virtual SMDS_MeshFaceAddFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *nCenter)
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int ID)
 Create a new tetrahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, int ID)
 Create a new tetrahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
 Create a new tetrahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int ID)
 Create a new pyramid and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, int ID)
 Create a new pyramid and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5)
 Create a new pyramid and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int ID)
 Create a new prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, int ID)
 Create a new prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6)
 Create a new prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int ID)
 Create a new hexahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, int ID)
 Create a new hexahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8)
 Create a new hexahedron and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, int ID)
 Create a new tetrahedron defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4)
 Create a new tetrahedron defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, int ID)
 Create a new pyramid defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5)
 Create a new pyramid defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, const SMDS_MeshFace *f6, int ID)
 Create a new prism defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, const SMDS_MeshFace *f6)
 Create a new prism defined by its faces and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int ID)
 Create a new hexagonal prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n9, const SMDS_MeshNode *n10, const SMDS_MeshNode *n11, const SMDS_MeshNode *n12, int ID)
 Create a new hexagonal prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n9, const SMDS_MeshNode *n10, const SMDS_MeshNode *n11, const SMDS_MeshNode *n12)
 Create a new hexagonal prism and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n12, int n23, int n31, int n14, int n24, int n34, int ID)
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n14, const SMDS_MeshNode *n24, const SMDS_MeshNode *n34, int ID)
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n14, const SMDS_MeshNode *n24, const SMDS_MeshNode *n34)
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n12, int n23, int n34, int n41, int n15, int n25, int n35, int n45, int ID)
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n15, const SMDS_MeshNode *n25, const SMDS_MeshNode *n35, const SMDS_MeshNode *n45, int ID)
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n15, const SMDS_MeshNode *n25, const SMDS_MeshNode *n35, const SMDS_MeshNode *n45)
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int n12, int n23, int n31, int n45, int n56, int n64, int n14, int n25, int n36, int ID)
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n45, const SMDS_MeshNode *n56, const SMDS_MeshNode *n64, const SMDS_MeshNode *n14, const SMDS_MeshNode *n25, const SMDS_MeshNode *n36, int ID)
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n45, const SMDS_MeshNode *n56, const SMDS_MeshNode *n64, const SMDS_MeshNode *n14, const SMDS_MeshNode *n25, const SMDS_MeshNode *n36)
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n12, int n23, int n34, int n41, int n56, int n67, int n78, int n85, int n15, int n26, int n37, int n48, int ID)
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48, int ID)
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48)
 
virtual SMDS_MeshVolumeAddVolumeWithID (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n12, int n23, int n34, int n41, int n56, int n67, int n78, int n85, int n15, int n26, int n37, int n48, int n1234, int n1256, int n2367, int n3478, int n1458, int n5678, int nCenter, int ID)
 
virtual SMDS_MeshVolumeAddVolumeWithID (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48, const SMDS_MeshNode *n1234, const SMDS_MeshNode *n1256, const SMDS_MeshNode *n2367, const SMDS_MeshNode *n3478, const SMDS_MeshNode *n1458, const SMDS_MeshNode *n5678, const SMDS_MeshNode *nCenter, int ID)
 
virtual SMDS_MeshVolumeAddVolume (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48, const SMDS_MeshNode *n1234, const SMDS_MeshNode *n1256, const SMDS_MeshNode *n2367, const SMDS_MeshNode *n3478, const SMDS_MeshNode *n1458, const SMDS_MeshNode *n5678, const SMDS_MeshNode *nCenter)
 
virtual SMDS_MeshFaceAddPolygonalFaceWithID (const std::vector< int > &nodes_ids, const int ID)
 Add a polygon defined by its nodes IDs. More...
 
virtual SMDS_MeshFaceAddPolygonalFaceWithID (const std::vector< const SMDS_MeshNode * > &nodes, const int ID)
 Add a polygon defined by its nodes. More...
 
virtual SMDS_MeshFaceAddPolygonalFace (const std::vector< const SMDS_MeshNode * > &nodes)
 Add a polygon defined by its nodes. More...
 
virtual SMDS_MeshFaceAddQuadPolygonalFaceWithID (const std::vector< int > &nodes_ids, const int ID)
 Add a quadratic polygon defined by its nodes IDs. More...
 
virtual SMDS_MeshFaceAddQuadPolygonalFaceWithID (const std::vector< const SMDS_MeshNode * > &nodes, const int ID)
 Add a quadratic polygon defined by its nodes. More...
 
virtual SMDS_MeshFaceAddQuadPolygonalFace (const std::vector< const SMDS_MeshNode * > &nodes)
 Add a quadratic polygon defined by its nodes. More...
 
virtual SMDS_MeshVolumeAddPolyhedralVolumeWithID (const std::vector< int > &nodes_ids, const std::vector< int > &quantities, const int ID)
 Create a new polyhedral volume and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddPolyhedralVolumeWithID (const std::vector< const SMDS_MeshNode * > &nodes, const std::vector< int > &quantities, const int ID)
 Create a new polyhedral volume and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddPolyhedralVolume (const std::vector< const SMDS_MeshNode * > &nodes, const std::vector< int > &quantities)
 Create a new polyhedral volume and add it to the mesh. More...
 
virtual SMDS_MeshVolumeAddVolumeFromVtkIds (const std::vector< vtkIdType > &vtkNodeIds)
 
virtual SMDS_MeshVolumeAddVolumeFromVtkIdsWithID (const std::vector< vtkIdType > &vtkNodeIds, const int ID)
 
virtual SMDS_MeshFaceAddFaceFromVtkIds (const std::vector< vtkIdType > &vtkNodeIds)
 
virtual SMDS_MeshFaceAddFaceFromVtkIdsWithID (const std::vector< vtkIdType > &vtkNodeIds, const int ID)
 
virtual void MoveNode (const SMDS_MeshNode *n, double x, double y, double z)
 
virtual void RemoveElement (const SMDS_MeshElement *elem, std::list< const SMDS_MeshElement * > &removedElems, std::list< const SMDS_MeshElement * > &removedNodes, const bool removenodes=false)
 
virtual void RemoveElement (const SMDS_MeshElement *elem, bool removenodes=false)
 
virtual void RemoveNode (const SMDS_MeshNode *node)
 Remove a node and all the elements which own this node. More...
 
virtual void Remove0DElement (const SMDS_Mesh0DElement *elem0d)
 Remove an edge and all the elements which own this edge. More...
 
virtual void RemoveEdge (const SMDS_MeshEdge *edge)
 Remove an edge and all the elements which own this edge. More...
 
virtual void RemoveFace (const SMDS_MeshFace *face)
 Remove an face and all the elements which own this face. More...
 
virtual void RemoveVolume (const SMDS_MeshVolume *volume)
 Remove a volume. More...
 
virtual void RemoveFreeElement (const SMDS_MeshElement *elem)
 Remove only the given element and only if it is free. More...
 
virtual void Clear ()
 Clear all data. More...
 
virtual bool RemoveFromParent ()
 
virtual bool RemoveSubMesh (const SMDS_Mesh *aMesh)
 
bool ChangeElementNodes (const SMDS_MeshElement *elem, const SMDS_MeshNode *nodes[], const int nbnodes)
 
bool ChangePolyhedronNodes (const SMDS_MeshElement *elem, const std::vector< const SMDS_MeshNode * > &nodes, const std::vector< int > &quantities)
 
virtual void Renumber (const bool isNodes, const int startID=1, const int deltaID=1)
 
virtual void compactMesh ()
 
const SMDS_MeshNodeFindNode (int idnode) const
 Return the node whose SMDS ID is 'ID'. More...
 
const SMDS_MeshNodeFindNodeVtk (int idnode) const
 Return the node whose VTK ID is 'vtkId'. More...
 
const SMDS_Mesh0DElementFind0DElement (int idnode) const
 
const SMDS_BallElementFindBall (int idnode) const
 
const SMDS_MeshEdgeFindEdge (int idnode1, int idnode2) const
 
const SMDS_MeshEdgeFindEdge (int idnode1, int idnode2, int idnode3) const
 
const SMDS_MeshFaceFindFace (int idnode1, int idnode2, int idnode3) const
 
const SMDS_MeshFaceFindFace (int idnode1, int idnode2, int idnode3, int idnode4) const
 
const SMDS_MeshFaceFindFace (int idnode1, int idnode2, int idnode3, int idnode4, int idnode5, int idnode6) const
 
const SMDS_MeshFaceFindFace (int idnode1, int idnode2, int idnode3, int idnode4, int idnode5, int idnode6, int idnode7, int idnode8) const
 
const SMDS_MeshElementFindElement (int IDelem) const
 
const SMDS_MeshFaceFindFace (const std::vector< int > &nodes_ids) const
 
int MaxNodeID () const
 
int MinNodeID () const
 
int MaxElementID () const
 
int MinElementID () const
 
const SMDS_MeshInfoGetMeshInfo () const
 
virtual int NbNodes () const
 Return the number of nodes. More...
 
virtual int NbElements () const
 Return the number of elements. More...
 
virtual int Nb0DElements () const
 Return the number of 0D elements. More...
 
virtual int NbBalls () const
 Return the number of 0D elements. More...
 
virtual int NbEdges () const
 Return the number of edges (including construction edges) More...
 
virtual int NbFaces () const
 Return the number of faces (including construction faces) More...
 
virtual int NbVolumes () const
 Return the number of volumes. More...
 
virtual int NbSubMesh () const
 Return the number of child mesh of this mesh. More...
 
void DumpNodes () const
 
void Dump0DElements () const
 
void DumpEdges () const
 
void DumpFaces () const
 
void DumpVolumes () const
 
void DebugStats () const
 
virtual ~SMDS_Mesh ()
 Destroy the mesh and all its elements All pointer on elements owned by this mesh become illegals. More...
 
bool hasConstructionEdges ()
 Return true if this mesh create faces with edges. More...
 
bool hasConstructionFaces ()
 Return true if this mesh create volumes with faces A false returned value mean that volumes are created with nodes or edges. More...
 
bool hasInverseElements ()
 Return true if nodes are linked to the finit elements, they are belonging to. More...
 
void setConstructionEdges (bool)
 Make this mesh creating construction edges (see hasConstructionEdges) More...
 
void setConstructionFaces (bool)
 Make this mesh creating construction faces (see hasConstructionFaces) More...
 
void setInverseElements (bool)
 Make this mesh creating link from nodes to elements (see hasInverseElements) More...
 
bool Contains (const SMDS_MeshElement *elem) const
 Checks if the element is present in mesh. More...
 
double getMaxDim ()
 
int fromVtkToSmds (int vtkid)
 
void dumpGrid (std::string ficdump="dumpGrid")
 
void setMyModified ()
 low level modification: add, change or remove node or element More...
 
void Modified ()
 modification that needs compact structure and redraw More...
 
vtkMTimeType GetMTime () const
 get last modification timeStamp More...
 
bool isCompacted ()
 

Static Public Member Functions

static const SMDS_Mesh0DElementFind0DElement (const SMDS_MeshNode *n)
 
static const SMDS_BallElementFindBall (const SMDS_MeshNode *n)
 
static const SMDS_MeshEdgeFindEdge (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
 
static const SMDS_MeshEdgeFindEdge (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
 
static const SMDS_MeshFaceFindFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
 
static const SMDS_MeshFaceFindFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
 
static const SMDS_MeshFaceFindFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6)
 
static const SMDS_MeshFaceFindFace (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8)
 
static const SMDS_MeshFaceFindFace (const std::vector< const SMDS_MeshNode * > &nodes)
 
static const SMDS_MeshElementFindElement (const std::vector< const SMDS_MeshNode * > &nodes, const SMDSAbs_ElementType type=SMDSAbs_All, const bool noMedium=true)
 Return element based on all given nodes. More...
 
static int CheckMemory (const bool doNotRaise=false) throw (std::bad_alloc)
 Raise an exception if free memory (ram+swap) too low. More...
 

Static Public Attributes

static std::vector< SMDS_Mesh * > _meshList = vector<SMDS_Mesh*>()
 to retrieve this SMDS_Mesh instance from its elements (index stored in SMDS_Elements) More...
 
static int chunkSize = 1024
 

Protected Member Functions

 SMDS_Mesh (SMDS_Mesh *parent)
 Create a new child mesh Note that the tree structure of SMDS_Mesh seems to be unused in this version (2003-09-08) of SMESH. More...
 
SMDS_MeshFacecreateTriangle (const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3, int ID)
 Create a triangle and add it to the current mesh. More...
 
SMDS_MeshFacecreateQuadrangle (const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3, const SMDS_MeshNode *node4, int ID)
 Create a quadrangle and add it to the current mesh. More...
 
SMDS_MeshEdgeFindEdgeOrCreate (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
 
SMDS_MeshFaceFindFaceOrCreate (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
 
SMDS_MeshFaceFindFaceOrCreate (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
 
bool registerElement (int ID, SMDS_MeshElement *element)
 Registers element with the given ID, maintains inverse connections. More...
 
void addChildrenWithNodes (std::set< const SMDS_MeshElement * > &setOfChildren, const SMDS_MeshElement *element, std::set< const SMDS_MeshElement * > &nodes)
 Find the children of an element that are made of given nodes. More...
 
void adjustmyCellsCapacity (int ID)
 
void adjustBoundingBox (double x, double y, double z)
 

Protected Attributes

int myMeshId
 index of this SMDS_mesh in the static vector<SMDS_Mesh*> _meshList More...
 
SMDS_UnstructuredGridmyGrid
 actual nodes coordinates, cells definition and reverse connectivity are stored in a vtkUnstructuredGrid More...
 
ObjectPool< SMDS_MeshNode > * myNodePool
 Small objects like SMDS_MeshNode are allocated by chunks to limit memory costs of new. More...
 
ObjectPool< SMDS_VtkVolume > * myVolumePool
 Small objects like SMDS_VtkVolume are allocated by chunks to limit memory costs of new. More...
 
ObjectPool< SMDS_VtkFace > * myFacePool
 
ObjectPool< SMDS_VtkEdge > * myEdgePool
 
ObjectPool< SMDS_BallElement > * myBallPool
 
SetOfNodes myNodes
 SMDS_MeshNodes refer to vtk nodes (vtk id != index in myNodes),store reference to this mesh, and sub-shape. More...
 
SetOfCells myCells
 
std::vector< vtkIdType > myNodeIds
 a buffer to speed up elements addition by excluding some memory allocation More...
 
std::vector< intmyCellIdVtkToSmds
 for cells only: index = ID in vtkUnstructuredGrid, value = ID for SMDS users More...
 
SMDS_MeshmyParent
 
std::list< SMDS_Mesh * > myChildren
 
SMDS_MeshNodeIDFactorymyNodeIDFactory
 
SMDS_MeshElementIDFactorymyElementIDFactory
 
SMDS_MeshInfo myInfo
 
bool myModified
 any add, remove or change of node or cell More...
 
unsigned long myModifTime
 use a counter to keep track of modifications More...
 
unsigned long myCompactTime
 
bool myHasConstructionEdges
 
bool myHasConstructionFaces
 
bool myHasInverseElements
 
double xmin
 
double xmax
 
double ymin
 
double ymax
 
double zmin
 
double zmax
 

Friends

class SMDS_MeshIDFactory
 
class SMDS_MeshNodeIDFactory
 
class SMDS_MeshElementIDFactory
 
class SMDS_MeshVolumeVtkNodes
 
class SMDS_MeshNode
 

Member Typedef Documentation

typedef std::vector<SMDS_MeshCell *> SMDS_Mesh::SetOfCells
typedef std::vector<SMDS_MeshNode *> SMDS_Mesh::SetOfNodes

Constructor & Destructor Documentation

SMDS_Mesh::SMDS_Mesh ( SMDS_Mesh parent)
protected

Create a new child mesh Note that the tree structure of SMDS_Mesh seems to be unused in this version (2003-09-08) of SMESH.

Member Function Documentation

SMDS_Mesh0DElement * SMDS_Mesh::Add0DElement ( const SMDS_MeshNode node)
virtual

create a Mesh0DElement and add it to the current Mesh

Returns
: The created Mesh0DElement

Reimplemented in SMESHDS_Mesh.

References Add0DElementWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::Add0DElement().

SMDS_Mesh0DElement * SMDS_Mesh::Add0DElementWithID ( int  idnode,
int  ID 
)
virtual

create a Mesh0DElement and add it to the current Mesh

Returns
: The created Mesh0DElement

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by Add0DElement(), and SMESHDS_Mesh::Add0DElementWithID().

SMDS_Mesh0DElement * SMDS_Mesh::Add0DElementWithID ( const SMDS_MeshNode n,
int  ID 
)
virtual

Create a new Mesh0DElement and at it to the mesh.

Parameters
idnodeID of the node
IDID of the 0D element to create
Returns
The created 0D element or NULL if an element with this ID already exists or if input node is not found.

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), SMDS_MeshElementIDFactory::BindID(), CheckMemory(), CHECKMEMORY_INTERVAL, myCells, myElementIDFactory, myInfo, SMDS_MeshInfo::myNb0DElements, and Nb0DElements().

SMDS_BallElement * SMDS_Mesh::AddBall ( const SMDS_MeshNode node,
double  diameter 
)
virtual

create a Ball and add it to the current Mesh

Returns
: The created Ball

Reimplemented in SMESHDS_Mesh.

References AddBallWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::AddBall().

SMDS_BallElement * SMDS_Mesh::AddBallWithID ( int  idnode,
double  diameter,
int  ID 
)
virtual

create a Ball and add it to the current Mesh

Returns
: The created Ball

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddBall(), and SMESHDS_Mesh::AddBallWithID().

SMDS_BallElement * SMDS_Mesh::AddBallWithID ( const SMDS_MeshNode n,
double  diameter,
int  ID 
)
virtual

Create a new Ball and at it to the mesh.

Parameters
idnodeID of the node
IDID of the 0D element to create
Returns
The created 0D element or NULL if an element with this ID already exists or if input node is not found.

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, ObjectPool< X >::destroy(), ObjectPool< X >::getNew(), SMDS_MeshElement::getVtkId(), SMDS_BallElement::init(), myBallPool, myCells, myGrid, myInfo, SMDS_MeshInfo::myNbBalls, NbBalls(), and registerElement().

void SMDS_Mesh::addChildrenWithNodes ( std::set< const SMDS_MeshElement * > &  setOfChildren,
const SMDS_MeshElement element,
std::set< const SMDS_MeshElement * > &  nodes 
)
protected

Find the children of an element that are made of given nodes.

Parameters
setOfChildrenThe set in which matching children will be inserted
elementThe element were to search matching children
nodesThe nodes that the children must have to be selected

References SMDS_MeshElement::edgesIterator(), SMDS_MeshElement::facesIterator(), SMDS_MeshElement::GetType(), hasConstructionEdges(), hasConstructionFaces(), MESSAGE, SMDS_MeshElement::nodesIterator(), SMDSAbs_0DElement, SMDSAbs_All, SMDSAbs_Ball, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_NbElementTypes, SMDSAbs_Node, and SMDSAbs_Volume.

Referenced by RemoveElement().

SMDS_MeshEdge * SMDS_Mesh::AddEdge ( const SMDS_MeshNode node1,
const SMDS_MeshNode node2 
)
virtual

create a MeshEdge and add it to the current Mesh

Returns
: The created MeshEdge

Reimplemented in SMESHDS_Mesh.

References AddEdgeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::AddEdge().

SMDS_MeshEdge * SMDS_Mesh::AddEdge ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n12 
)
virtual
SMDS_MeshEdge * SMDS_Mesh::AddEdgeWithID ( int  idnode1,
int  idnode2,
int  ID 
)
virtual

create a MeshEdge and add it to the current Mesh

Returns
: The created MeshEdge

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddEdge(), SMESHDS_Mesh::AddEdgeWithID(), AddEdgeWithID(), and SMESHGUI_SewingDlg::BorderGroupDisplayer::Update().

SMDS_MeshEdge * SMDS_Mesh::AddEdgeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
int  ID 
)
virtual

Create a new edge and at it to the mesh.

Parameters
idnode1ID of the first node
idnode2ID of the second node
IDID of the edge to create
Returns
The created edge or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), ObjectPool< X >::destroy(), ObjectPool< X >::getNew(), SMDS_MeshElement::getVtkId(), SMDS_VtkEdge::init(), myCells, myEdgePool, myGrid, myInfo, SMDS_MeshInfo::myNbEdges, and registerElement().

SMDS_MeshEdge * SMDS_Mesh::AddEdgeWithID ( int  n1,
int  n2,
int  n12,
int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3 
)
virtual

Add a triangle defined by its nodes.

An ID is automatically affected to the Created face

Reimplemented in SMESHDS_Mesh.

References AddFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::AddFace(), DriverSTL_R_SMDS_Mesh::readAscii(), and DriverSTL_R_SMDS_Mesh::readBinary().

SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4 
)
virtual

Add a quadrangle defined by its nodes.

An ID is automatically affected to the created face

Reimplemented in SMESHDS_Mesh.

References AddFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshEdge e1,
const SMDS_MeshEdge e2,
const SMDS_MeshEdge e3 
)
virtual

Add a triangle defined by its edges.

An ID is automatically assigned to the Created face

References AddFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionEdges(), and myElementIDFactory.

SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshEdge e1,
const SMDS_MeshEdge e2,
const SMDS_MeshEdge e3,
const SMDS_MeshEdge e4 
)
virtual

Add a quadrangle defined by its edges.

An ID is automatically assigned to the Created face

References AddFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionEdges(), and myElementIDFactory.

SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode nCenter 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode nCenter 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  ID 
)
virtual

Add a triangle defined by its nodes IDs.

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddFace(), SMESHDS_Mesh::AddFaceWithID(), and AddFaceWithID().

SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
int  ID 
)
virtual

Add a triangle defined by its nodes.

Reimplemented in SMESHDS_Mesh.

References createTriangle().

SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  ID 
)
virtual

Add a quadrangle defined by its nodes IDs.

Reimplemented in SMESHDS_Mesh.

References AddFaceWithID(), SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
int  ID 
)
virtual

Add a quadrangle defined by its nodes.

Reimplemented in SMESHDS_Mesh.

References createQuadrangle().

SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( const SMDS_MeshEdge e1,
const SMDS_MeshEdge e2,
const SMDS_MeshEdge e3,
const SMDS_MeshEdge e4,
int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  n12,
int  n23,
int  n31,
int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  n12,
int  n23,
int  n31,
int  nCenter,
int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n12,
int  n23,
int  n34,
int  n41,
int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddFaceWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n12,
int  n23,
int  n34,
int  n41,
int  nCenter,
int  ID 
)
virtual
SMDS_MeshNode * SMDS_Mesh::AddNode ( double  x,
double  y,
double  z 
)
virtual

create a MeshNode and add it to the current Mesh An ID is automatically assigned to the node.

Returns
: The created node

Reimplemented in SMESHDS_Mesh.

References AddNodeWithID(), SMDS_MeshNodeIDFactory::GetFreeID(), and myNodeIDFactory.

Referenced by SMESHDS_Mesh::AddNode(), addNode(), SMDS_UnstructuredGrid::extrudeVolumeFromFace(), and SMESHGUI_SewingDlg::BorderGroupDisplayer::Update().

SMDS_MeshNode * SMDS_Mesh::AddNodeWithID ( double  x,
double  y,
double  z,
int  ID 
)
virtual

create a MeshNode and add it to the current Mesh

Parameters
ID: The ID of the MeshNode to create
Returns
: The created node or NULL if a node with this ID already exists

Reimplemented in SMESHDS_Mesh.

References adjustBoundingBox(), SMDS_MeshIDFactory::adjustMaxId(), SMDS_MeshNodeIDFactory::BindID(), chunkSize, SMDS_MeshNodeIDFactory::GetFreeID(), ObjectPool< X >::getNew(), SMDS_MeshNode::init(), SMDS_MeshNodeIDFactory::MeshElement(), MESSAGE, myInfo, myMeshId, myModified, SMDS_MeshInfo::myNbNodes, myNodeIDFactory, myNodePool, and myNodes.

Referenced by AddNode(), and SMESHDS_Mesh::AddNodeWithID().

SMDS_MeshFace * SMDS_Mesh::AddPolygonalFace ( const std::vector< const SMDS_MeshNode * > &  nodes)
virtual

Add a polygon defined by its nodes.

An ID is automatically affected to the created face.

Reimplemented in SMESHDS_Mesh.

References AddPolygonalFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::AddPolygonalFace().

SMDS_MeshFace * SMDS_Mesh::AddPolygonalFaceWithID ( const std::vector< int > &  nodes_ids,
const int  ID 
)
virtual

Add a polygon defined by its nodes IDs.

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddPolygonalFace(), and SMESHDS_Mesh::AddPolygonalFaceWithID().

SMDS_MeshVolume * SMDS_Mesh::AddPolyhedralVolume ( const std::vector< const SMDS_MeshNode * > &  nodes,
const std::vector< int > &  quantities 
)
virtual

Create a new polyhedral volume and add it to the mesh.

Returns
The created volume

Reimplemented in SMESHDS_Mesh.

References AddPolyhedralVolumeWithID().

Referenced by SMESHDS_Mesh::AddPolyhedralVolume().

SMDS_MeshVolume * SMDS_Mesh::AddPolyhedralVolumeWithID ( const std::vector< int > &  nodes_ids,
const std::vector< int > &  quantities,
const int  ID 
)
virtual

Create a new polyhedral volume and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created volume or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

Referenced by AddPolyhedralVolume(), and SMESHDS_Mesh::AddPolyhedralVolumeWithID().

SMDS_MeshVolume * SMDS_Mesh::AddPolyhedralVolumeWithID ( const std::vector< const SMDS_MeshNode * > &  nodes,
const std::vector< int > &  quantities,
const int  ID 
)
virtual
SMDS_MeshFace * SMDS_Mesh::AddQuadPolygonalFace ( const std::vector< const SMDS_MeshNode * > &  nodes)
virtual

Add a quadratic polygon defined by its nodes.

An ID is automatically affected to the created face.

Reimplemented in SMESHDS_Mesh.

References AddQuadPolygonalFaceWithID(), SMDS_MeshElementIDFactory::GetFreeID(), and myElementIDFactory.

Referenced by SMESHDS_Mesh::AddQuadPolygonalFace().

SMDS_MeshFace * SMDS_Mesh::AddQuadPolygonalFaceWithID ( const std::vector< int > &  nodes_ids,
const int  ID 
)
virtual

Add a quadratic polygon defined by its nodes IDs.

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddQuadPolygonalFace(), and SMESHDS_Mesh::AddQuadPolygonalFaceWithID().

SMDS_MeshFace * SMDS_Mesh::AddQuadPolygonalFaceWithID ( const std::vector< const SMDS_MeshNode * > &  nodes,
const int  ID 
)
virtual
SMDS_Mesh * SMDS_Mesh::AddSubMesh ( )

Create a submesh and add it to the current mesh.

References myChildren, and SMDS_Mesh().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4 
)
virtual

Create a new tetrahedron and add it to the mesh.

Returns
The created tetrahedron

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), myElementIDFactory, and SMDS_MeshElementIDFactory::ReleaseID().

Referenced by SMESHDS_Mesh::AddVolume().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5 
)
virtual

Create a new pyramid and add it to the mesh.

Nodes 1,2,3 and 4 define the base of the pyramid

Returns
The created pyramid

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), myElementIDFactory, and SMDS_MeshElementIDFactory::ReleaseID().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6 
)
virtual

Create a new prism and add it to the mesh.

Nodes 1,2,3 is a triangle and 1,2,5,4 a quadrangle.

Returns
The created prism

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), myElementIDFactory, and SMDS_MeshElementIDFactory::ReleaseID().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8 
)
virtual

Create a new hexahedron and add it to the mesh.

Nodes 1,2,3,4 and 5,6,7,8 are quadrangle and 5,1 and 7,3 are an edges.

Returns
The created hexahedron

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), myElementIDFactory, and SMDS_MeshElementIDFactory::ReleaseID().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4 
)
virtual

Create a new tetrahedron defined by its faces and add it to the mesh.

Returns
The created tetrahedron

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), and myElementIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4,
const SMDS_MeshFace f5 
)
virtual

Create a new pyramid defined by its faces and add it to the mesh.

Returns
The created pyramid

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), and myElementIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4,
const SMDS_MeshFace f5,
const SMDS_MeshFace f6 
)
virtual

Create a new prism defined by its faces and add it to the mesh.

Returns
The created prism

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), and myElementIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n9,
const SMDS_MeshNode n10,
const SMDS_MeshNode n11,
const SMDS_MeshNode n12 
)
virtual

Create a new hexagonal prism and add it to the mesh.

Returns
The created prism

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshElementIDFactory::GetFreeID(), myElementIDFactory, and SMDS_MeshElementIDFactory::ReleaseID().

SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n14,
const SMDS_MeshNode n24,
const SMDS_MeshNode n34 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n15,
const SMDS_MeshNode n25,
const SMDS_MeshNode n35,
const SMDS_MeshNode n45 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n45,
const SMDS_MeshNode n56,
const SMDS_MeshNode n64,
const SMDS_MeshNode n14,
const SMDS_MeshNode n25,
const SMDS_MeshNode n36 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n56,
const SMDS_MeshNode n67,
const SMDS_MeshNode n78,
const SMDS_MeshNode n85,
const SMDS_MeshNode n15,
const SMDS_MeshNode n26,
const SMDS_MeshNode n37,
const SMDS_MeshNode n48 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolume ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n56,
const SMDS_MeshNode n67,
const SMDS_MeshNode n78,
const SMDS_MeshNode n85,
const SMDS_MeshNode n15,
const SMDS_MeshNode n26,
const SMDS_MeshNode n37,
const SMDS_MeshNode n48,
const SMDS_MeshNode n1234,
const SMDS_MeshNode n1256,
const SMDS_MeshNode n2367,
const SMDS_MeshNode n3478,
const SMDS_MeshNode n1458,
const SMDS_MeshNode n5678,
const SMDS_MeshNode nCenter 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  ID 
)
virtual

Create a new tetrahedron and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created tetrahedron or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

Referenced by AddVolume(), SMESHDS_Mesh::AddVolumeWithID(), and AddVolumeWithID().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  ID 
)
virtual

Create a new pyramid and add it to the mesh.

Nodes 1,2,3 and 4 define the base of the pyramid

Parameters
IDThe ID of the new volume
Returns
The created pyramid or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
int  ID 
)
virtual

Create a new pyramid and add it to the mesh.

Nodes 1,2,3 and 4 define the base of the pyramid

Parameters
IDThe ID of the new volume
Returns
The created pyramid

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, ObjectPool< X >::destroy(), FindFaceOrCreate(), ObjectPool< X >::getNew(), SMDS_MeshElement::getVtkId(), hasConstructionEdges(), hasConstructionFaces(), SMDS_VtkVolume::init(), myCells, myGrid, myInfo, SMDS_MeshInfo::myNbPyramids, myNodeIds, myVolumePool, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  idnode6,
int  ID 
)
virtual

Create a new prism and add it to the mesh.

Nodes 1,2,3 is a triangle and 1,2,5,4 a quadrangle.

Parameters
IDThe ID of the new volume
Returns
The created prism or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
int  ID 
)
virtual

Create a new prism and add it to the mesh.

Nodes 1,2,3 is a triangle and 1,2,5,4 a quadrangle.

Parameters
IDThe ID of the new volume
Returns
The created prism

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, ObjectPool< X >::destroy(), FindFaceOrCreate(), ObjectPool< X >::getNew(), SMDS_MeshElement::getVtkId(), hasConstructionEdges(), hasConstructionFaces(), SMDS_VtkVolume::init(), myCells, myGrid, myInfo, SMDS_MeshInfo::myNbPrisms, myNodeIds, myVolumePool, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  idnode6,
int  idnode7,
int  idnode8,
int  ID 
)
virtual

Create a new hexahedron and add it to the mesh.

Nodes 1,2,3,4 and 5,6,7,8 are quadrangle and 5,1 and 7,3 are an edges.

Parameters
IDThe ID of the new volume
Returns
The created hexahedron or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
int  ID 
)
virtual

Create a new hexahedron and add it to the mesh.

Nodes 1,2,3,4 and 5,6,7,8 are quadrangle and 5,1 and 7,3 are an edges.

Parameters
IDThe ID of the new volume
Returns
The created prism or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, ObjectPool< X >::destroy(), FindFaceOrCreate(), ObjectPool< X >::getNew(), SMDS_MeshElement::getVtkId(), hasConstructionEdges(), hasConstructionFaces(), SMDS_VtkVolume::init(), myCells, myGrid, myInfo, SMDS_MeshInfo::myNbHexas, myNodeIds, myVolumePool, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4,
int  ID 
)
virtual

Create a new tetrahedron defined by its faces and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created tetrahedron

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), myCells, myElementIDFactory, myInfo, SMDS_MeshInfo::myNbTetras, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4,
const SMDS_MeshFace f5,
int  ID 
)
virtual

Create a new pyramid defined by its faces and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created pyramid

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), myCells, myElementIDFactory, myInfo, SMDS_MeshInfo::myNbPyramids, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshFace f1,
const SMDS_MeshFace f2,
const SMDS_MeshFace f3,
const SMDS_MeshFace f4,
const SMDS_MeshFace f5,
const SMDS_MeshFace f6,
int  ID 
)
virtual

Create a new prism defined by its faces and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created prism

References adjustmyCellsCapacity(), CheckMemory(), CHECKMEMORY_INTERVAL, SMDS_MeshElementIDFactory::GetFreeID(), hasConstructionFaces(), myCells, myElementIDFactory, myInfo, SMDS_MeshInfo::myNbPrisms, NbVolumes(), and registerElement().

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  idnode6,
int  idnode7,
int  idnode8,
int  idnode9,
int  idnode10,
int  idnode11,
int  idnode12,
int  ID 
)
virtual

Create a new hexagonal prism and add it to the mesh.

Parameters
IDThe ID of the new volume
Returns
The created prism or NULL if an element with this ID already exists or if input nodes are not found.

Reimplemented in SMESHDS_Mesh.

References AddVolumeWithID(), SMDS_MeshNodeIDFactory::MeshElement(), and myNodeIDFactory.

SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n9,
const SMDS_MeshNode n10,
const SMDS_MeshNode n11,
const SMDS_MeshNode n12,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n12,
int  n23,
int  n31,
int  n14,
int  n24,
int  n34,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n14,
const SMDS_MeshNode n24,
const SMDS_MeshNode n34,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n5,
int  n12,
int  n23,
int  n34,
int  n41,
int  n15,
int  n25,
int  n35,
int  n45,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n15,
const SMDS_MeshNode n25,
const SMDS_MeshNode n35,
const SMDS_MeshNode n45,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n5,
int  n6,
int  n12,
int  n23,
int  n31,
int  n45,
int  n56,
int  n64,
int  n14,
int  n25,
int  n36,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n45,
const SMDS_MeshNode n56,
const SMDS_MeshNode n64,
const SMDS_MeshNode n14,
const SMDS_MeshNode n25,
const SMDS_MeshNode n36,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n5,
int  n6,
int  n7,
int  n8,
int  n12,
int  n23,
int  n34,
int  n41,
int  n56,
int  n67,
int  n78,
int  n85,
int  n15,
int  n26,
int  n37,
int  n48,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n56,
const SMDS_MeshNode n67,
const SMDS_MeshNode n78,
const SMDS_MeshNode n85,
const SMDS_MeshNode n15,
const SMDS_MeshNode n26,
const SMDS_MeshNode n37,
const SMDS_MeshNode n48,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( int  n1,
int  n2,
int  n3,
int  n4,
int  n5,
int  n6,
int  n7,
int  n8,
int  n12,
int  n23,
int  n34,
int  n41,
int  n56,
int  n67,
int  n78,
int  n85,
int  n15,
int  n26,
int  n37,
int  n48,
int  n1234,
int  n1256,
int  n2367,
int  n3478,
int  n1458,
int  n5678,
int  nCenter,
int  ID 
)
virtual
SMDS_MeshVolume * SMDS_Mesh::AddVolumeWithID ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n56,
const SMDS_MeshNode n67,
const SMDS_MeshNode n78,
const SMDS_MeshNode n85,
const SMDS_MeshNode n15,
const SMDS_MeshNode n26,
const SMDS_MeshNode n37,
const SMDS_MeshNode n48,
const SMDS_MeshNode n1234,
const SMDS_MeshNode n1256,
const SMDS_MeshNode n2367,
const SMDS_MeshNode n3478,
const SMDS_MeshNode n1458,
const SMDS_MeshNode n5678,
const SMDS_MeshNode nCenter,
int  ID 
)
virtual
void SMDS_Mesh::adjustBoundingBox ( double  x,
double  y,
double  z 
)
protected
bool SMDS_Mesh::ChangePolyhedronNodes ( const SMDS_MeshElement elem,
const std::vector< const SMDS_MeshNode * > &  nodes,
const std::vector< int > &  quantities 
)
int SMDS_Mesh::CheckMemory ( const bool  doNotRaise = false) throw (std::bad_alloc)
static

Raise an exception if free memory (ram+swap) too low.

Parameters
doNotRaise- if true, suppres exception, just return free memory size
Return values
int- amount of available memory in MB or negative number in failure case

References MESSAGE.

Referenced by Add0DElementWithID(), AddBallWithID(), AddFaceWithID(), AddPolygonalFaceWithID(), AddPolyhedralVolumeWithID(), AddQuadPolygonalFaceWithID(), AddVolumeWithID(), SMESH_VisualObjDef::buildElemPrs(), SMESH_VisualObjDef::buildNodePrs(), SMESHGUI_BaseComputeOp::computeMesh(), SMESH_subMesh::ComputeStateEngine(), createQuadrangle(), createTriangle(), FindEdgeOrCreate(), and SMESH::GetVisualObj().

void SMDS_Mesh::compactMesh ( )
virtual

Reimplemented in SMESHDS_Mesh.

References myCompactTime, and myModifTime.

Referenced by SMESHDS_Mesh::compactMesh().

bool SMDS_Mesh::Contains ( const SMDS_MeshElement elem) const

Checks if the element is present in mesh.

Useful to determine dead pointers. Use this function for debug purpose only! Do not check in the code using it even in DEBUG mode

Useful to determine dead pointers.

References elementsIterator(), and nodesIterator().

SMDS_MeshFace * SMDS_Mesh::createQuadrangle ( const SMDS_MeshNode node1,
const SMDS_MeshNode node2,
const SMDS_MeshNode node3,
const SMDS_MeshNode node4,
int  ID 
)
protected
SMDS_MeshFace * SMDS_Mesh::createTriangle ( const SMDS_MeshNode node1,
const SMDS_MeshNode node2,
const SMDS_MeshNode node3,
int  ID 
)
protected
void SMDS_Mesh::Dump0DElements ( ) const
void SMDS_Mesh::DumpEdges ( ) const

References edgesIterator().

void SMDS_Mesh::DumpFaces ( ) const

References facesIterator().

void SMDS_Mesh::dumpGrid ( std::string  ficdump = "dumpGrid")
void SMDS_Mesh::DumpNodes ( ) const

References nodesIterator().

void SMDS_Mesh::DumpVolumes ( ) const

References volumesIterator().

SMDS_EdgeIteratorPtr SMDS_Mesh::edgesIterator ( bool  idInceasingOrder = false) const
virtual

Return an iterator on edges of the current mesh.

Reimplemented in SMESH_MeshPartDS.

References myCells, and SMDSAbs_Edge.

Referenced by SMESH_MeshEditor::ConvertToQuadratic(), DumpEdges(), and SMESH_MeshObj::GetEntities().

SMDS_ElemIteratorPtr SMDS_Mesh::elementsIterator ( SMDSAbs_ElementType  type = SMDSAbs_All) const
virtual
const SMDS_Mesh0DElement * SMDS_Mesh::Find0DElement ( int  idnode) const

References FindNode().

const SMDS_Mesh0DElement * SMDS_Mesh::Find0DElement ( const SMDS_MeshNode n)
static
const SMDS_BallElement * SMDS_Mesh::FindBall ( int  idnode) const

References FindNode().

const SMDS_MeshEdge * SMDS_Mesh::FindEdge ( int  idnode1,
int  idnode2,
int  idnode3 
) const

References FindEdge(), and FindNode().

const SMDS_MeshElement * SMDS_Mesh::FindElement ( int  IDelem) const

References myCells.

Referenced by SMESH_Gen_i::_GetInside(), MeshEditor_I::arrayToSet(), SMESH_Mesh_i::BaryCenter(), SMESHGUI_CreatePolyhedralVolumeDlg::checkEditLine(), StdMeshers_Import_1D2D::Compute(), SMESH_Gen_i::CopyMesh(), SMESH_MeshEditor::CreateHoleSkin(), SMESHGUI_CuttingOfQuadsDlg::displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::DoubleNodes(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), SMESH_Mesh_i::ElemNbEdges(), SMESH_Mesh_i::ElemNbFaces(), enlargeBoundingBox(), FindFace(), SMESH_Gen_i::FindGeometryByMeshElement(), SMESHGUI_MergeDlg::FindGravityCenter(), SMESHDS_GroupBase::findInMesh(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESHGUI_PreVisualObj::GetEdgeNodes(), SMESH_VisualObjDef::GetEdgeNodes(), SMESHGUI_PreVisualObj::GetElemDimension(), SMESH_MeshObj::GetElemDimension(), SMESH_Mesh_i::GetElementPosition(), SMESH_Mesh_i::GetElemNbNodes(), SMESH_Mesh_i::GetElemNode(), SMESHGUI_PreVisualObj::GetElemVTKId(), getNodesFromElems(), getPointers(), SMESH::Controls::NumericalFunctor::GetPoints(), SMESH_Mesh_i::GetShapeIDForElem(), SMESH::Controls::NumericalFunctor::GetValue(), SMESH::Controls::Volume::GetValue(), SMESH::Controls::MaxElementLength3D::GetValue(), SMESH::Controls::AspectRatio::GetValue(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH::Controls::MultiConnection2D::GetValue(), SMESH::Controls::BallDiameter::GetValue(), MeshEditor_I::idSourceToNodeSet(), StdMeshers_Import_1D::importMesh(), SMESH_Mesh_i::IsMediumNode(), SMESHGUI_PredicateFilter::IsObjValid(), SMESHGUI_QuadrangleFilter::IsObjValid(), SMESHGUI_TriangleFilter::IsObjValid(), SMESHGUI_FacesFilter::IsObjValid(), SMESHGUI_VolumesFilter::IsObjValid(), SMESHGUI_VolumeShapeFilter::IsObjValid(), SMESH_Mesh_i::IsPoly(), SMESH_Mesh_i::IsQuadratic(), SMESH::Controls::CoincidentElements::IsSatisfy(), SMESH::Controls::BadOrientedVolume::IsSatisfy(), SMESH::Controls::ElemEntityType::IsSatisfy(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH::Controls::BareBorderFace::IsSatisfy(), SMESH::Controls::OverConstrainedVolume::IsSatisfy(), SMESH::Controls::OverConstrainedFace::IsSatisfy(), SMESH::Controls::FreeEdges::IsSatisfy(), SMESH::Controls::RangeOfIds::IsSatisfy(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::FreeFaces::IsSatisfy(), SMESH::Controls::LinearOrQuadratic::IsSatisfy(), SMESH::Controls::ElemGeomType::IsSatisfy(), SMESHGUI_PredicateFilter::IsValid(), SMESHGUI_QuadrangleFilter::IsValid(), SMESHGUI_TriangleFilter::IsValid(), SMESHGUI_FacesFilter::IsValid(), SMESHGUI_VolumesFilter::IsValid(), SMESHGUI_VolumeShapeFilter::IsValid(), SMESH::SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MergeElements(), SMDS_MeshElementIDFactory::MeshElement(), SMDS_MeshNode::NbInverseElements(), SMDS_MeshNode_MyInvIterator::next(), SMESHGUI_3TypesSelector::onTextChange(), SMESHGUI_CopyMeshDlg::onTextChange(), SMESHGUI_SmoothingDlg::onTextChange(), SMESHGUI_CreatePolyhedralVolumeDlg::onTextChange(), SMESHGUI_ScaleDlg::onTextChange(), SMESHGUI_TranslationDlg::onTextChange(), SMESHGUI_RotationDlg::onTextChange(), SMESHGUI_SymmetryDlg::onTextChange(), SMESHGUI_SewingDlg::onTextChange(), SMESHGUI_MeshPatternDlg::onTextChanged(), SMESHGUI_SelectionOp::onTextChanged(), SMESH::Controls::ManifoldPart::process(), SMESH_MeshEditor::Remove(), SMESH::Controls::CoplanarFaces::SetMesh(), SMESH_MeshEditor_i::SetMeshElementOnShape(), SMESH_MeshEditor::SewFreeBorder(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), SMDS_MeshNode_MyInvIterator::SMDS_MeshNode_MyInvIterator(), and SMESH_MeshEditor::SplitVolumes().

const SMDS_MeshElement * SMDS_Mesh::FindElement ( const std::vector< const SMDS_MeshNode * > &  nodes,
const SMDSAbs_ElementType  type = SMDSAbs_All,
const bool  noMedium = true 
)
static

Return element based on all given nodes.

Parameters
nodes- node of element
type- type of element
noMedium- true if medium nodes of quadratic element are not included in <nodes>
Return values
constSMDS_MeshElement* - found element or NULL

References SMDS_MeshElement::GetNodeIndex(), SMDS_MeshElement::NbCornerNodes(), and SMDS_MeshElement::NbNodes().

const SMDS_MeshFace * SMDS_Mesh::FindFace ( int  idnode1,
int  idnode2,
int  idnode3 
) const
const SMDS_MeshFace * SMDS_Mesh::FindFace ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4 
) const

References FindFace(), and FindNode().

const SMDS_MeshFace * SMDS_Mesh::FindFace ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  idnode6 
) const

References FindFace(), and FindNode().

const SMDS_MeshFace * SMDS_Mesh::FindFace ( int  idnode1,
int  idnode2,
int  idnode3,
int  idnode4,
int  idnode5,
int  idnode6,
int  idnode7,
int  idnode8 
) const

References FindFace(), and FindNode().

const SMDS_MeshFace * SMDS_Mesh::FindFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4 
)
static
const SMDS_MeshFace * SMDS_Mesh::FindFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6 
)
static
const SMDS_MeshFace * SMDS_Mesh::FindFace ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8 
)
static
const SMDS_MeshFace * SMDS_Mesh::FindFace ( const std::vector< int > &  nodes_ids) const

References FindFace(), and FindNode().

const SMDS_MeshFace * SMDS_Mesh::FindFace ( const std::vector< const SMDS_MeshNode * > &  nodes)
static

References FindElement(), and SMDSAbs_Face.

SMDS_MeshFace * SMDS_Mesh::FindFaceOrCreate ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3 
)
protected
SMDS_MeshFace * SMDS_Mesh::FindFaceOrCreate ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4 
)
protected
const SMDS_MeshNode * SMDS_Mesh::FindNode ( int  idnode) const

Return the node whose SMDS ID is 'ID'.

References myNodes.

Referenced by SMESH_Gen_i::_GetInside(), MeshEditor_I::arrayToSet(), SMESHGUI_CreatePolyhedralVolumeDlg::checkEditLine(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_Gen_i::CopyMesh(), SMESH_Mesh_i::CreateDimGroup(), SMESHGUI_CreatePolyhedralVolumeDlg::displaySimulation(), SMESH_MeshEditor::DoubleNodes(), enlargeBoundingBox(), Find0DElement(), FindBall(), FindEdge(), FindFace(), SMESHDS_GroupBase::findInMesh(), DriverMED::FindNode(), SMESH_Mesh_i::GetNodeInverseElements(), SMESH_Mesh_i::GetNodePosition(), SMESHGUI_PreVisualObj::GetNodeVTKId(), SMESH_Mesh_i::GetNodeXYZ(), SMESHGUI_SewingDlg::BorderGroupDisplayer::getPartEnds(), getPointers(), SMESH_Mesh_i::GetShapeID(), SMESH::Controls::NodeConnectivityNumber::GetValue(), MeshEditor_I::idSourceToNodeSet(), SMESH_Mesh_i::IsMediumNode(), SMESH_Mesh_i::IsMediumNodeOfAnyElem(), SMESHGUI_PredicateFilter::IsObjValid(), SMESH::Controls::ElemEntityType::IsSatisfy(), SMESH::Controls::FreeNodes::IsSatisfy(), SMESH::Controls::RangeOfIds::IsSatisfy(), SMESH::Controls::ElementsOnShape::IsSatisfy(), SMESH::Controls::BelongToGeom::IsSatisfy(), SMESH::Controls::LyingOnGeom::IsSatisfy(), SMESH::Controls::ConnectedElements::IsSatisfy(), SMESHGUI_AddQuadraticElementDlg::IsValid(), SMESHGUI_PredicateFilter::IsValid(), SMESH_MeshEditor_i::MergeNodes(), SMDS_MeshNodeIDFactory::MeshElement(), SMESH::Measurements_i::MinDistance(), SMESH_MeshEditor_i::MoveClosestNodeToPoint(), SMESHGUI_3TypesSelector::onTextChange(), SMESHGUI_AddMeshElementDlg::onTextChange(), SMESHGUI_AddQuadraticElementDlg::onTextChange(), SMESHGUI_SmoothingDlg::onTextChange(), SMESHGUI_CreatePolyhedralVolumeDlg::onTextChange(), SMESHGUI_ExtrusionAlongPathDlg::onTextChange(), SMESHGUI_SewingDlg::onTextChange(), SMESHGUI_SelectionOp::onTextChanged(), SMESH_PreMeshInfo::readSubMeshes(), SMESH_MeshEditor::Remove(), SMESHGUI_ExtrusionAlongPathDlg::SelectionIntoArgument(), SMESHGUI_ScaleDlg::SelectionIntoArgument(), SMESHGUI_TranslationDlg::SelectionIntoArgument(), SMESHGUI_RotationDlg::SelectionIntoArgument(), SMESHGUI_SymmetryDlg::SelectionIntoArgument(), SMESHGUI_ExtrusionDlg::SelectionIntoArgument(), SMESH::Controls::ConnectedElements::SetNode(), SMESH_MeshEditor_i::SetNodeInVolume(), SMESH_MeshEditor_i::SetNodeOnEdge(), SMESH_MeshEditor_i::SetNodeOnFace(), SMESH_MeshEditor_i::SetNodeOnVertex(), SMESHGUI_IdPreview::SetPointsData(), SMESH_MeshEditor_i::SewBorderToSide(), SMESH_MeshEditor_i::SewConformFreeBorders(), SMESH_MeshEditor_i::SewFreeBorders(), SMESH_MeshEditor_i::SewSideElements(), SMESH_MeshEditor_i::smooth(), and DriverGMF_Read::storeBadNodeIds().

const SMDS_MeshNode * SMDS_Mesh::FindNodeVtk ( int  idnode) const
double SMDS_Mesh::getMaxDim ( )

References xmax, xmin, ymax, ymin, zmax, and zmin.

bool SMDS_Mesh::hasConstructionEdges ( )

Return true if this mesh create faces with edges.

A false returned value mean that faces are created with nodes. A concequence is, iteration on edges (SMDS_Element::edgesIterator) will be unavailable.

References myHasConstructionEdges.

Referenced by addChildrenWithNodes(), AddFace(), AddFaceWithID(), AddPolygonalFaceWithID(), AddPolyhedralVolumeWithID(), AddQuadPolygonalFaceWithID(), AddVolumeWithID(), createQuadrangle(), createTriangle(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESHDS_Mesh::RemoveElement(), RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), RemoveFreeElement(), and SMESHDS_Mesh::RemoveNode().

bool SMDS_Mesh::hasConstructionFaces ( )

Return true if this mesh create volumes with faces A false returned value mean that volumes are created with nodes or edges.

(see hasConstructionEdges) A concequence is, iteration on faces (SMDS_Element::facesIterator) will be unavailable.

References myHasConstructionFaces.

Referenced by addChildrenWithNodes(), AddPolyhedralVolumeWithID(), AddVolume(), AddVolumeWithID(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESHDS_Mesh::RemoveElement(), RemoveElement(), SMESHDS_Mesh::RemoveFreeElement(), RemoveFreeElement(), and SMESHDS_Mesh::RemoveNode().

bool SMDS_Mesh::hasInverseElements ( )

Return true if nodes are linked to the finit elements, they are belonging to.

Currently, It always return true.

References myHasInverseElements.

bool SMDS_Mesh::isCompacted ( )
int SMDS_Mesh::MaxElementID ( ) const
int SMDS_Mesh::MaxNodeID ( ) const
int SMDS_Mesh::MinElementID ( ) const
int SMDS_Mesh::MinNodeID ( ) const
void SMDS_Mesh::Modified ( )

modification that needs compact structure and redraw

References myModified, and myModifTime.

Referenced by SMESH_Gen_i::ConcatenateCommon(), SMESH_Gen_i::CopyMesh(), SMESH_PreMeshInfo::FullLoadFromFile(), and SMDS_Mesh().

void SMDS_Mesh::MoveNode ( const SMDS_MeshNode n,
double  x,
double  y,
double  z 
)
virtual

Reimplemented in SMESHDS_Mesh.

References SMDS_MeshNode::setXYZ().

Referenced by SMESHDS_Mesh::MoveNode().

int SMDS_Mesh::Nb0DElements ( ) const
virtual
int SMDS_Mesh::NbBalls ( ) const
virtual
int SMDS_Mesh::NbElements ( ) const
virtual

Return the number of elements.

References myInfo, and SMDS_MeshInfo::NbElements().

Referenced by cleanSubMesh().

int SMDS_Mesh::NbSubMesh ( ) const
virtual

Return the number of child mesh of this mesh.

Note that the tree structure of SMDS_Mesh is unused in SMESH

References myChildren.

void SMDS_Mesh::Remove0DElement ( const SMDS_Mesh0DElement elem0d)
virtual

Remove an edge and all the elements which own this edge.

References RemoveElement().

void SMDS_Mesh::RemoveEdge ( const SMDS_MeshEdge edge)
virtual

Remove an edge and all the elements which own this edge.

References RemoveElement().

void SMDS_Mesh::RemoveElement ( const SMDS_MeshElement elem,
bool  removenodes = false 
)
virtual
Parameters
elemThe element to delete
removenodesif true remaining nodes will be removed

References RemoveElement().

void SMDS_Mesh::RemoveFace ( const SMDS_MeshFace face)
virtual

Remove an face and all the elements which own this face.

References RemoveElement().

bool SMDS_Mesh::RemoveFromParent ( )
virtual

References myParent, and RemoveSubMesh().

void SMDS_Mesh::RemoveNode ( const SMDS_MeshNode node)
virtual

Remove a node and all the elements which own this node.

Reimplemented in SMESHDS_Mesh.

References RemoveElement().

Referenced by SMESH_Client::Update().

bool SMDS_Mesh::RemoveSubMesh ( const SMDS_Mesh aMesh)
virtual

References myChildren.

Referenced by RemoveFromParent().

void SMDS_Mesh::RemoveVolume ( const SMDS_MeshVolume volume)
virtual

Remove a volume.

References RemoveElement().

void SMDS_Mesh::Renumber ( const bool  isNodes,
const int  startID = 1,
const int  deltaID = 1 
)
virtual
void SMDS_Mesh::setConstructionEdges ( bool  b)

Make this mesh creating construction edges (see hasConstructionEdges)

Parameters
btrue to have construction edges, else false.

References myHasConstructionEdges.

void SMDS_Mesh::setConstructionFaces ( bool  b)

Make this mesh creating construction faces (see hasConstructionFaces)

Parameters
btrue to have construction faces, else false.

References myHasConstructionFaces.

void SMDS_Mesh::setInverseElements ( bool  b)

Make this mesh creating link from nodes to elements (see hasInverseElements)

Parameters
btrue to link nodes to elements, else false.

References MESSAGE, and myHasInverseElements.

SMDS_VolumeIteratorPtr SMDS_Mesh::volumesIterator ( bool  idInceasingOrder = false) const
virtual

Friends And Related Function Documentation

friend class SMDS_MeshElementIDFactory
friend
friend class SMDS_MeshIDFactory
friend
friend class SMDS_MeshNode
friend
friend class SMDS_MeshNodeIDFactory
friend
friend class SMDS_MeshVolumeVtkNodes
friend

Field Documentation

vector< SMDS_Mesh * > SMDS_Mesh::_meshList = vector<SMDS_Mesh*>()
static

to retrieve this SMDS_Mesh instance from its elements (index stored in SMDS_Elements)

Referenced by SMDS_MeshNode::AddInverseElement(), SMDS_VtkFace::ChangeApex(), SMDS_BallElement::ChangeNode(), SMDS_Mesh0DElement::ChangeNodes(), SMDS_VtkFace::ChangeNodes(), SMDS_VtkVolume::ChangeNodes(), SMDS_VtkEdge::ChangeNodes(), SMDS_MeshNode::ClearInverseElements(), SMDS_VtkEdge::elementsIterator(), SMDS_BallElement::elementsIterator(), SMDS_VtkFace::elementsIterator(), SMDS_VtkVolume::elementsIterator(), SMDS_MeshNode::getCoord(), SMDS_BallElement::GetDiameter(), SMDS_VtkFace::GetEntityType(), SMDS_VtkVolume::GetEntityType(), SMDS_VtkVolume::GetFaceNode(), SMDS_VtkFace::GetGeomType(), SMDS_VtkVolume::GetGeomType(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_VtkFace::GetNode(), SMDS_VtkEdge::GetNode(), SMDS_BallElement::GetNode(), SMDS_VtkVolume::GetNode(), SMDS_VtkFace::GetNodeIndex(), SMDS_VtkVolume::GetNodeIndex(), SMDS_VtkVolume::GetQuantities(), SMESH::Controls::AspectRatio::GetValue(), SMESH::Controls::AspectRatio3D::GetValue(), SMDS_VtkFace::GetVtkType(), SMDS_VtkVolume::GetVtkType(), SMDS_MeshNode::GetXYZ(), SMDS_MeshNode::init(), SMDS_VtkVolume::interlacedNodesIterator(), SMDS_VtkEdge::IsMediumNode(), SMDS_VtkFace::IsMediumNode(), SMDS_VtkVolume::IsMediumNode(), SMDS_VtkFace::IsPoly(), SMDS_VtkVolume::IsPoly(), SMDS_VtkFace::IsQuadratic(), SMDS_VtkVolume::IsQuadratic(), SMDS_VtkFace::NbCornerNodes(), SMDS_VtkVolume::NbCornerNodes(), SMDS_VtkFace::NbEdges(), SMDS_VtkVolume::NbEdges(), SMDS_VtkVolume::NbFaceNodes(), SMDS_VtkVolume::NbFaces(), SMDS_MeshNode::NbInverseElements(), SMDS_VtkVolume::NbNodes(), SMDS_VtkFace::NbNodes(), SMDS_VtkEdge::NbNodes(), SMDS_VtkVolume::NbUniqueNodes(), SMDS_VtkEdge::nodesIteratorToUNV(), SMDS_VtkFace::nodesIteratorToUNV(), SMDS_VtkVolume::nodesIteratorToUNV(), SMDS_MeshNode::RemoveInverseElement(), SMDS_BallElement::SetDiameter(), SMDS_MeshNode::setXYZ(), SMDS_BallElement::SMDS_BallElement(), SMDS_Mesh(), SMESH_Gen::SMESH_Gen(), SMDS_VtkVolume::uniqueNodesIterator(), and SMDS_VtkVolume::vtkOrder().

std::vector<int> SMDS_Mesh::myCellIdVtkToSmds
protected
std::list<SMDS_Mesh *> SMDS_Mesh::myChildren
protected
unsigned long SMDS_Mesh::myCompactTime
protected

Referenced by compactMesh(), and isCompacted().

bool SMDS_Mesh::myHasConstructionEdges
protected
bool SMDS_Mesh::myHasConstructionFaces
protected
bool SMDS_Mesh::myHasInverseElements
protected
int SMDS_Mesh::myMeshId
protected

index of this SMDS_mesh in the static vector<SMDS_Mesh*> _meshList

Referenced by AddNodeWithID(), registerElement(), and SMDS_Mesh().

bool SMDS_Mesh::myModified
protected

any add, remove or change of node or cell

Referenced by AddNodeWithID(), Clear(), and Modified().

unsigned long SMDS_Mesh::myModifTime
protected

use a counter to keep track of modifications

Referenced by Clear(), compactMesh(), GetMTime(), isCompacted(), and Modified().

std::vector<vtkIdType> SMDS_Mesh::myNodeIds
protected
ObjectPool<SMDS_MeshNode>* SMDS_Mesh::myNodePool
protected

Small objects like SMDS_MeshNode are allocated by chunks to limit memory costs of new.

Referenced by AddNodeWithID(), Clear(), RemoveElement(), RemoveFreeElement(), SMDS_Mesh(), and ~SMDS_Mesh().

SetOfNodes SMDS_Mesh::myNodes
protected

SMDS_MeshNodes refer to vtk nodes (vtk id != index in myNodes),store reference to this mesh, and sub-shape.

Referenced by AddNodeWithID(), Clear(), SMESHDS_Mesh::compactMesh(), elementEntityIterator(), elementsIterator(), FindNode(), FindNodeVtk(), nodesIterator(), RemoveElement(), RemoveFreeElement(), SMDS_Mesh(), and SMDS_MeshNodeIDFactory::updateMinMax().

SMDS_Mesh* SMDS_Mesh::myParent
protected

Referenced by Clear(), RemoveFromParent(), and ~SMDS_Mesh().

ObjectPool<SMDS_VtkVolume>* SMDS_Mesh::myVolumePool
protected

Small objects like SMDS_VtkVolume are allocated by chunks to limit memory costs of new.

Referenced by AddPolyhedralVolumeWithID(), AddVolumeFromVtkIdsWithID(), AddVolumeWithID(), Clear(), RemoveElement(), RemoveFreeElement(), SMDS_Mesh(), and ~SMDS_Mesh().

double SMDS_Mesh::xmax
protected

Referenced by Clear(), and getMaxDim().

double SMDS_Mesh::xmin
protected

Referenced by Clear(), and getMaxDim().

double SMDS_Mesh::ymax
protected

Referenced by Clear(), and getMaxDim().

double SMDS_Mesh::ymin
protected

Referenced by Clear(), and getMaxDim().

double SMDS_Mesh::zmax
protected

Referenced by Clear(), and getMaxDim().

double SMDS_Mesh::zmin
protected

Referenced by Clear(), and getMaxDim().