Salome HOME
Replace oe by ?
[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   void initPoly(std::vector<vtkIdType> nodeIds, SMDS_Mesh* mesh);
18   bool ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes);
19   void ChangeApex(SMDS_MeshNode* node); // to use only for tmp triangles
20   void Print(std::ostream & OS) const;
21   int NbEdges() const;
22   int NbFaces() const;
23   int NbNodes() const;
24
25   virtual vtkIdType GetVtkType() const;
26   virtual SMDSAbs_EntityType GetEntityType() const;
27   virtual const SMDS_MeshNode* GetNode(const int ind) const;
28   virtual bool IsQuadratic() const;
29   virtual bool IsPoly() const;
30   virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
31
32   virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
33   virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
34   virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
35 protected:
36 };
37
38 #endif