#include <SMDS_VtkVolume.hxx>
Public Member Functions | |
virtual bool | ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes) |
virtual SMDS_ElemIteratorPtr | elementsIterator (SMDSAbs_ElementType type) const |
virtual SMDSAbs_EntityType | GetEntityType () const |
const SMDS_MeshNode * | GetFaceNode (const int face_ind, const int node_ind) const |
virtual SMDSAbs_GeometryType | GetGeomType () 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... | |
std::vector< int > | GetQuantities () const |
virtual SMDSAbs_ElementType | GetType () const |
Return the type of the current element. More... | |
virtual vtkIdType | GetVtkType () const |
void | init (const std::vector< vtkIdType > &nodeIds, SMDS_Mesh *mesh) |
void | initPoly (const std::vector< vtkIdType > &nodeIds, const std::vector< int > &nbNodesPerFace, SMDS_Mesh *mesh) |
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 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... | |
int | NbFaceNodes (const int face_ind) const |
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... | |
int | NbUniqueNodes () const |
virtual SMDS_NodeIteratorPtr | nodesIteratorToUNV () const |
virtual, redefined in vtkEdge, vtkFace and vtkVolume classes More... | |
virtual void | Print (std::ostream &OS) const |
SMDS_VtkVolume () | |
SMDS_VtkVolume (const std::vector< vtkIdType > &nodeIds, SMDS_Mesh *mesh) | |
SMDS_ElemIteratorPtr | uniqueNodesIterator () const |
virtual bool | vtkOrder (const SMDS_MeshNode *nodes[], const int nbNodes) |
~SMDS_VtkVolume () | |
SMDSAbs_ElementType | GetType () const |
Return the type of the current element. More... | |
virtual vtkIdType | GetVtkType () const |
Public Member Functions inherited from SMDS_MeshCell | |
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 | |
static void | gravityCenter (SMDS_UnstructuredGrid *grid, const vtkIdType *nodeIds, int nbNodes, double *result) |
static bool | isForward (double *a, double *b, double *c, double *d) |
Static Public Member Functions inherited from SMDS_MeshCell | |
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... | |
Additional Inherited Members | |
Public Types inherited from SMDS_MeshElement | |
typedef SMDS_StdIterator< const SMDS_MeshNode *, SMDS_ElemIteratorPtr > | iterator |
Static Public Attributes inherited from SMDS_MeshCell | |
static int | nbCells = 0 |
Protected Member Functions inherited from SMDS_MeshCell | |
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) | |
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... | |
SMDS_VtkVolume::SMDS_VtkVolume | ( | ) |
SMDS_VtkVolume::SMDS_VtkVolume | ( | const std::vector< vtkIdType > & | nodeIds, |
SMDS_Mesh * | mesh | ||
) |
References init().
SMDS_VtkVolume::~SMDS_VtkVolume | ( | ) |
|
virtual |
Implements SMDS_MeshCell.
References SMDS_MeshElement::getVtkId(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Reimplemented from SMDS_MeshElement.
References GetEntityType(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Implements SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by elementsIterator(), interlacedNodesIterator(), nodesIteratorToUNV(), and uniqueNodesIterator().
const SMDS_MeshNode * SMDS_VtkVolume::GetFaceNode | ( | const int | face_ind, |
const int | node_ind | ||
) | const |
polyhedron only, 1 <= face_ind <= NbFaces() 1 <= node_ind <= NbFaceNodes()
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMESH_MeshEditor::MergeNodes(), SMESH_MeshEditor::Reorient(), and SMESH_MeshEditor::Transform().
|
virtual |
Implements SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Return node by its index.
ind | - node index |
const | SMDS_MeshNode* - the node |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshCell::fromVtkOrder(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Check if a node belongs to the element.
node | - the node to check |
int | - node index within the element, -1 if not found |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::getVtkId(), SMDS_MeshElement::myMeshId, SMDS_MeshElement::myVtkID, and SMDS_MeshCell::toVtkOrder().
std::vector< int > SMDS_VtkVolume::GetQuantities | ( | ) | const |
polyhedron only, return number of nodes for each face
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by StdMeshers_Projection_3D::Compute(), and SMDS_VolumeTool::IsLinked().
|
virtual |
Return the type of the current element.
Reimplemented from SMDS_MeshVolume.
|
virtual |
Reimplemented from SMDS_MeshVolume.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMDS_Mesh::AddVolumeFromVtkIdsWithID().
|
static |
Referenced by SMESH_MeshEditor::DoubleNodesOnGroupBoundaries().
void SMDS_VtkVolume::init | ( | const std::vector< vtkIdType > & | nodeIds, |
SMDS_Mesh * | mesh | ||
) |
typed used are vtk types (
References SMDS_MeshElement::init(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMDS_Mesh::AddVolumeFromVtkIdsWithID(), SMDS_Mesh::AddVolumeWithID(), DocumentObject.DocumentObject::onChanged(), and SMDS_VtkVolume().
void SMDS_VtkVolume::initPoly | ( | const std::vector< vtkIdType > & | nodeIds, |
const std::vector< int > & | nbNodesPerFace, | ||
SMDS_Mesh * | mesh | ||
) |
References SMDS_MeshElement::init(), and SMDS_MeshElement::myVtkID.
Referenced by SMDS_Mesh::AddPolyhedralVolumeWithID().
|
virtual |
virtual, redefined in vtkEdge, vtkFace and vtkVolume classes
Reimplemented from SMDS_MeshElement.
References GetEntityType(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
static |
|
virtual |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::getVtkId(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by StdMeshers_Projection_3D::Compute().
|
virtual |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMDS_VolumeTool::IsLinked().
|
virtual |
Return number of nodes excluding medium ones.
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, SMDS_MeshElement::myVtkID, and NbNodes().
|
virtual |
Return the number of edges owned by or linked with the current element.
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
polyhedron only, 1 <= face_ind <= NbFaces()
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMESH_MeshEditor::MergeNodes(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESH_MeshEditor::Reorient(), and SMESH_MeshEditor::Transform().
|
virtual |
Return the number of faces owned by or linked with the current element.
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by SMESH_MeshEditor::MergeNodes(), DriverMED_W_SMESHDS_Mesh::Perform(), SMESH_MeshEditor::Reorient(), and SMESH_MeshEditor::Transform().
|
virtual |
Return The number of nodes owned by the current element.
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
Referenced by NbCornerNodes(), DriverMED_W_SMESHDS_Mesh::Perform(), and vtkOrder().
int SMDS_VtkVolume::NbUniqueNodes | ( | ) | const |
For polyhedron only
References SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
virtual, redefined in vtkEdge, vtkFace and vtkVolume classes
Reimplemented from SMDS_MeshElement.
References GetEntityType(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Reimplemented from SMDS_MeshElement.
References SMDS_MeshElement::GetID().
SMDS_ElemIteratorPtr SMDS_VtkVolume::uniqueNodesIterator | ( | ) | const |
For polyhedron use only
References GetEntityType(), SMDS_MeshElement::myMeshId, and SMDS_MeshElement::myVtkID.
|
virtual |
Reorder in VTK order a list of nodes given in SMDS order. To be used before ChangeNodes: lists are given or computed in SMDS order.
Reimplemented from SMDS_MeshCell.
References SMDS_MeshElement::myMeshId, SMDS_MeshElement::myVtkID, NbNodes(), and SMDS_MeshCell::toVtkOrder().