Salome HOME
Fixed bos#34419 - class member was not initialized
[modules/geom.git] / src / OCC2VTK / GEOM_EdgeSource.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 0a3a41a..df75c68
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -18,7 +18,6 @@
 //
 
 #include "GEOM_EdgeSource.h" 
-#include "OCC2VTK_internal.h"
  
 #include <vtkObjectFactory.h> 
 
 #include <vtkInformation.h>
 #include <vtkInformationVector.h>
 
-vtkStandardNewMacro(GEOM_EdgeSource);
+vtkStandardNewMacro(GEOM_EdgeSource)
  
 GEOM_EdgeSource::GEOM_EdgeSource() :
-  myIsVector(false)
+  myIsVector(false),
+  myIsVectorMode(false)
 { 
-  myData = new EdgeSourceInternal;
   this->SetNumberOfInputPorts(0);
 } 
  
 GEOM_EdgeSource::~GEOM_EdgeSource() 
-{
-  delete myData;
+{ 
 } 
 
 void GEOM_EdgeSource::AddEdge (const TopoDS_Edge& theEdge,
                                bool theIsVector)
 {
-  myData->myEdgeSet.Add(theEdge);
+  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)
@@ -82,7 +70,7 @@ int GEOM_EdgeSource::RequestData(vtkInformation *vtkNotUsed(request),
   aPolyData->SetPoints(aPts);
   aPts->Delete();
 
-  TEdgeSet::Iterator anIter (myData->myEdgeSet);
+  TEdgeSet::Iterator anIter (myEdgeSet);
   for (; anIter.More(); anIter.Next()) {
     TopoDS_Edge anEdge = anIter.Value();
     if ( !myIsVector )
@@ -139,11 +127,11 @@ void GEOM_EdgeSource::OCC2VTK (const TopoDS_Edge& theEdge,
         pt2.Transform(edgeTransf);
       }
 
-      float aCoord1[3] = {pt1.X(), pt1.Y(), pt1.Z()};
+      float aCoord1[3] = {(float)pt1.X(), (float)pt1.Y(), (float)pt1.Z()};
       vtkIdType anIds[2];
       anIds[0] = thePts->InsertNextPoint(aCoord1);
 
-      float aCoord2[3] = {pt2.X(), pt2.Y(), pt2.Z()};
+      float aCoord2[3] = {(float)pt2.X(), (float)pt2.Y(), (float)pt2.Z()};
       anIds[1] = thePts->InsertNextPoint(aCoord2);
 
       thePolyData->InsertNextCell(VTK_LINE,2,anIds);
@@ -151,17 +139,16 @@ void GEOM_EdgeSource::OCC2VTK (const TopoDS_Edge& theEdge,
   } else {
     Standard_Integer aNbNodes = aEdgePoly->NbNodes();
     const TColStd_Array1OfInteger& aNodeIds = aEdgePoly->Nodes();
-    const TColgp_Array1OfPnt& anId2Pnts = T->Nodes();
 
-    aP1 = anId2Pnts(aNodeIds(1));
-    aP2 = anId2Pnts(aNodeIds(aNbNodes));
+    aP1 = T->Node(aNodeIds(1));
+    aP2 = T->Node(aNodeIds(aNbNodes));
 
     for(int j = 1; j < aNbNodes; j++) {
       Standard_Integer id1 = aNodeIds(j);
       Standard_Integer id2 = aNodeIds(j+1);
       
-      gp_Pnt pt1 = anId2Pnts(id1);
-      gp_Pnt pt2 = anId2Pnts(id2);
+      gp_Pnt pt1 = T->Node(id1);
+      gp_Pnt pt2 = T->Node(id2);
           
       if(!isidtrsf) {
         // apply edge transformation
@@ -169,11 +156,11 @@ void GEOM_EdgeSource::OCC2VTK (const TopoDS_Edge& theEdge,
         pt2.Transform(edgeTransf);
       }
       
-      float aCoord1[3] = {pt1.X(), pt1.Y(), pt1.Z()};
+      float aCoord1[3] = {(float)pt1.X(), (float)pt1.Y(), (float)pt1.Z()};
       vtkIdType anIds[2];
       anIds[0] = thePts->InsertNextPoint(aCoord1);
 
-      float aCoord2[3] = {pt2.X(), pt2.Y(), pt2.Z()};
+      float aCoord2[3] = {(float)pt2.X(), (float)pt2.Y(), (float)pt2.Z()};
       anIds[1] = thePts->InsertNextPoint(aCoord2);
 
       thePolyData->InsertNextCell(VTK_LINE,2,anIds);
@@ -239,7 +226,7 @@ void GEOM_EdgeSource::OCC2VTK (const TopoDS_Edge& theEdge,
     // Add points and segments, composing the arrow
     Standard_Real cosinus, sinus, Tg = tan(anAngle);
 
-    float coord[3] = {xo, yo, zo};
+    float coord[3] = {(float)xo, (float)yo, (float)zo};
 
     vtkIdType ptLoc = thePts->InsertNextPoint(coord);
     vtkIdType ptFirst = 0;