0032485: Modeling Algorithms - Add Clone() function for adapters
[occt.git] / src / GeomAdaptor / GeomAdaptor_SurfaceOfRevolution.cxx
index b2bc433..eea5ae4 100644 (file)
@@ -58,6 +58,41 @@ GeomAdaptor_SurfaceOfRevolution::GeomAdaptor_SurfaceOfRevolution(
   Load(V);
 }
 
+//=======================================================================
+//function : ShallowCopy
+//purpose  : 
+//=======================================================================
+
+Handle(Adaptor3d_Surface) GeomAdaptor_SurfaceOfRevolution::ShallowCopy() const
+{
+  Handle(GeomAdaptor_SurfaceOfRevolution) aCopy = new GeomAdaptor_SurfaceOfRevolution();
+
+  if (!myBasisCurve.IsNull())
+  {
+    aCopy->myBasisCurve = myBasisCurve->ShallowCopy();
+  }
+  aCopy->myAxis       = myAxis;
+  aCopy->myHaveAxis   = myHaveAxis;
+  aCopy->myAxeRev     = myAxeRev;
+
+  aCopy->mySurface        = mySurface;
+  aCopy->myUFirst         = myUFirst;
+  aCopy->myULast          = myULast;
+  aCopy->myVFirst         = myVFirst;
+  aCopy->myVLast          = myVLast;
+  aCopy->myTolU           = myTolU;
+  aCopy->myTolV           = myTolV;
+  aCopy->myBSplineSurface = myBSplineSurface;
+
+  aCopy->mySurfaceType     = mySurfaceType;
+  if (!myNestedEvaluator.IsNull())
+  {
+    aCopy->myNestedEvaluator = myNestedEvaluator->ShallowCopy();
+  }
+
+  return aCopy;
+}
+
 //=======================================================================
 //function : Load
 //purpose  :