Base class for all cells. More...
#include <SMDS_MeshCell.hxx>
Public Member Functions | |
virtual bool | ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes)=0 |
SMDS_MeshCell () | |
virtual bool | vtkOrder (const SMDS_MeshNode *[], const int) |
virtual | ~SMDS_MeshCell () |
Public Member Functions inherited from SMDS_MeshElement | |
iterator | begin_nodes () const |
SMDS_ElemIteratorPtr | edgesIterator () const |
Create an iterator which iterate on edges linked with or owned by the element. More... | |
virtual SMDS_ElemIteratorPtr | elementsIterator (SMDSAbs_ElementType type) const |
iterator | end_nodes () const |
SMDS_ElemIteratorPtr | facesIterator () const |
Create an iterator which iterate on faces linked with or owned by the element. More... | |
virtual SMDSAbs_EntityType | GetEntityType () const =0 |
virtual SMDSAbs_GeometryType | GetGeomType () const =0 |
int | GetID () const |
int | getIdInShape () const |
ShortType | getMeshId () const |
virtual const SMDS_MeshNode * | GetNode (const int ind) const |
Return node by its index. More... | |
virtual int | GetNodeIndex (const SMDS_MeshNode *node) const |
Check if a node belongs to the element. More... | |
const SMDS_MeshNode * | GetNodeWrap (const int ind) const |
Return node by its index. More... | |
LongType | getshapeId () const |
virtual SMDSAbs_ElementType | GetType () const =0 |
Return the type of the current element. More... | |
int | getVtkId () const |
virtual vtkIdType | GetVtkType () const =0 |
virtual SMDS_ElemIteratorPtr | interlacedNodesElemIterator () const |
virtual SMDS_NodeIteratorPtr | interlacedNodesIterator () const |
virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More... | |
virtual bool | IsMediumNode (const SMDS_MeshNode *node) const |
virtual bool | IsPoly () const |
virtual bool | IsQuadratic () const |
virtual bool | IsValidIndex (const int ind) const |
Return true if index of node is valid (0 <= ind < NbNodes()) More... | |
virtual int | NbCornerNodes () const |
Return number of nodes excluding medium ones. More... | |
virtual int | NbEdges () const |
Return the number of edges owned by or linked with the current element. More... | |
virtual int | NbFaces () const |
Return the number of faces owned by or linked with the current element. More... | |
virtual int | NbNodes () const |
Return The number of nodes owned by the current element. More... | |
virtual SMDS_NodeIteratorPtr | nodeIterator () const |
SMDS_ElemIteratorPtr | nodesIterator () const |
Create an iterator which iterate on nodes owned by the element. More... | |
virtual SMDS_NodeIteratorPtr | nodesIteratorToUNV () const |
virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More... | |
int | WrappedIndex (const int ind) const |
Return a valid node index, fixing the given one if necessary. More... | |
Public Member Functions inherited from SMDS_MeshObject | |
virtual | ~SMDS_MeshObject () |
Static Public Member Functions | |
template<class VECT > | |
static void | applyInterlace (const std::vector< int > &interlace, VECT &data) |
template<class VECT > | |
static void | applyInterlaceRev (const std::vector< int > &interlace, VECT &data) |
static const std::vector< int > & | fromVtkOrder (SMDSAbs_EntityType smdsType) |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | fromVtkOrder (VTKCellType vtkType) |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | interlacedSmdsOrder (SMDSAbs_EntityType smdsType, const size_t nbNodes=0) |
Return indices to set nodes of a quadratic 1D or 2D element in interlaced order Usage: interlacedIDs[i] = smdsIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | reverseSmdsOrder (SMDSAbs_EntityType smdsType, const size_t nbNodes=0) |
Return indices to reverse an SMDS cell of given type. nbNodes is useful for polygons Usage: reverseIDs[i] = forwardIDs[ indices[ i ]]. More... | |
static SMDSAbs_ElementType | toSmdsType (SMDSAbs_EntityType entityType) |
Return SMDSAbs_ElementType by SMDSAbs_EntityType. More... | |
static SMDSAbs_ElementType | toSmdsType (SMDSAbs_GeometryType geomType) |
Return SMDSAbs_ElementType by SMDSAbs_GeometryType. More... | |
static SMDSAbs_EntityType | toSmdsType (VTKCellType vtkType) |
Return SMDSAbs_EntityType corresponding to VTKCellType. More... | |
static const std::vector< int > & | toVtkOrder (SMDSAbs_EntityType smdsType) |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]]. More... | |
static const std::vector< int > & | toVtkOrder (VTKCellType vtkType) |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]]. More... | |
static VTKCellType | toVtkType (SMDSAbs_EntityType vtkType) |
Return VTKCellType corresponding to SMDSAbs_EntityType. More... | |
Static Public Attributes | |
static int | nbCells = 0 |
Protected Member Functions | |
void | exchange (const SMDS_MeshNode *nodes[], int a, int b) |
Protected Member Functions inherited from SMDS_MeshElement | |
virtual void | init (int id=-1, ShortType meshId=-1, LongType shapeId=0) |
virtual void | Print (std::ostream &OS) const |
void | setId (int id) |
void | setIdInShape (int id) |
void | setShapeId (LongType shapeId) |
void | setVtkId (int vtkId) |
SMDS_MeshElement (int id, ShortType meshId, LongType shapeId=0) | |
SMDS_MeshElement (int ID=-1) | |
Additional Inherited Members | |
Public Types inherited from SMDS_MeshElement | |
typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_ElemIteratorPtr > | iterator |
Protected Attributes inherited from SMDS_MeshElement | |
int | myID |
Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells. More... | |
int | myIdInShape |
Element index in SMESHDS_SubMesh vector. More... | |
ShortType | myMeshId |
SMDS_Mesh identification in SMESH. More... | |
LongType | myShapeId |
SubShape and SubMesh identification in SMESHDS. More... | |
vtkIdType | myVtkID |
index in vtkUnstructuredGrid More... | |
Base class for all cells.
SMDS_MeshCell::SMDS_MeshCell | ( | ) |
References SMDS_MeshElement::myVtkID, and nbCells.
|
virtual |
References nbCells.
|
static |
Referenced by StdMeshers_Import_1D2D::Compute(), SMESH_MeshEditor::MergeNodes(), and SMESH_MeshEditor::Reorient().
|
static |
Referenced by SMESH_MeshEditor::MergeNodes().
|
pure virtual |
Implemented in SMDS_LinearEdge, SMDS_FaceOfEdges, SMDS_FaceOfNodes, SMDS_Mesh0DElement, SMDS_PolygonalFaceOfNodes, SMDS_QuadraticFaceOfNodes, SMDS_QuadraticVolumeOfNodes, SMDS_VolumeOfFaces, SMDS_VolumeOfNodes, SMDS_VtkEdge, SMDS_VtkFace, SMDS_VtkVolume, and SMDS_BallElement.
Referenced by SMDS_Mesh::ChangeElementNodes(), and SMESH_MeshEditor::CreateFlatElementsOnFacesGroups().
|
protected |
|
static |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].
References toVtkOrder().
|
static |
Return indices to transform cell connectivity from VTK to SMDS Usage: smdsIDs[i] = vtkIDs[ indices[ i ]].
References fromVtkOrder(), and toSmdsType().
Referenced by fromVtkOrder(), SMDS_VtkVolume::GetNode(), and SMDS_VtkCellIterator::SMDS_VtkCellIterator().
|
static |
Return indices to set nodes of a quadratic 1D or 2D element in interlaced order Usage: interlacedIDs[i] = smdsIDs[ indices[ i ]].
Referenced by SMESH_MeshEditor::MergeNodes(), and SMDS_VtkCellIteratorToUNV::SMDS_VtkCellIteratorToUNV().
|
static |
Return indices to reverse an SMDS cell of given type. nbNodes is useful for polygons Usage: reverseIDs[i] = forwardIDs[ indices[ i ]].
Referenced by StdMeshers_Import_1D2D::Compute(), SMESH_MeshEditor::Reorient(), and SMESH_MeshEditor::Transform().
|
static |
Return SMDSAbs_ElementType by SMDSAbs_EntityType.
|
static |
Return SMDSAbs_ElementType by SMDSAbs_GeometryType.
References draftgeoutils.general::geomType().
|
static |
Return SMDSAbs_EntityType corresponding to VTKCellType.
References toVtkType().
Referenced by fromVtkOrder(), SMDS_VtkFace::GetEntityType(), DriverMED_W_Field::Set(), and toVtkOrder().
|
static |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]].
|
static |
Return indices to transform cell connectivity from SMDS to VTK Usage: vtkIDs[i] = smdsIDs[ indices[ i ]].
References toSmdsType(), and toVtkOrder().
Referenced by fromVtkOrder(), SMDS_VtkVolume::GetNodeIndex(), toVtkOrder(), and SMDS_VtkVolume::vtkOrder().
|
static |
Return VTKCellType corresponding to SMDSAbs_EntityType.
Referenced by toSmdsType().
|
virtual |
Reimplemented in SMDS_VtkVolume.
Referenced by SMDS_Mesh::ChangeElementNodes().
|
static |
Referenced by SMDS_MeshCell(), and ~SMDS_MeshCell().