#include "OCC2VTK.h"
#include <TopoDS_Edge.hxx>
-#include <NCollection_Set.hxx>
-
-typedef NCollection_Set<TopoDS_Edge> TEdgeSet;
#include <vtkPoints.h>
#include <vtkPolyDataAlgorithm.h>
class vtkPolyData;
+class EdgeSourceInternal;
class OCC2VTK_EXPORT GEOM_EdgeSource: public vtkPolyDataAlgorithm
{
public:
- vtkTypeMacro(GEOM_EdgeSource,vtkPolyDataAlgorithm);
+ vtkTypeMacro(GEOM_EdgeSource, vtkPolyDataAlgorithm);
+
static GEOM_EdgeSource* New();
void AddEdge (const TopoDS_Edge& theEdge,
bool theIsVector = false);
- void Clear(){ myEdgeSet.Clear();}
+ void Clear();
+ bool IsEmpty();
+
void SetVectorMode(bool);
bool GetVectorMode();
vtkPolyData* thePolyData,
vtkPoints* thePts,
bool theIsVector = false);
-
- bool IsEmpty(){return myEdgeSet.IsEmpty();}
-
protected:
- TEdgeSet myEdgeSet;
+ EdgeSourceInternal* myData;
// The <myIsVector> flag is common for all edges, because the shape,
// representing a vector, can have only one edge.
bool myIsVector, myIsVectorMode;
- virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+ virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
GEOM_EdgeSource();
~GEOM_EdgeSource();
void operator=(const GEOM_EdgeSource&);
};
-
#endif //GEOM_EDGESOURCE_H