0024342: Create non-constant methods ChangeCoord with index parameter in classes...
authorabk <abk@opencascade.com>
Mon, 11 Nov 2013 09:04:25 +0000 (13:04 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 13 Mar 2014 09:34:23 +0000 (13:34 +0400)
The methods were created.

src/gp/gp_XY.cdl
src/gp/gp_XY.lxx
src/gp/gp_XYZ.cdl
src/gp/gp_XYZ.lxx

index f3331e0..800c10d 100644 (file)
@@ -70,6 +70,11 @@ is
       raises OutOfRange
       is static;
 
+  ChangeCoord (me: in out; theIndex : Integer) returns Real
+      ---C++: inline
+      ---C++: return &
+      raises OutOfRange;
+
   Coord (me; X, Y : out Real)  is static;
         ---C++: inline
         ---Purpose: For this number pair, returns its coordinates X and Y.
index 32183e9..460bbb6 100644 (file)
@@ -47,6 +47,12 @@ inline Standard_Real gp_XY::Coord (const Standard_Integer i) const
   return (&x)[i-1];
 }
 
+inline Standard_Real& gp_XY::ChangeCoord (const Standard_Integer theIndex)
+{
+  Standard_OutOfRange_Raise_if(theIndex < 1 || theIndex > 2,NULL);
+  return (&x)[theIndex - 1];
+}
+
 inline void gp_XY::Coord (Standard_Real& X,
                          Standard_Real& Y) const
 { X = x;  Y = y; }
index 8e40c31..a775fdb 100644 (file)
@@ -78,6 +78,12 @@ is
       raises OutOfRange
       is static;
 
+   ChangeCoord (me: in out; theIndex : Integer) returns Real
+      ---C++: inline
+      ---C++: return &
+      raises OutOfRange;
+
+
   Coord (me; X, Y, Z : out Real)  is static;
         ---C++: inline
         --Purpose: For this XYZ object, returns:
index b060336..9a9ed2a 100644 (file)
@@ -50,6 +50,12 @@ inline Standard_Real gp_XYZ::Coord (const Standard_Integer i) const {
   return (&x)[i-1];
 }
 
+inline Standard_Real& gp_XYZ::ChangeCoord(const Standard_Integer theIndex)
+{
+  Standard_OutOfRange_Raise_if(theIndex < 1 || theIndex > 3,NULL);
+  return (&x)[theIndex - 1];
+}
+
 inline void gp_XYZ::Coord (Standard_Real& X,
                           Standard_Real& Y,
                           Standard_Real& Z) const