Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOM_EDGESOURCE_H
00021 #define GEOM_EDGESOURCE_H
00022
00023 #include "OCC2VTK.h"
00024
00025 #include <TopoDS_Edge.hxx>
00026 #include <NCollection_Set.hxx>
00027
00028 typedef NCollection_Set<TopoDS_Edge> TEdgeSet;
00029
00030 #include <vtkPoints.h>
00031 #include <vtkPolyDataSource.h>
00032
00033 class OCC2VTK_EXPORT GEOM_EdgeSource: public vtkPolyDataSource
00034 {
00035 public:
00036 vtkTypeMacro(GEOM_EdgeSource,vtkPolyDataSource);
00037 static GEOM_EdgeSource* New();
00038
00039 void AddEdge (const TopoDS_Edge& theEdge,
00040 bool theIsVector = false);
00041 void Clear(){ myEdgeSet.Clear();}
00042
00043 void SetVectorMode(bool);
00044
00045 bool GetVectorMode();
00046
00047 static
00048 void OCC2VTK(const TopoDS_Edge& theEdge,
00049 vtkPolyData* thePolyData,
00050 vtkPoints* thePts,
00051 bool theIsVector = false);
00052
00053 bool IsEmpty(){return myEdgeSet.IsEmpty();}
00054
00055
00056 protected:
00057 TEdgeSet myEdgeSet;
00058
00059
00060 bool myIsVector, myIsVectorMode;
00061
00062 void Execute();
00063
00064 GEOM_EdgeSource();
00065 ~GEOM_EdgeSource();
00066
00067 private:
00068
00069 GEOM_EdgeSource(const GEOM_EdgeSource&);
00070 void operator=(const GEOM_EdgeSource&);
00071 };
00072
00073
00074 #endif //GEOM_EDGESOURCE_H