20#ifndef _SMDS_MESHCELL_HXX_
21#define _SMDS_MESHCELL_HXX_
37 void init(
SMDSAbs_EntityType entityType,
const std::vector<const SMDS_MeshNode*>& nodes );
49 virtual bool ChangeNodes(
const SMDS_MeshNode* nodes[],
const int nbNodes);
58 virtual bool IsPoly()
const;
67 static void InitStaticMembers();
80 static const std::vector<int>& toVtkOrder(VTKCellType vtkType);
82 static const std::vector<int>& fromVtkOrder(VTKCellType vtkType);
86 const size_t nbNodes=0);
88 const size_t nbNodes=0);
91 template<
class VECT >
94 if ( interlace.size() < data.size() )
return;
95 VECT tmpData( data.size() );
96 for (
size_t i = 0; i < data.size(); ++i )
97 tmpData[i] = data[ interlace[i] ];
100 template<
class VECT >
103 if ( interlace.size() < data.size() )
return;
104 VECT tmpData( data.size() );
105 for (
size_t i = 0; i < data.size(); ++i )
106 tmpData[ interlace[i] ] = data[i];
107 data.swap( tmpData );
SMDSAbs_GeometryType
enumeration for element geometry type
Definition: SMDSAbs_ElementType.hxx:47
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
Definition: SMDSAbs_ElementType.hxx:34
SMDSAbs_EntityType
Enumeration of entity type used in mesh info array.
Definition: SMDSAbs_ElementType.hxx:79
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshElement * > > SMDS_ElemIteratorPtr
Definition: SMDS_ElemIterator.hxx:43
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshNode * > > SMDS_NodeIteratorPtr
Definition: SMDS_ElemIterator.hxx:46
#define SMDS_EXPORT
Definition: SMESH_SMDS.hxx:37
Base class for all cells.
Definition: SMDS_MeshCell.hxx:32
static void applyInterlace(const std::vector< int > &interlace, VECT &data)
Definition: SMDS_MeshCell.hxx:92
static void applyInterlaceRev(const std::vector< int > &interlace, VECT &data)
Definition: SMDS_MeshCell.hxx:101
Base class for elements.
Definition: SMDS_MeshElement.hxx:56
virtual bool IsPoly() const =0
virtual const SMDS_MeshNode * GetNode(const int ind) const =0
Return node by its index.
virtual int GetNodeIndex(const SMDS_MeshNode *node) const
Check if a node belongs to the element.
Definition: SMDS_MeshElement.cxx:93
virtual int NbCornerNodes() const =0
virtual int NbFaces() const =0
virtual SMDSAbs_EntityType GetEntityType() const =0
virtual int NbEdges() const =0
virtual SMDS_ElemIteratorPtr nodesIterator() const =0
virtual SMDSAbs_GeometryType GetGeomType() const =0
virtual bool IsQuadratic() const =0
virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const
Definition: SMDS_MeshElement.hxx:65
virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const
Definition: SMDS_MeshElement.hxx:66
virtual int NbNodes() const =0
virtual SMDSAbs_ElementType GetType() const =0
virtual SMDS_NodeIteratorPtr nodeIterator() const =0
virtual VTKCellType GetVtkType() const =0
Definition: SMDS_MeshNode.hxx:36
Definition: SMDS_Mesh.hxx:53