0023964: Extrema_ExtXX::Point methods might return constant reference instead of...
authorazv <azv@opencascade.com>
Thu, 19 Sep 2013 11:56:51 +0000 (15:56 +0400)
committerbugmaster <bugmaster@opencascade.com>
Fri, 20 Sep 2013 08:09:45 +0000 (12:09 +0400)
Changed definitions of Point() functions
Removal of floating point exceptions from previous commit

34 files changed:
src/Extrema/Extrema_ExtPElC.cdl
src/Extrema/Extrema_ExtPElC.cxx
src/Extrema/Extrema_ExtPElC2d.cdl
src/Extrema/Extrema_ExtPElC2d.cxx
src/Extrema/Extrema_ExtPElS.cdl
src/Extrema/Extrema_ExtPElS.cxx
src/Extrema/Extrema_ExtPExtS.cdl
src/Extrema/Extrema_ExtPExtS.cxx
src/Extrema/Extrema_ExtPRevS.cdl
src/Extrema/Extrema_ExtPRevS.cxx
src/Extrema/Extrema_ExtPS.cdl
src/Extrema/Extrema_ExtPS.cxx
src/Extrema/Extrema_ExtPSOfRev.cdl
src/Extrema/Extrema_ExtPSOfRev.gxx
src/Extrema/Extrema_FuncExtPC.cdl
src/Extrema/Extrema_FuncExtPC.gxx
src/Extrema/Extrema_FuncExtPS.cdl
src/Extrema/Extrema_FuncExtPS.cxx
src/Extrema/Extrema_FuncExtSS.cdl
src/Extrema/Extrema_FuncExtSS.cxx
src/Extrema/Extrema_GExtPC.cdl
src/Extrema/Extrema_GExtPC.gxx
src/Extrema/Extrema_GLocateExtPC.cdl
src/Extrema/Extrema_GLocateExtPC.gxx
src/Extrema/Extrema_GenExtPC.cdl
src/Extrema/Extrema_GenExtPC.gxx
src/Extrema/Extrema_GenExtPS.cdl
src/Extrema/Extrema_GenExtPS.cxx
src/Extrema/Extrema_GenExtSS.cdl
src/Extrema/Extrema_GenExtSS.cxx
src/Extrema/Extrema_GenLocateExtPC.cdl
src/Extrema/Extrema_GenLocateExtPC.gxx
src/Extrema/Extrema_GenLocateExtPS.cdl
src/Extrema/Extrema_GenLocateExtPS.cxx

index 06db9e9..0e2750b 100755 (executable)
@@ -138,6 +138,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnCurv
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth extremum distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index 685c7c0..5eca628 100755 (executable)
@@ -444,7 +444,7 @@ Standard_Boolean Extrema_ExtPElC::IsMin (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnCurv Extrema_ExtPElC::Point (const Standard_Integer N) const
+const Extrema_POnCurv& Extrema_ExtPElC::Point (const Standard_Integer N) const
 {
   if ((N < 1) || (N > NbExt())) { Standard_OutOfRange::Raise(); }
   return myPoint[N-1];
index 06cf926..4008354 100755 (executable)
@@ -142,6 +142,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnCurv2d
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth extremum distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index bf9a8e6..96dfd41 100755 (executable)
@@ -328,7 +328,7 @@ Standard_Boolean Extrema_ExtPElC2d::IsMin (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnCurv2d Extrema_ExtPElC2d::Point (const Standard_Integer N) const
+const Extrema_POnCurv2d& Extrema_ExtPElC2d::Point (const Standard_Integer N) const
 {
   if ((N < 1) || (N > NbExt())) { Standard_OutOfRange::Raise(); }
   return myPoint[N-1];
index e5bc527..19a36a1 100755 (executable)
@@ -101,6 +101,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index 63586dd..16d8313 100755 (executable)
@@ -408,7 +408,7 @@ Standard_Real Extrema_ExtPElS::SquareDistance (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_ExtPElS::Point (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_ExtPElS::Point (const Standard_Integer N) const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   if ((N < 1) || (N > myNbExt)) { Standard_OutOfRange::Raise(); }
index 2e8bc89..06f087b 100755 (executable)
@@ -88,6 +88,7 @@ is
                    is static;
 
     Point (me; N: Integer) returns POnSurf
+    ---C++: return const &
     ---Purpose: Returns the point of the Nth resulting distance.
                    raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index 76c4e42..77184e4 100755 (executable)
@@ -416,7 +416,7 @@ Standard_Real Extrema_ExtPExtS::SquareDistance (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_ExtPExtS::Point (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_ExtPExtS::Point (const Standard_Integer N) const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   if ((N < 1) || (N > myNbExt)) { Standard_OutOfRange::Raise(); }
index 1f4beda..a1782b3 100755 (executable)
@@ -85,6 +85,7 @@ is
                    is static;
 
     Point (me; N: Integer) returns POnSurf
+    ---C++: return const &
     ---Purpose: Returns the point of the Nth resulting distance.
                    raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index 203726c..443396c 100755 (executable)
@@ -528,7 +528,7 @@ Standard_Real Extrema_ExtPRevS::SquareDistance(const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-Extrema_POnSurf Extrema_ExtPRevS::Point(const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_ExtPRevS::Point(const Standard_Integer N) const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   if ((N < 1) || (N > myNbExt)) { Standard_OutOfRange::Raise(); }
index 866e68d..361f79c 100755 (executable)
@@ -116,6 +116,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index cfcf009..61ab55a 100755 (executable)
@@ -332,7 +332,7 @@ Standard_Integer Extrema_ExtPS::NbExt() const
 
 
 
-Extrema_POnSurf Extrema_ExtPS::Point(const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_ExtPS::Point(const Standard_Integer N) const
 {
   if(!myDone) StdFail_NotDone::Raise();
   return myPoints.Value(N);
index 6b05f96..5548632 100755 (executable)
@@ -66,6 +66,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index b2ca561..01cc292 100755 (executable)
@@ -102,7 +102,7 @@ Standard_Real Extrema_ExtPSOfRev::SquareDistance (const Standard_Integer N) cons
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_ExtPSOfRev::Point (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_ExtPSOfRev::Point (const Standard_Integer N) const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myPoint.Value(N);
index 6a7f9be..f73b077 100755 (executable)
@@ -89,6 +89,7 @@ is
                -- if N < 1 or N > NbExt(me).
 
     Point (me; N: Integer) returns POnC
+        ---C++: return const &
        ---Purpose: Returns the Nth extremum.
        raises  OutOfRange from Standard,
                 TypeMismatch from Standard;
index 1f97539..b10ba26 100755 (executable)
@@ -411,7 +411,7 @@ Standard_Boolean Extrema_FuncExtPC::IsMin (const Standard_Integer N) const
   return (myIsMin.Value(N) == 1);
 }
 //=============================================================================
-POnC Extrema_FuncExtPC::Point (const Standard_Integer N) const
+const POnC & Extrema_FuncExtPC::Point (const Standard_Integer N) const
 {
   if (!myPinit || !myCinit) Standard_TypeMismatch::Raise();
   return myPoint.Value(N);
index 1303a74..d3e803b 100755 (executable)
@@ -105,6 +105,7 @@ is
                -- if N < 1 or N > NbExt(me).
 
     Point (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the Nth extremum.
        raises  OutOfRange;
                -- if N < 1 or N > NbExt(me).
index f80d35e..0152403 100755 (executable)
@@ -160,7 +160,7 @@ Standard_Real Extrema_FuncExtPS::SquareDistance (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_FuncExtPS::Point (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_FuncExtPS::Point (const Standard_Integer N) const
 {
   if (!myPinit || !mySinit) Standard_TypeMismatch::Raise();
   return myPoint.Value(N);
index 948567e..9bf7db2 100755 (executable)
@@ -78,11 +78,13 @@ is
                -- if N < 1 or N > NbExt(me).
 
     PointOnS1 (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Return the Nth extremum on S1.
        raises  OutOfRange;
                -- if N < 1 or N > NbExt(me).
 
     PointOnS2 (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Renvoie le Nieme extremum sur S2.
        raises  OutOfRange;
                -- si N < 1 ou N > NbExt(me).
index 7587434..6da12fc 100755 (executable)
@@ -257,7 +257,7 @@ Standard_Real Extrema_FuncExtSS::SquareDistance (const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-Extrema_POnSurf Extrema_FuncExtSS::PointOnS1 (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_FuncExtSS::PointOnS1 (const Standard_Integer N) const
 {
   if (!myS1init || !myS2init) Standard_TypeMismatch::Raise();
   return myPoint1.Value(N);
@@ -267,7 +267,7 @@ Extrema_POnSurf Extrema_FuncExtSS::PointOnS1 (const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-Extrema_POnSurf Extrema_FuncExtSS::PointOnS2 (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_FuncExtSS::PointOnS2 (const Standard_Integer N) const
 {
   if (!myS1init || !myS2init) Standard_TypeMismatch::Raise();
   return myPoint2.Value(N);
index 98e4538..a397868 100755 (executable)
@@ -118,6 +118,7 @@ is
     is static;
     
     Point(me; N: Integer from Standard) returns ThePOnC
+        ---C++: return const &
        ---Purpose: Returns the point of the <N>th extremum distance.
     raises NotDone    from StdFail, 
           OutOfRange from Standard
index e27e643..6250bcf 100755 (executable)
@@ -337,7 +337,7 @@ Standard_Boolean Extrema_GExtPC::IsMin(const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-ThePOnC Extrema_GExtPC::Point(const Standard_Integer N) const
+const ThePOnC & Extrema_GExtPC::Point(const Standard_Integer N) const
 {
   if(!mydone) StdFail_NotDone::Raise();
   if ((N < 1) || (N > mySqDist.Length())) Standard_OutOfRange::Raise();
index 6eb07f6..35bf17f 100755 (executable)
@@ -119,6 +119,7 @@ is
        is static;
 
     Point (me) returns ThePOnC
+        ---C++: return const &
        ---Purpose: Returns the point of the extremum distance.
        raises  NotDone from StdFail
                -- if IsDone(me)=False.
index 21c0055..35e0d59 100755 (executable)
@@ -330,20 +330,14 @@ Standard_Boolean Extrema_GLocateExtPC::IsMin () const
 //purpose  : 
 //=======================================================================
 
-ThePOnC Extrema_GLocateExtPC::Point () const 
+const ThePOnC & Extrema_GLocateExtPC::Point () const 
 {
   if (!myDone) { StdFail_NotDone::Raise(); }
-  ThePOnC P;
   if (type == GeomAbs_BezierCurve) {
-    P = myLocExtPC.Point();
+    return myLocExtPC.Point();
   }
   else if(type == GeomAbs_BSplineCurve || type == GeomAbs_OtherCurve) {
-    P =  mypp;
+    return mypp;
   }
-  else {
-    if (numberext != 0) {
-      P = myExtremPC.Point(numberext);
-    }
-  }
-  return P;
+  return myExtremPC.Point(numberext);
 }
index 35a5863..cf83235 100755 (executable)
@@ -133,6 +133,7 @@ is
 
 
     Point (me; N: Integer) returns POnC
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth extremum distance.
     raises TypeMismatch from Standard,
           NotDone from StdFail,
index 2d5a3b9..7227024 100755 (executable)
@@ -235,7 +235,7 @@ Standard_Boolean Extrema_GenExtPC::IsMin (const Standard_Integer N) const {
 //purpose  : 
 //=======================================================================
 
-POnC Extrema_GenExtPC::Point (const Standard_Integer N) const 
+const POnC & Extrema_GenExtPC::Point (const Standard_Integer N) const 
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myF.Point(N);
index e5eaf18..86c4477 100755 (executable)
@@ -126,6 +126,7 @@ is
        is static;
 
     Point (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index 82982b6..3718186 100755 (executable)
@@ -953,7 +953,7 @@ Standard_Real Extrema_GenExtPS::SquareDistance (const Standard_Integer N) const
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_GenExtPS::Point (const Standard_Integer N) const
+const Extrema_POnSurf& Extrema_GenExtPS::Point (const Standard_Integer N) const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myF.Point(N);
index 2883515..22c5e58 100755 (executable)
@@ -111,6 +111,7 @@ is
        is static;
 
     PointOnS1 (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
@@ -119,6 +120,7 @@ is
        is static;
 
     PointOnS2 (me; N: Integer) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the Nth resulting distance.
        raises  NotDone from StdFail,
                -- if IsDone(me)=False.
index e0e29c9..876d7d9 100755 (executable)
@@ -321,7 +321,7 @@ Standard_Real Extrema_GenExtSS::SquareDistance(const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-Extrema_POnSurf Extrema_GenExtSS::PointOnS1(const Standard_Integer N) const 
+const Extrema_POnSurf& Extrema_GenExtSS::PointOnS1(const Standard_Integer N) const 
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myF.PointOnS1(N);
@@ -332,7 +332,7 @@ Extrema_POnSurf Extrema_GenExtSS::PointOnS1(const Standard_Integer N) const
 //purpose  : 
 //=======================================================================
 
-Extrema_POnSurf Extrema_GenExtSS::PointOnS2(const Standard_Integer N) const 
+const Extrema_POnSurf& Extrema_GenExtSS::PointOnS2(const Standard_Integer N) const 
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myF.PointOnS2(N);
index 82107cf..252fbd9 100755 (executable)
@@ -102,6 +102,7 @@ is
        is static;
 
     Point (me) returns POnC
+        ---C++: return const &
        ---Purpose: Returns the point of the extremum distance.
        raises  NotDone from StdFail
                -- if IsDone(me)=False.
index b245e32..5e29533 100755 (executable)
@@ -167,7 +167,7 @@ Standard_Boolean Extrema_GenLocateExtPC::IsMin () const
 //purpose  : 
 //=======================================================================
 
-POnC Extrema_GenLocateExtPC::Point () const 
+const POnC & Extrema_GenLocateExtPC::Point () const 
 {
   if (!myDone) { StdFail_NotDone::Raise(); }
   return myF.Point(1);
index 172ad50..5409f27 100755 (executable)
@@ -60,6 +60,7 @@ is
        is static;
 
     Point (me) returns POnSurf
+        ---C++: return const &
        ---Purpose: Returns the point of the extremum distance.
        raises  NotDone from StdFail
                -- if IsDone(me)=False.
index c47c38c..41e7900 100755 (executable)
@@ -101,7 +101,7 @@ Standard_Real Extrema_GenLocateExtPS::SquareDistance () const
 }
 //=============================================================================
 
-Extrema_POnSurf Extrema_GenLocateExtPS::Point () const
+const Extrema_POnSurf& Extrema_GenLocateExtPS::Point () const
 {
   if (!IsDone()) { StdFail_NotDone::Raise(); }
   return myPoint;