Salome HOME
OCCT dev version porting (6.7.2)
[modules/geom.git] / src / OCC2VTK / GEOM_EdgeSource.cxx
index 2ff7b91c7c4cf5f757f75673024076625c81c4cd..0a3a41a0d68dd7049a3cd39d25f4f904ea95fb84 100755 (executable)
@@ -18,6 +18,7 @@
 //
 
 #include "GEOM_EdgeSource.h" 
+#include "OCC2VTK_internal.h"
  
 #include <vtkObjectFactory.h> 
 
@@ -42,20 +43,32 @@ vtkStandardNewMacro(GEOM_EdgeSource);
 GEOM_EdgeSource::GEOM_EdgeSource() :
   myIsVector(false)
 { 
+  myData = new EdgeSourceInternal;
   this->SetNumberOfInputPorts(0);
 } 
  
 GEOM_EdgeSource::~GEOM_EdgeSource() 
-{ 
+{
+  delete myData;
 } 
 
 void GEOM_EdgeSource::AddEdge (const TopoDS_Edge& theEdge,
                                bool theIsVector)
 {
-  myEdgeSet.Add(theEdge);
+  myData->myEdgeSet.Add(theEdge);
   myIsVector = theIsVector;
 }
 
+void GEOM_EdgeSource::Clear()
+{
+  myData->myEdgeSet.Clear();
+}
+
+bool GEOM_EdgeSource::IsEmpty()
+{
+  return myData->myEdgeSet.IsEmpty();
+}
+
 int GEOM_EdgeSource::RequestData(vtkInformation *vtkNotUsed(request),
                                  vtkInformationVector **vtkNotUsed(inputVector),
                                  vtkInformationVector *outputVector)
@@ -69,7 +82,7 @@ int GEOM_EdgeSource::RequestData(vtkInformation *vtkNotUsed(request),
   aPolyData->SetPoints(aPts);
   aPts->Delete();
 
-  TEdgeSet::Iterator anIter (myEdgeSet);
+  TEdgeSet::Iterator anIter (myData->myEdgeSet);
   for (; anIter.More(); anIter.Next()) {
     TopoDS_Edge anEdge = anIter.Value();
     if ( !myIsVector )