Salome HOME
PR: SMDS refactoring in progress
[modules/smesh.git] / src / SMDS / SMDS_VtkEdge.hxx
1 #ifndef _SMDS_VTKEDGE_HXX_
2 #define _SMDS_VTKEDGE_HXX_
3
4 #include "SMESH_SMDS.hxx"
5
6 #include "SMDS_MeshEdge.hxx"
7 #include <vtkUnstructuredGrid.h>
8 #include <vector>
9
10 class SMDS_EXPORT SMDS_VtkEdge: public SMDS_MeshEdge
11 {
12
13 public:
14   SMDS_VtkEdge();
15   SMDS_VtkEdge(std::vector<vtkIdType> nodeIds, SMDS_Mesh* mesh);
16   ~SMDS_VtkEdge();
17   void init(std::vector<vtkIdType> nodeIds, SMDS_Mesh* mesh);
18   bool ChangeNodes(const SMDS_MeshNode * node1, const SMDS_MeshNode * node2);
19
20   void Print(std::ostream & OS) const;
21   int NbNodes() const;
22   int NbEdges() 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