1 #ifndef GEOM_EDGESOURCE_H
2 #define GEOM_EDGESOURCE_H
4 #include "GEOM_DeviceActor.h"
6 #include <TopoDS_Edge.hxx>
7 #include <NCollection_Set.hxx>
9 typedef NCollection_Set<TopoDS_Edge> TEdgeSet;
11 #include <vtkPolyDataSource.h>
14 class VTK_EXPORT GEOM_EdgeSource: public vtkPolyDataSource
17 vtkTypeMacro(GEOM_EdgeSource,vtkPolyDataSource);
18 static GEOM_EdgeSource* New();
20 void AddEdge (const TopoDS_Edge& theEdge,
21 bool theIsVector = false);
22 void Clear(){ myEdgeSet.Clear();}
25 void OCC2VTK(const TopoDS_Edge& theEdge,
26 vtkPolyData* thePolyData,
28 bool theIsVector = false);
32 // The <myIsVector> flag is common for all edges, because the shape,
33 // representing a vector, can have only one edge.
43 GEOM_EdgeSource(const GEOM_EdgeSource&);
44 void operator=(const GEOM_EdgeSource&);
48 #endif //GEOM_EDGESOURCE_H