Salome HOME
PR: merged from V5_1_4rc1
[modules/smesh.git] / src / SMDS / SMDS_VtkFace.hxx
1 #ifndef _SMDS_VTKFACE_HXX_
2 #define _SMDS_VTKFACE_HXX_
3
4 #include "SMESH_SMDS.hxx"
5
6 #include "SMDS_MeshFace.hxx"
7 #include <vtkUnstructuredGrid.h>
8 #include <vector>
9
10 class SMDS_EXPORT SMDS_VtkFace: public SMDS_MeshFace
11 {
12 public:
13   SMDS_VtkFace();
14   SMDS_VtkFace(std::vector<vtkIdType> nodeIds, SMDS_Mesh* mesh);
15   ~SMDS_VtkFace();
16   void init(std::vector<vtkIdType> nodeIds, SMDS_Mesh* mesh);
17   bool ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes);
18
19   void Print(std::ostream & OS) const;
20   int NbEdges() const;
21   int NbFaces() const;
22   int NbNodes() const;
23
24   virtual vtkIdType GetVtkType() const;
25   virtual SMDSAbs_EntityType GetEntityType() const;
26   virtual const SMDS_MeshNode* GetNode(const int ind) const;
27   virtual bool IsQuadratic() const;
28
29 protected:
30   SMDS_ElemIteratorPtr
31   elementsIterator(SMDSAbs_ElementType type) const;
32 };
33
34 #endif