]> OCCT Git - occt.git/commitdiff
Foundation Classes, gp - Mark geometry APIs noexcept/constexpr (#798) IR master
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Mon, 3 Nov 2025 10:19:05 +0000 (10:19 +0000)
committerGitHub <noreply@github.com>
Mon, 3 Nov 2025 10:19:05 +0000 (10:19 +0000)
- Add noexcept to many small mutating and non-throwing methods (Mirror, Mirrored, SetMirror, SetTranslationPart, etc.) across gp classes.
- Annotate trivial getters, translators and small computations as constexpr where applicable (SetLocation/SetPosition, Area/Length/Radius/Volume, Axis/Location/Position accessors, Translate helpers).
- Update headers and source files to improve noexcept/constexpr conformance for gp geometry and math types, enabling better optimization and stronger exception-safety guarantees.

36 files changed:
src/FoundationClasses/TKMath/gp/gp_Ax1.cxx
src/FoundationClasses/TKMath/gp/gp_Ax1.hxx
src/FoundationClasses/TKMath/gp/gp_Ax2.cxx
src/FoundationClasses/TKMath/gp/gp_Ax2.hxx
src/FoundationClasses/TKMath/gp/gp_Ax3.cxx
src/FoundationClasses/TKMath/gp/gp_Ax3.hxx
src/FoundationClasses/TKMath/gp/gp_Circ.cxx
src/FoundationClasses/TKMath/gp/gp_Circ.hxx
src/FoundationClasses/TKMath/gp/gp_Cone.cxx
src/FoundationClasses/TKMath/gp/gp_Cone.hxx
src/FoundationClasses/TKMath/gp/gp_Cylinder.cxx
src/FoundationClasses/TKMath/gp/gp_Cylinder.hxx
src/FoundationClasses/TKMath/gp/gp_Dir.cxx
src/FoundationClasses/TKMath/gp/gp_Dir.hxx
src/FoundationClasses/TKMath/gp/gp_Elips.cxx
src/FoundationClasses/TKMath/gp/gp_Elips.hxx
src/FoundationClasses/TKMath/gp/gp_Hypr.cxx
src/FoundationClasses/TKMath/gp/gp_Hypr.hxx
src/FoundationClasses/TKMath/gp/gp_Lin.cxx
src/FoundationClasses/TKMath/gp/gp_Lin.hxx
src/FoundationClasses/TKMath/gp/gp_Mat.cxx
src/FoundationClasses/TKMath/gp/gp_Mat.hxx
src/FoundationClasses/TKMath/gp/gp_Parab.cxx
src/FoundationClasses/TKMath/gp/gp_Parab.hxx
src/FoundationClasses/TKMath/gp/gp_Pln.cxx
src/FoundationClasses/TKMath/gp/gp_Pln.hxx
src/FoundationClasses/TKMath/gp/gp_Pnt.cxx
src/FoundationClasses/TKMath/gp/gp_Pnt.hxx
src/FoundationClasses/TKMath/gp/gp_Sphere.cxx
src/FoundationClasses/TKMath/gp/gp_Sphere.hxx
src/FoundationClasses/TKMath/gp/gp_Torus.cxx
src/FoundationClasses/TKMath/gp/gp_Torus.hxx
src/FoundationClasses/TKMath/gp/gp_Trsf.cxx
src/FoundationClasses/TKMath/gp/gp_Trsf.hxx
src/FoundationClasses/TKMath/gp/gp_Vec.cxx
src/FoundationClasses/TKMath/gp/gp_Vec.hxx

index 5b4ee27ee226e6db7128a462e5e0de8d40e9a0d4..eb3524c5db48488de7de01c280ed7af866ff3668 100644 (file)
@@ -43,39 +43,39 @@ Standard_Boolean gp_Ax1::IsCoaxial(const gp_Ax1&       Other,
           && D2 <= LinearTolerance);
 }
 
-void gp_Ax1::Mirror(const gp_Pnt& P)
+void gp_Ax1::Mirror(const gp_Pnt& P) noexcept
 {
   loc.Mirror(P);
   vdir.Reverse();
 }
 
-gp_Ax1 gp_Ax1::Mirrored(const gp_Pnt& P) const
+gp_Ax1 gp_Ax1::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Ax1 A1 = *this;
   A1.Mirror(P);
   return A1;
 }
 
-void gp_Ax1::Mirror(const gp_Ax1& A1)
+void gp_Ax1::Mirror(const gp_Ax1& A1) noexcept
 {
   loc.Mirror(A1);
   vdir.Mirror(A1.vdir);
 }
 
-gp_Ax1 gp_Ax1::Mirrored(const gp_Ax1& A1) const
+gp_Ax1 gp_Ax1::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Ax1 A = *this;
   A.Mirror(A1);
   return A;
 }
 
-void gp_Ax1::Mirror(const gp_Ax2& A2)
+void gp_Ax1::Mirror(const gp_Ax2& A2) noexcept
 {
   loc.Mirror(A2);
   vdir.Mirror(A2);
 }
 
-gp_Ax1 gp_Ax1::Mirrored(const gp_Ax2& A2) const
+gp_Ax1 gp_Ax1::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Ax1 A1 = *this;
   A1.Mirror(A2);
index 347ad4511a6e2d1fbec7d23b2546d4043f5fa27a..1853d5b50a2944a435428095d37d67285937b8a1 100644 (file)
@@ -118,34 +118,34 @@ public:
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to the point P which is the
   //! center of the symmetry and assigns the result to this axis.
-  Standard_EXPORT void Mirror(const gp_Pnt& P);
+  Standard_EXPORT void Mirror(const gp_Pnt& P) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to the point P which is the
   //! center of the symmetry and creates a new axis.
-  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Pnt& P) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Pnt& P) const noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to an axis placement which
   //! is the axis of the symmetry and assigns the result to this axis.
-  Standard_EXPORT void Mirror(const gp_Ax1& A1);
+  Standard_EXPORT void Mirror(const gp_Ax1& A1) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to an axis placement which
   //! is the axis of the symmetry and creates a new axis.
-  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Ax1& A1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Ax1& A1) const noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to a plane. The axis placement
   //! <A2> locates the plane of the symmetry :
   //! (Location, XDirection, YDirection) and assigns the result to this axis.
-  Standard_EXPORT void Mirror(const gp_Ax2& A2);
+  Standard_EXPORT void Mirror(const gp_Ax2& A2) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to a plane. The axis placement
   //! <A2> locates the plane of the symmetry :
   //! (Location, XDirection, YDirection) and creates a new axis.
-  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Ax2& A2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax1 Mirrored(const gp_Ax2& A2) const noexcept;
 
   //! Rotates this axis at an angle theAngRad (in radians) about the axis theA1
   //! and assigns the result to this axis.
index 465ec71ed21ce1ea28493205008321c30fd47c3a..196f1973fc26865c1836fbb614e936c3a798b23c 100644 (file)
@@ -74,7 +74,7 @@ gp_Ax2::gp_Ax2(const gp_Pnt& P, const gp_Dir& V)
   SetXDirection(D);
 }
 
-void gp_Ax2::Mirror(const gp_Pnt& P)
+void gp_Ax2::Mirror(const gp_Pnt& P) noexcept
 {
   gp_Pnt Temp = axis.Location();
   Temp.Mirror(P);
@@ -83,7 +83,7 @@ void gp_Ax2::Mirror(const gp_Pnt& P)
   vydir.Reverse();
 }
 
-gp_Ax2 gp_Ax2::Mirrored(const gp_Pnt& P) const
+gp_Ax2 gp_Ax2::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Ax2 Temp = *this;
   Temp.Mirror(P);
index 389a67461f1498bf48b6bba6fd97c8d32a76c27b..77bb2837d5449cf358583811792e256ad53889ca 100644 (file)
@@ -181,7 +181,7 @@ public:
   //! product "X Direction" ^ "Y   Direction".
   //! This maintains the right-handed property of the
   //! coordinate system.
-  Standard_EXPORT void Mirror(const gp_Pnt& P);
+  Standard_EXPORT void Mirror(const gp_Pnt& P) noexcept;
 
   //! Performs a symmetrical transformation of this coordinate
   //! system with respect to:
@@ -198,7 +198,7 @@ public:
   //! product "X Direction" ^ "Y   Direction".
   //! This maintains the right-handed property of the
   //! coordinate system.
-  Standard_NODISCARD Standard_EXPORT gp_Ax2 Mirrored(const gp_Pnt& P) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax2 Mirrored(const gp_Pnt& P) const noexcept;
 
   //! Performs a symmetrical transformation of this coordinate
   //! system with respect to:
index 6eb6ed0e5fe2c19c64b77ab75cd4e8a7648f2f49..ccbdbf4bfede378d468ccd0b8314c5847c6a1f5c 100644 (file)
@@ -73,42 +73,42 @@ gp_Ax3::gp_Ax3(const gp_Pnt& P, const gp_Dir& V)
   vydir = V.Crossed(vxdir);
 }
 
-void gp_Ax3::Mirror(const gp_Pnt& P)
+void gp_Ax3::Mirror(const gp_Pnt& P) noexcept
 {
   axis.Mirror(P);
   vxdir.Reverse();
   vydir.Reverse();
 }
 
-gp_Ax3 gp_Ax3::Mirrored(const gp_Pnt& P) const
+gp_Ax3 gp_Ax3::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Ax3 Temp = *this;
   Temp.Mirror(P);
   return Temp;
 }
 
-void gp_Ax3::Mirror(const gp_Ax1& A1)
+void gp_Ax3::Mirror(const gp_Ax1& A1) noexcept
 {
   vydir.Mirror(A1);
   vxdir.Mirror(A1);
   axis.Mirror(A1);
 }
 
-gp_Ax3 gp_Ax3::Mirrored(const gp_Ax1& A1) const
+gp_Ax3 gp_Ax3::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Ax3 Temp = *this;
   Temp.Mirror(A1);
   return Temp;
 }
 
-void gp_Ax3::Mirror(const gp_Ax2& A2)
+void gp_Ax3::Mirror(const gp_Ax2& A2) noexcept
 {
   vydir.Mirror(A2);
   vxdir.Mirror(A2);
   axis.Mirror(A2);
 }
 
-gp_Ax3 gp_Ax3::Mirrored(const gp_Ax2& A2) const
+gp_Ax3 gp_Ax3::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Ax3 Temp = *this;
   Temp.Mirror(A2);
index 4e0e71615a96519b042f2e1ce06fd8eb1b4cdf54..96208eb8c79cb334d57f62c3f305f5eeab9ffe0b 100644 (file)
@@ -200,7 +200,7 @@ public:
                               const Standard_Real theLinearTolerance,
                               const Standard_Real theAngularTolerance) const;
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to the point theP which is the
@@ -209,9 +209,9 @@ public:
   //! The main direction of the axis placement is not changed.
   //! The "XDirection" and the "YDirection" are reversed.
   //! So the axis placement stay right handed.
-  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to an axis placement which
@@ -220,9 +220,9 @@ public:
   //! point, on the "XDirection" and "YDirection".
   //! The resulting main "Direction" is the cross product between
   //! the "XDirection" and the "YDirection" after transformation.
-  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of an axis
   //! placement with respect to a plane.
@@ -232,7 +232,7 @@ public:
   //! point, on the "XDirection" and "YDirection".
   //! The resulting main "Direction" is the cross product between
   //! the "XDirection" and the "YDirection" after transformation.
-  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Ax3 Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng)
   {
index 8e8ae120c9f32179e13aca813d9ffd1cc3b78aec..77695fefd6dc4eb345a80f8b13eafc8e333a89a9 100644 (file)
 #include <gp_Ax2.hxx>
 #include <gp_Pnt.hxx>
 
-void gp_Circ::Mirror(const gp_Pnt& P)
+void gp_Circ::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Circ gp_Circ::Mirrored(const gp_Pnt& P) const
+gp_Circ gp_Circ::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Circ C = *this;
   C.pos.Mirror(P);
index 1ee32a0bc5c82b5bb18914ed0b23494fd8fe4331..b4c136b0cf35818ed31eae8ed34e334ad79ce444 100644 (file)
@@ -78,10 +78,10 @@ public:
   void SetAxis(const gp_Ax1& theA1) { pos.SetAxis(theA1); }
 
   //! Changes the "Location" point (center) of the circle.
-  void SetLocation(const gp_Pnt& theP) { pos.SetLocation(theP); }
+  constexpr void SetLocation(const gp_Pnt& theP) noexcept { pos.SetLocation(theP); }
 
   //! Changes the position of the circle.
-  void SetPosition(const gp_Ax2& theA2) { pos = theA2; }
+  constexpr void SetPosition(const gp_Ax2& theA2) noexcept { pos = theA2; }
 
   //! Modifies the radius of this circle.
   //! Warning. This class does not prevent the creation of a circle where theRadius is null.
@@ -95,44 +95,44 @@ public:
   }
 
   //! Computes the area of the circle.
-  Standard_Real Area() const { return M_PI * radius * radius; }
+  constexpr Standard_Real Area() const noexcept { return M_PI * radius * radius; }
 
   //! Returns the main axis of the circle.
   //! It is the axis perpendicular to the plane of the circle,
   //! passing through the "Location" point (center) of the circle.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the circumference of the circle.
-  Standard_Real Length() const { return 2. * M_PI * radius; }
+  constexpr Standard_Real Length() const noexcept { return 2. * M_PI * radius; }
 
   //! Returns the center of the circle. It is the
   //! "Location" point of the local coordinate system
   //! of the circle
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the position of the circle.
   //! It is the local coordinate system of the circle.
-  const gp_Ax2& Position() const { return pos; }
+  constexpr const gp_Ax2& Position() const noexcept { return pos; }
 
   //! Returns the radius of this circle.
-  Standard_Real Radius() const { return radius; }
+  constexpr Standard_Real Radius() const noexcept { return radius; }
 
   //! Returns the "XAxis" of the circle.
   //! This axis is perpendicular to the axis of the conic.
   //! This axis and the "Yaxis" define the plane of the conic.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the "YAxis" of the circle.
   //! This axis and the "Xaxis" define the plane of the conic.
   //! The "YAxis" is perpendicular to the "Xaxis".
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
   //! Computes the minimum of distance between the point theP and
   //! any point on the circumference of the circle.
-  Standard_Real Distance(const gp_Pnt& theP) const { return sqrt(SquareDistance(theP)); }
+  Standard_Real Distance(const gp_Pnt& theP) const noexcept { return sqrt(SquareDistance(theP)); }
 
   //! Computes the square distance between <me> and the point theP.
-  Standard_Real SquareDistance(const gp_Pnt& theP) const
+  Standard_Real SquareDistance(const gp_Pnt& theP) const noexcept
   {
     gp_Vec        aV(Location(), theP);
     Standard_Real aX  = aV.Dot(pos.XDirection());
@@ -145,17 +145,18 @@ public:
   //! Returns True if the point theP is on the circumference.
   //! The distance between <me> and <theP> must be lower or
   //! equal to theLinearTolerance.
-  Standard_Boolean Contains(const gp_Pnt& theP, const Standard_Real theLinearTolerance) const
+  Standard_Boolean Contains(const gp_Pnt&       theP,
+                            const Standard_Real theLinearTolerance) const noexcept
   {
     return Distance(theP) <= theLinearTolerance;
   }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a circle
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Circ Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Circ Mirrored(const gp_Pnt& theP) const noexcept;
 
   Standard_EXPORT void Mirror(const gp_Ax1& theA1);
 
@@ -196,21 +197,24 @@ public:
   //! Transforms a circle with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Circ Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a circle in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Circ Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Circ Translated(const gp_Vec& theV) const noexcept
   {
     gp_Circ aC = *this;
     aC.pos.Translate(theV);
     return aC;
   }
 
-  void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) { pos.Translate(theP1, theP2); }
+  constexpr void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept
+  {
+    pos.Translate(theP1, theP2);
+  }
 
   //! Translates a circle from the point theP1 to the point theP2.
-  Standard_NODISCARD gp_Circ Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const
+  Standard_NODISCARD gp_Circ Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const noexcept
   {
     gp_Circ aC = *this;
     aC.pos.Translate(theP1, theP2);
index da192c9d82363294c377d31fbc61358cbea939f6..ffb1e82a68d5efa6a90065b1f7edbabc2d0a9971 100644 (file)
@@ -63,36 +63,36 @@ void gp_Cone::Coefficients(Standard_Real& A1,
   D                  = T14 * T14 + T24 * T24 - radius * radius - T34 * T34 - 2.0 * radius * T34;
 }
 
-void gp_Cone::Mirror(const gp_Pnt& P)
+void gp_Cone::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Cone gp_Cone::Mirrored(const gp_Pnt& P) const
+gp_Cone gp_Cone::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Cone C = *this;
   C.pos.Mirror(P);
   return C;
 }
 
-void gp_Cone::Mirror(const gp_Ax1& A1)
+void gp_Cone::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Cone gp_Cone::Mirrored(const gp_Ax1& A1) const
+gp_Cone gp_Cone::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Cone C = *this;
   C.pos.Mirror(A1);
   return C;
 }
 
-void gp_Cone::Mirror(const gp_Ax2& A2)
+void gp_Cone::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Cone gp_Cone::Mirrored(const gp_Ax2& A2) const
+gp_Cone gp_Cone::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Cone C = *this;
   C.pos.Mirror(A2);
index b2dced720dd8a88e04dc17de088d7ba59eec9e8c..aa63968e0894207e4afaf34fb08acf8930997480 100644 (file)
@@ -77,11 +77,11 @@ public:
   void SetAxis(const gp_Ax1& theA1) { pos.SetAxis(theA1); }
 
   //! Changes the location of the cone.
-  void SetLocation(const gp_Pnt& theLoc) { pos.SetLocation(theLoc); }
+  constexpr void SetLocation(const gp_Pnt& theLoc) noexcept { pos.SetLocation(theLoc); }
 
   //! Changes the local coordinate system of the cone.
   //! This coordinate system defines the reference plane of the cone.
-  void SetPosition(const gp_Ax3& theA3) { pos = theA3; }
+  constexpr void SetPosition(const gp_Ax3& theA3) noexcept { pos = theA3; }
 
   //! Changes the radius of the cone in the reference plane of
   //! the cone.
@@ -112,10 +112,10 @@ public:
 
   //! Reverses the   U   parametrization of   the  cone
   //! reversing the YAxis.
-  void UReverse() { pos.YReverse(); }
+  constexpr void UReverse() noexcept { pos.YReverse(); }
 
   //! Reverses the   V   parametrization of   the  cone  reversing the ZAxis.
-  void VReverse()
+  constexpr void VReverse() noexcept
   {
     pos.ZReverse();
     semiAngle = -semiAngle;
@@ -125,7 +125,7 @@ public:
   Standard_Boolean Direct() const { return pos.Direct(); }
 
   //! returns the symmetry axis of the cone.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the coefficients of the implicit equation of the quadric
   //! in the absolute cartesian coordinates system :
@@ -143,44 +143,44 @@ public:
                                     Standard_Real& theD) const;
 
   //! returns the "Location" point of the cone.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the local coordinates system of the cone.
-  const gp_Ax3& Position() const { return pos; }
+  constexpr const gp_Ax3& Position() const noexcept { return pos; }
 
   //! Returns the radius of the cone in the reference plane.
-  Standard_Real RefRadius() const { return radius; }
+  constexpr Standard_Real RefRadius() const noexcept { return radius; }
 
   //! Returns the half-angle at the apex of this cone.
   //! Attention! Semi-angle can be negative.
-  Standard_Real SemiAngle() const { return semiAngle; }
+  constexpr Standard_Real SemiAngle() const noexcept { return semiAngle; }
 
   //! Returns the XAxis of the reference plane.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the YAxis of the reference plane.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a cone
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a cone with
   //! respect to an axis placement which is the axis of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a cone with respect
   //! to a plane. The axis placement theA2 locates the plane of the
   //! of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cone Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -204,11 +204,11 @@ public:
   //! Transforms a cone with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Cone Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a cone in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Cone Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Cone Translated(const gp_Vec& theV) const noexcept
   {
     gp_Cone aCone = *this;
     aCone.pos.Translate(theV);
index c22fb790f9e4d77429c38048483400d4fa89ac86..b234bb6855059f7003365dc7f91aa7c9d80954c2 100644 (file)
@@ -60,36 +60,36 @@ void gp_Cylinder::Coefficients(Standard_Real& A1,
   D  = T14 * T14 + T24 * T24 - radius * radius;
 }
 
-void gp_Cylinder::Mirror(const gp_Pnt& P)
+void gp_Cylinder::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Cylinder gp_Cylinder::Mirrored(const gp_Pnt& P) const
+gp_Cylinder gp_Cylinder::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Cylinder C = *this;
   C.pos.Mirror(P);
   return C;
 }
 
-void gp_Cylinder::Mirror(const gp_Ax1& A1)
+void gp_Cylinder::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Cylinder gp_Cylinder::Mirrored(const gp_Ax1& A1) const
+gp_Cylinder gp_Cylinder::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Cylinder C = *this;
   C.pos.Mirror(A1);
   return C;
 }
 
-void gp_Cylinder::Mirror(const gp_Ax2& A2)
+void gp_Cylinder::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Cylinder gp_Cylinder::Mirrored(const gp_Ax2& A2) const
+gp_Cylinder gp_Cylinder::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Cylinder C = *this;
   C.pos.Mirror(A2);
index e0fbfb6cece977ef858312ea143085bed79932c2..48eb53651a34af3a1559fc58e7c5c5b45794376f 100644 (file)
@@ -62,10 +62,10 @@ public:
   void SetAxis(const gp_Ax1& theA1) { pos.SetAxis(theA1); }
 
   //! Changes the location of the surface.
-  void SetLocation(const gp_Pnt& theLoc) { pos.SetLocation(theLoc); }
+  constexpr void SetLocation(const gp_Pnt& theLoc) noexcept { pos.SetLocation(theLoc); }
 
   //! Change the local coordinate system of the surface.
-  void SetPosition(const gp_Ax3& theA3) { pos = theA3; }
+  constexpr void SetPosition(const gp_Ax3& theA3) noexcept { pos = theA3; }
 
   //! Modifies the radius of this cylinder.
   //! Exceptions
@@ -80,17 +80,17 @@ public:
 
   //! Reverses the   U   parametrization of   the cylinder
   //! reversing the YAxis.
-  void UReverse() { pos.YReverse(); }
+  constexpr void UReverse() noexcept { pos.YReverse(); }
 
   //! Reverses the   V   parametrization of   the  plane
   //! reversing the Axis.
-  void VReverse() { pos.ZReverse(); }
+  constexpr void VReverse() noexcept { pos.ZReverse(); }
 
   //! Returns true if the local coordinate system of this cylinder is right-handed.
   Standard_Boolean Direct() const { return pos.Direct(); }
 
   //! Returns the symmetry axis of the cylinder.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the coefficients of the implicit equation of the quadric
   //! in the absolute cartesian coordinate system :
@@ -108,40 +108,40 @@ public:
                                     Standard_Real& theD) const;
 
   //! Returns the "Location" point of the cylinder.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the local coordinate system of the cylinder.
-  const gp_Ax3& Position() const { return pos; }
+  constexpr const gp_Ax3& Position() const noexcept { return pos; }
 
   //! Returns the radius of the cylinder.
-  Standard_Real Radius() const { return radius; }
+  constexpr Standard_Real Radius() const noexcept { return radius; }
 
   //! Returns the axis X of the cylinder.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the axis Y of the cylinder.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a cylinder
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a cylinder with
   //! respect to an axis placement which is the axis of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a cylinder with respect
   //! to a plane. The axis placement theA2 locates the plane of the
   //! of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Cylinder Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -165,11 +165,11 @@ public:
   //! Transforms a cylinder with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Cylinder Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a cylinder in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Cylinder Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Cylinder Translated(const gp_Vec& theV) const noexcept
   {
     gp_Cylinder aCyl = *this;
     aCyl.pos.Translate(theV);
index 691e79a160d9fac1822cc25b5ae5bd2cf6f7ba0f..9c75ae0fe8083478380f3ad13c5daf84f03153b4 100644 (file)
@@ -67,7 +67,7 @@ Standard_Real gp_Dir::AngleWithRef(const gp_Dir& Other, const gp_Dir& Vref) cons
     return -Ang;
 }
 
-void gp_Dir::Mirror(const gp_Dir& V)
+void gp_Dir::Mirror(const gp_Dir& V) noexcept
 {
   const gp_XYZ& XYZ = V.coord;
   Standard_Real A   = XYZ.X();
@@ -85,7 +85,7 @@ void gp_Dir::Mirror(const gp_Dir& V)
   coord.SetCoord(XX, YY, ZZ);
 }
 
-void gp_Dir::Mirror(const gp_Ax1& A1)
+void gp_Dir::Mirror(const gp_Ax1& A1) noexcept
 {
   const gp_XYZ& XYZ = A1.Direction().coord;
   Standard_Real A   = XYZ.X();
@@ -103,7 +103,7 @@ void gp_Dir::Mirror(const gp_Ax1& A1)
   coord.SetCoord(XX, YY, ZZ);
 }
 
-void gp_Dir::Mirror(const gp_Ax2& A2)
+void gp_Dir::Mirror(const gp_Ax2& A2) noexcept
 {
   const gp_Dir& Vz = A2.Direction();
   Mirror(Vz);
@@ -138,21 +138,21 @@ void gp_Dir::Transform(const gp_Trsf& T)
   }
 }
 
-gp_Dir gp_Dir::Mirrored(const gp_Dir& V) const
+gp_Dir gp_Dir::Mirrored(const gp_Dir& V) const noexcept
 {
   gp_Dir Vres = *this;
   Vres.Mirror(V);
   return Vres;
 }
 
-gp_Dir gp_Dir::Mirrored(const gp_Ax1& A1) const
+gp_Dir gp_Dir::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Dir V = *this;
   V.Mirror(A1);
   return V;
 }
 
-gp_Dir gp_Dir::Mirrored(const gp_Ax2& A2) const
+gp_Dir gp_Dir::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Dir V = *this;
   V.Mirror(A2);
index 671e894019c4bcf36886f2f9b0f96bfe7bf6aadb..904aefe38be256d6d1910f613c4bc32bd9047f08 100644 (file)
@@ -235,26 +235,26 @@ public:
 
   Standard_NODISCARD constexpr gp_Dir operator-() const noexcept { return Reversed(); }
 
-  Standard_EXPORT void Mirror(const gp_Dir& theV);
+  Standard_EXPORT void Mirror(const gp_Dir& theV) noexcept;
 
   //! Performs the symmetrical transformation of a direction
   //! with respect to the direction theV which is the center
   //! of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Dir& theV) const;
+  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Dir& theV) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a direction
   //! with respect to an axis placement which is the axis
   //! of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a direction
   //! with respect to a plane. The axis placement theA2 locates
   //! the plane of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Dir Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng);
 
index 865e3bd704670d66856716fc012908ad93dc8600..e35cd54af36541c10928a7831809be59f7bce4b7 100644 (file)
 #include <gp_Ax2.hxx>
 #include <gp_Pnt.hxx>
 
-void gp_Elips::Mirror(const gp_Pnt& P)
+void gp_Elips::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Elips gp_Elips::Mirrored(const gp_Pnt& P) const
+gp_Elips gp_Elips::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Elips E = *this;
   E.pos.Mirror(P);
index 4f768de967678812e5b7c46d132c73d0df79a02b..acb60181e37432e0ca19559263ac6c80f1ae488f 100644 (file)
@@ -90,7 +90,7 @@ public:
 
   //! Modifies this ellipse, by redefining its local coordinate
   //! so that its origin becomes theP.
-  void SetLocation(const gp_Pnt& theP) { pos.SetLocation(theP); }
+  constexpr void SetLocation(const gp_Pnt& theP) noexcept { pos.SetLocation(theP); }
 
   //! The major radius of the ellipse is on the "XAxis" (major axis)
   //! of the ellipse.
@@ -116,13 +116,13 @@ public:
 
   //! Modifies this ellipse, by redefining its local coordinate
   //! so that it becomes theA2.
-  void SetPosition(const gp_Ax2& theA2) { pos = theA2; }
+  constexpr void SetPosition(const gp_Ax2& theA2) noexcept { pos = theA2; }
 
   //! Computes the area of the Ellipse.
-  Standard_Real Area() const { return M_PI * majorRadius * minorRadius; }
+  constexpr Standard_Real Area() const noexcept { return M_PI * majorRadius * minorRadius; }
 
   //! Computes the axis normal to the plane of the ellipse.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the first or second directrix of this ellipse.
   //! These are the lines, in the plane of the ellipse, normal to
@@ -170,13 +170,13 @@ public:
 
   //! Returns the center of the ellipse. It is the "Location"
   //! point of the coordinate system of the ellipse.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the major radius of the ellipse.
-  Standard_Real MajorRadius() const { return majorRadius; }
+  constexpr Standard_Real MajorRadius() const noexcept { return majorRadius; }
 
   //! Returns the minor radius of the ellipse.
-  Standard_Real MinorRadius() const { return minorRadius; }
+  constexpr Standard_Real MinorRadius() const noexcept { return minorRadius; }
 
   //! Returns p = (1 - e * e) * MajorRadius where e is the eccentricity
   //! of the ellipse.
@@ -184,23 +184,23 @@ public:
   Standard_Real Parameter() const;
 
   //! Returns the coordinate system of the ellipse.
-  const gp_Ax2& Position() const { return pos; }
+  constexpr const gp_Ax2& Position() const noexcept { return pos; }
 
   //! Returns the "XAxis" of the ellipse whose origin
   //! is the center of this ellipse. It is the major axis of the
   //! ellipse.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the "YAxis" of the ellipse whose unit vector is the "X Direction" or the "Y Direction"
   //! of the local coordinate system of this ellipse.
   //! This is the minor axis of the ellipse.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of an ellipse with
   //! respect to the point theP which is the center of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Elips Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Elips Mirrored(const gp_Pnt& theP) const noexcept;
 
   Standard_EXPORT void Mirror(const gp_Ax1& theA1);
 
@@ -236,21 +236,24 @@ public:
   //! Transforms an ellipse with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Elips Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates an ellipse in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Elips Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Elips Translated(const gp_Vec& theV) const noexcept
   {
     gp_Elips anE = *this;
     anE.pos.Translate(theV);
     return anE;
   }
 
-  void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) { pos.Translate(theP1, theP2); }
+  constexpr void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept
+  {
+    pos.Translate(theP1, theP2);
+  }
 
   //! Translates an ellipse from the point theP1 to the point theP2.
-  Standard_NODISCARD gp_Elips Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const
+  Standard_NODISCARD gp_Elips Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const noexcept
   {
     gp_Elips anE = *this;
     anE.pos.Translate(theP1, theP2);
index 9b31e43f7d8811a4846805e1bb258cafdb4fb72f..dab0bf1d97732dad920fa668579c07da19bf6be9 100644 (file)
 #include <gp_Ax2.hxx>
 #include <gp_Pnt.hxx>
 
-void gp_Hypr::Mirror(const gp_Pnt& P)
+void gp_Hypr::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Hypr gp_Hypr::Mirrored(const gp_Pnt& P) const
+gp_Hypr gp_Hypr::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Hypr H = *this;
   H.pos.Mirror(P);
index 5931dd698b58ddd7bfe8c3358ac1c58c62b23b24..6450c20407212d239f361221ab95779aad15f35a 100644 (file)
@@ -146,7 +146,7 @@ public:
 
   //! Modifies this hyperbola, by redefining its local coordinate
   //! system so that it becomes A2.
-  void SetPosition(const gp_Ax2& theA2) { pos = theA2; }
+  constexpr void SetPosition(const gp_Ax2& theA2) noexcept { pos = theA2; }
 
   //! In the local coordinate system of the hyperbola the equation of
   //! the hyperbola is (X*X)/(A*A) - (Y*Y)/(B*B) = 1.0 and the
@@ -164,7 +164,7 @@ public:
 
   //! Returns the axis passing through the center,
   //! and normal to the plane of this hyperbola.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the branch of hyperbola which is on the positive side of the
   //! "YAxis" of <me>.
@@ -211,7 +211,7 @@ public:
 
   //! Computes the focal distance. It is the distance between the
   //! the two focus of the hyperbola.
-  Standard_Real Focal() const
+  Standard_Real Focal() const noexcept
   {
     return 2.0 * sqrt(majorRadius * majorRadius + minorRadius * minorRadius);
   }
@@ -226,15 +226,15 @@ public:
 
   //! Returns the location point of the hyperbola. It is the
   //! intersection point between the "XAxis" and the "YAxis".
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the major radius of the hyperbola. It is the radius
   //! on the "XAxis" of the hyperbola.
-  Standard_Real MajorRadius() const { return majorRadius; }
+  constexpr Standard_Real MajorRadius() const noexcept { return majorRadius; }
 
   //! Returns the minor radius of the hyperbola. It is the radius
   //! on the "YAxis" of the hyperbola.
-  Standard_Real MinorRadius() const { return minorRadius; }
+  constexpr Standard_Real MinorRadius() const noexcept { return minorRadius; }
 
   //! Returns the branch of hyperbola obtained by doing the
   //! symmetrical transformation of <me> with respect to the
@@ -257,7 +257,7 @@ public:
   }
 
   //! Returns the coordinate system of the hyperbola.
-  const gp_Ax2& Position() const { return pos; }
+  constexpr const gp_Ax2& Position() const noexcept { return pos; }
 
   //! Computes an axis, whose
   //! -   the origin is the center of this hyperbola, and
@@ -265,20 +265,20 @@ public:
   //! of the local coordinate system of this hyperbola.
   //! These axes are, the major axis (the "X
   //! Axis") and  of this hyperboReturns the "XAxis" of the hyperbola.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Computes an axis, whose
   //! -   the origin is the center of this hyperbola, and
   //! -   the unit vector is the "Y Direction"
   //! of the local coordinate system of this hyperbola.
   //! These axes are the minor axis (the "Y Axis") of this hyperbola
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of an hyperbola with
   //! respect to the point theP which is the center of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Hypr Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Hypr Mirrored(const gp_Pnt& theP) const noexcept;
 
   Standard_EXPORT void Mirror(const gp_Ax1& theA1);
 
@@ -315,21 +315,24 @@ public:
   //! class Trsf.
   Standard_NODISCARD gp_Hypr Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates an hyperbola in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Hypr Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Hypr Translated(const gp_Vec& theV) const noexcept
   {
     gp_Hypr aH = *this;
     aH.pos.Translate(theV);
     return aH;
   }
 
-  void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) { pos.Translate(theP1, theP2); }
+  constexpr void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept
+  {
+    pos.Translate(theP1, theP2);
+  }
 
   //! Translates an hyperbola from the point theP1 to the point theP2.
-  Standard_NODISCARD gp_Hypr Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const
+  Standard_NODISCARD gp_Hypr Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const noexcept
   {
     gp_Hypr aH = *this;
     aH.pos.Translate(theP1, theP2);
index cbd4f18db1dc46b7fe3fe52c9cefff16442d9274..35b88ae065e1fc2d62d3b58ed120b238dc727afb 100644 (file)
@@ -41,36 +41,36 @@ Standard_Real gp_Lin::Distance(const gp_Lin& Other) const
   }
 }
 
-void gp_Lin::Mirror(const gp_Pnt& P)
+void gp_Lin::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Lin gp_Lin::Mirrored(const gp_Pnt& P) const
+gp_Lin gp_Lin::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Lin L = *this;
   L.pos.Mirror(P);
   return L;
 }
 
-void gp_Lin::Mirror(const gp_Ax1& A1)
+void gp_Lin::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Lin gp_Lin::Mirrored(const gp_Ax1& A1) const
+gp_Lin gp_Lin::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Lin L = *this;
   L.pos.Mirror(A1);
   return L;
 }
 
-void gp_Lin::Mirror(const gp_Ax2& A2)
+void gp_Lin::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Lin gp_Lin::Mirrored(const gp_Ax2& A2) const
+gp_Lin gp_Lin::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Lin L = *this;
   L.pos.Mirror(A2);
index c22e24fafc0d954861156fc05b685e48a1b29f84..a3762b9e94a34604ac535a86f69cfba2f4c6f215 100644 (file)
@@ -73,28 +73,28 @@ public:
   }
 
   //! Changes the direction of the line.
-  void SetDirection(const gp_Dir& theV) { pos.SetDirection(theV); }
+  constexpr void SetDirection(const gp_Dir& theV) noexcept { pos.SetDirection(theV); }
 
   //! Changes the location point (origin) of the line.
-  void SetLocation(const gp_Pnt& theP) { pos.SetLocation(theP); }
+  constexpr void SetLocation(const gp_Pnt& theP) noexcept { pos.SetLocation(theP); }
 
   //! Complete redefinition of the line.
   //! The "Location" point of <theA1> is the origin of the line.
   //! The "Direction" of <theA1> is  the direction of the line.
-  void SetPosition(const gp_Ax1& theA1) { pos = theA1; }
+  constexpr void SetPosition(const gp_Ax1& theA1) noexcept { pos = theA1; }
 
   //! Returns the direction of the line.
-  const gp_Dir& Direction() const { return pos.Direction(); }
+  constexpr const gp_Dir& Direction() const noexcept { return pos.Direction(); }
 
   //! Returns the location point (origin) of the line.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the axis placement one axis with the same
   //! location and direction as <me>.
-  const gp_Ax1& Position() const { return pos; }
+  constexpr const gp_Ax1& Position() const noexcept { return pos; }
 
   //! Computes the angle between two lines in radians.
-  Standard_Real Angle(const gp_Lin& theOther) const
+  Standard_Real Angle(const gp_Lin& theOther) const noexcept
   {
     return pos.Direction().Angle(theOther.pos.Direction());
   }
@@ -102,22 +102,23 @@ public:
   //! Returns true if this line contains the point theP, that is, if the
   //! distance between point theP and this line is less than or
   //! equal to theLinearTolerance..
-  Standard_Boolean Contains(const gp_Pnt& theP, const Standard_Real theLinearTolerance) const
+  Standard_Boolean Contains(const gp_Pnt&       theP,
+                            const Standard_Real theLinearTolerance) const noexcept
   {
     return Distance(theP) <= theLinearTolerance;
   }
 
   //! Computes the distance between <me> and the point theP.
-  Standard_Real Distance(const gp_Pnt& theP) const;
+  Standard_Real Distance(const gp_Pnt& theP) const noexcept;
 
   //! Computes the distance between two lines.
   Standard_EXPORT Standard_Real Distance(const gp_Lin& theOther) const;
 
   //! Computes the square distance between <me> and the point theP.
-  Standard_Real SquareDistance(const gp_Pnt& theP) const;
+  Standard_Real SquareDistance(const gp_Pnt& theP) const noexcept;
 
   //! Computes the square distance between two lines.
-  Standard_Real SquareDistance(const gp_Lin& theOther) const
+  Standard_Real SquareDistance(const gp_Lin& theOther) const noexcept
   {
     Standard_Real aD = Distance(theOther);
     return aD * aD;
@@ -130,27 +131,27 @@ public:
   //! solutions in 3D space.
   gp_Lin Normal(const gp_Pnt& theP) const;
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a line
   //! with respect to the point theP which is the center of
   //! the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a line
   //! with respect to an axis placement which is the axis
   //! of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a line
   //! with respect to a plane. The axis placement  <theA2>
   //! locates the plane of the symmetry :
   //! (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Lin Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -185,11 +186,11 @@ public:
     return aL;
   }
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a line in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Lin Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Lin Translated(const gp_Vec& theV) const noexcept
   {
     gp_Lin aL = *this;
     aL.pos.Translate(theV);
@@ -212,7 +213,7 @@ private:
 
 //=================================================================================================
 
-inline Standard_Real gp_Lin::Distance(const gp_Pnt& theP) const
+inline Standard_Real gp_Lin::Distance(const gp_Pnt& theP) const noexcept
 {
   gp_XYZ aCoord = theP.XYZ();
   aCoord.Subtract((pos.Location()).XYZ());
@@ -222,7 +223,7 @@ inline Standard_Real gp_Lin::Distance(const gp_Pnt& theP) const
 
 //=================================================================================================
 
-inline Standard_Real gp_Lin::SquareDistance(const gp_Pnt& theP) const
+inline Standard_Real gp_Lin::SquareDistance(const gp_Pnt& theP) const noexcept
 {
   const gp_Pnt& aLoc = pos.Location();
   gp_Vec        aV(theP.X() - aLoc.X(), theP.Y() - aLoc.Y(), theP.Z() - aLoc.Z());
index a08483b008d7b40fc2ac650d1404f7d22558de4d..6203999c9ebc1314bfd8c21591f50f61687b0739 100644 (file)
@@ -99,7 +99,7 @@ void gp_Mat::SetCross(const gp_XYZ& theRef)
 
 //=================================================================================================
 
-void gp_Mat::SetDot(const gp_XYZ& theRef)
+void gp_Mat::SetDot(const gp_XYZ& theRef) noexcept
 {
   const Standard_Real X = theRef.X();
   const Standard_Real Y = theRef.Y();
index 3cc810b1f56dd19058d5a36bf9b08919c19d11ed..bb7a48dd0c8d2fc17fabe7bacb42efdb96b9dc35 100644 (file)
@@ -89,7 +89,7 @@ public:
   //! product of theRef and the number triple (X, Y, Z):
   //! this * (X,Y,Z) = theRef.(X,Y,Z)
   //! Note: this matrix is symmetric.
-  Standard_EXPORT void SetDot(const gp_XYZ& theRef);
+  Standard_EXPORT void SetDot(const gp_XYZ& theRef) noexcept;
 
   //! Modifies this matrix so that it represents the Identity matrix.
   constexpr void SetIdentity() noexcept
index 708d50bdba3acdffd08b37cba7b96767ba4afe0c..a4ac39b705b822aadcc59afeb995d143a16d2792 100644 (file)
 #include <gp_Ax2.hxx>
 #include <gp_Pnt.hxx>
 
-void gp_Parab::Mirror(const gp_Pnt& P)
+void gp_Parab::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Parab gp_Parab::Mirrored(const gp_Pnt& P) const
+gp_Parab gp_Parab::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Parab Prb = *this;
   Prb.pos.Mirror(P);
index 12cae6ee4961ec8c85482489a271698c198d66e4..f822ab40c3c5847973a62234cbf6be930530e49c 100644 (file)
@@ -102,15 +102,15 @@ public:
 
   //! Changes the location of the parabola. It is the vertex of
   //! the parabola.
-  void SetLocation(const gp_Pnt& theP) { pos.SetLocation(theP); }
+  constexpr void SetLocation(const gp_Pnt& theP) noexcept { pos.SetLocation(theP); }
 
   //! Changes the local coordinate system of the parabola.
-  void SetPosition(const gp_Ax2& theA2) { pos = theA2; }
+  constexpr void SetPosition(const gp_Ax2& theA2) noexcept { pos = theA2; }
 
   //! Returns the main axis of the parabola.
   //! It is the axis normal to the plane of the parabola passing
   //! through the vertex of the parabola.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the directrix of this parabola.
   //! The directrix is:
@@ -125,37 +125,37 @@ public:
 
   //! Returns the distance between the vertex and the focus
   //! of the parabola.
-  Standard_Real Focal() const { return focalLength; }
+  constexpr Standard_Real Focal() const noexcept { return focalLength; }
 
   //! -   Computes the focus of the parabola.
   gp_Pnt Focus() const;
 
   //! Returns the vertex of the parabola. It is the "Location"
   //! point of the coordinate system of the parabola.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Computes the parameter of the parabola.
   //! It is the distance between the focus and the directrix of
   //! the parabola. This distance is twice the focal length.
-  Standard_Real Parameter() const { return 2.0 * focalLength; }
+  constexpr Standard_Real Parameter() const noexcept { return 2.0 * focalLength; }
 
   //! Returns the local coordinate system of the parabola.
-  const gp_Ax2& Position() const { return pos; }
+  constexpr const gp_Ax2& Position() const noexcept { return pos; }
 
   //! Returns the symmetry axis of the parabola. The location point
   //! of the axis is the vertex of the parabola.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! It is an axis parallel to the directrix of the parabola.
   //! The location point of this axis is the vertex of the parabola.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a parabola
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Parab Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Parab Mirrored(const gp_Pnt& theP) const noexcept;
 
   Standard_EXPORT void Mirror(const gp_Ax1& theA1);
 
@@ -194,21 +194,24 @@ public:
   //! Transforms a parabola with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Parab Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a parabola in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Parab Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Parab Translated(const gp_Vec& theV) const noexcept
   {
     gp_Parab aPrb = *this;
     aPrb.pos.Translate(theV);
     return aPrb;
   }
 
-  void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) { pos.Translate(theP1, theP2); }
+  constexpr void Translate(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept
+  {
+    pos.Translate(theP1, theP2);
+  }
 
   //! Translates a parabola from the point theP1 to the point theP2.
-  Standard_NODISCARD gp_Parab Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const
+  Standard_NODISCARD gp_Parab Translated(const gp_Pnt& theP1, const gp_Pnt& theP2) const noexcept
   {
     gp_Parab aPrb = *this;
     aPrb.pos.Translate(theP1, theP2);
index 4fa153b87cb897a691ad02fa9dddd5fd14b887e1..9e0a29bfa02c80b078ed240bdc809ba2c72389d1 100644 (file)
@@ -110,36 +110,36 @@ gp_Pln::gp_Pln(const Standard_Real A,
   }
 }
 
-void gp_Pln::Mirror(const gp_Pnt& P)
+void gp_Pln::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Pln gp_Pln::Mirrored(const gp_Pnt& P) const
+gp_Pln gp_Pln::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Pln Pl = *this;
   Pl.pos.Mirror(P);
   return Pl;
 }
 
-void gp_Pln::Mirror(const gp_Ax1& A1)
+void gp_Pln::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Pln gp_Pln::Mirrored(const gp_Ax1& A1) const
+gp_Pln gp_Pln::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Pln Pl = *this;
   Pl.pos.Mirror(A1);
   return Pl;
 }
 
-void gp_Pln::Mirror(const gp_Ax2& A2)
+void gp_Pln::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Pln gp_Pln::Mirrored(const gp_Ax2& A2) const
+gp_Pln gp_Pln::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Pln Pl = *this;
   Pl.pos.Mirror(A2);
index 2d164d38fc9c3fa7c5fb1f192d8175a53dd9b781..14d2992963202db3e1a59b17711faec13002744a 100644 (file)
@@ -84,7 +84,7 @@ public:
   void Coefficients(Standard_Real& theA,
                     Standard_Real& theB,
                     Standard_Real& theC,
-                    Standard_Real& theD) const;
+                    Standard_Real& theD) const noexcept;
 
   //! Modifies this plane, by redefining its local coordinate system so that
   //! -   its origin and "main Direction" become those of the
@@ -93,66 +93,66 @@ public:
   void SetAxis(const gp_Ax1& theA1) { pos.SetAxis(theA1); }
 
   //! Changes the origin of the plane.
-  void SetLocation(const gp_Pnt& theLoc) { pos.SetLocation(theLoc); }
+  constexpr void SetLocation(const gp_Pnt& theLoc) noexcept { pos.SetLocation(theLoc); }
 
   //! Changes the local coordinate system of the plane.
-  void SetPosition(const gp_Ax3& theA3) { pos = theA3; }
+  constexpr void SetPosition(const gp_Ax3& theA3) noexcept { pos = theA3; }
 
   //! Reverses the U parametrization of the plane
   //! reversing the XAxis.
-  void UReverse() { pos.XReverse(); }
+  constexpr void UReverse() noexcept { pos.XReverse(); }
 
   //! Reverses the V parametrization of the plane
   //! reversing the YAxis.
-  void VReverse() { pos.YReverse(); }
+  constexpr void VReverse() noexcept { pos.YReverse(); }
 
   //! Returns true if the Ax3 is right handed.
   Standard_Boolean Direct() const { return pos.Direct(); }
 
   //! Returns the plane's normal Axis.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Returns the plane's location (origin).
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the local coordinate system of the plane.
-  const gp_Ax3& Position() const { return pos; }
+  constexpr const gp_Ax3& Position() const noexcept { return pos; }
 
   //! Computes the distance between <me> and the point <theP>.
-  Standard_Real Distance(const gp_Pnt& theP) const;
+  Standard_Real Distance(const gp_Pnt& theP) const noexcept;
 
   //! Computes the distance between <me> and the line <theL>.
-  Standard_Real Distance(const gp_Lin& theL) const;
+  Standard_Real Distance(const gp_Lin& theL) const noexcept;
 
   //! Computes the distance between two planes.
-  Standard_Real Distance(const gp_Pln& theOther) const;
+  Standard_Real Distance(const gp_Pln& theOther) const noexcept;
 
   //! Computes the square distance between <me> and the point <theP>.
-  Standard_Real SquareDistance(const gp_Pnt& theP) const
+  Standard_Real SquareDistance(const gp_Pnt& theP) const noexcept
   {
     Standard_Real aD = Distance(theP);
     return aD * aD;
   }
 
   //! Computes the square distance between <me> and the line <theL>.
-  Standard_Real SquareDistance(const gp_Lin& theL) const
+  Standard_Real SquareDistance(const gp_Lin& theL) const noexcept
   {
     Standard_Real aD = Distance(theL);
     return aD * aD;
   }
 
   //! Computes the square distance between two planes.
-  Standard_Real SquareDistance(const gp_Pln& theOther) const
+  Standard_Real SquareDistance(const gp_Pln& theOther) const noexcept
   {
     Standard_Real aD = Distance(theOther);
     return aD * aD;
   }
 
   //! Returns the X axis of the plane.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the Y axis of the plane.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
   //! Returns true if this plane contains the point theP. This means that
   //! -   the distance between point theP and this plane is less
@@ -162,7 +162,8 @@ public:
   //! AngularTolerance, and the distance between the origin
   //! of line L and this plane is less than or equal to
   //! theLinearTolerance.
-  Standard_Boolean Contains(const gp_Pnt& theP, const Standard_Real theLinearTolerance) const
+  Standard_Boolean Contains(const gp_Pnt&       theP,
+                            const Standard_Real theLinearTolerance) const noexcept
   {
     return Distance(theP) <= theLinearTolerance;
   }
@@ -177,22 +178,22 @@ public:
   //! theLinearTolerance.
   Standard_Boolean Contains(const gp_Lin&       theL,
                             const Standard_Real theLinearTolerance,
-                            const Standard_Real theAngularTolerance) const
+                            const Standard_Real theAngularTolerance) const noexcept
   {
     return Contains(theL.Location(), theLinearTolerance)
            && pos.Direction().IsNormal(theL.Direction(), theAngularTolerance);
   }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a plane with respect
   //! to the point <theP> which is the center of the symmetry
   //! Warnings :
   //! The normal direction to the plane is not changed.
   //! The "XAxis" and the "YAxis" are reversed.
-  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a plane with
   //! respect to an axis placement which is the axis of the
@@ -201,9 +202,9 @@ public:
   //! direction is the cross product between the "XDirection" and
   //! the "YDirection" after transformation if the initial plane
   //! was right handed, else it is the opposite.
-  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a plane with
   //! respect to an axis placement. The axis placement <A2>
@@ -213,7 +214,7 @@ public:
   //! between the "XDirection" and the "YDirection" after
   //! transformation if the initial plane was right handed,
   //! else it is the opposite.
-  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pln Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -250,11 +251,11 @@ public:
     return aPl;
   }
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a plane in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Pln Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Pln Translated(const gp_Vec& theV) const noexcept
   {
     gp_Pln aPl = *this;
     aPl.pos.Translate(theV);
@@ -283,7 +284,7 @@ private:
 inline void gp_Pln::Coefficients(Standard_Real& theA,
                                  Standard_Real& theB,
                                  Standard_Real& theC,
-                                 Standard_Real& theD) const
+                                 Standard_Real& theD) const noexcept
 {
   const gp_Dir& aDir = pos.Direction();
   if (pos.Direct())
@@ -304,7 +305,7 @@ inline void gp_Pln::Coefficients(Standard_Real& theA,
 
 //=================================================================================================
 
-inline Standard_Real gp_Pln::Distance(const gp_Pnt& theP) const
+inline Standard_Real gp_Pln::Distance(const gp_Pnt& theP) const noexcept
 {
   const gp_Pnt& aLoc = pos.Location();
   const gp_Dir& aDir = pos.Direction();
@@ -319,7 +320,7 @@ inline Standard_Real gp_Pln::Distance(const gp_Pnt& theP) const
 
 //=================================================================================================
 
-inline Standard_Real gp_Pln::Distance(const gp_Lin& theL) const
+inline Standard_Real gp_Pln::Distance(const gp_Lin& theL) const noexcept
 {
   Standard_Real aD = 0.0;
   if ((pos.Direction()).IsNormal(theL.Direction(), gp::Resolution()))
@@ -339,7 +340,7 @@ inline Standard_Real gp_Pln::Distance(const gp_Lin& theL) const
 
 //=================================================================================================
 
-inline Standard_Real gp_Pln::Distance(const gp_Pln& theOther) const
+inline Standard_Real gp_Pln::Distance(const gp_Pln& theOther) const noexcept
 {
   Standard_Real aD = 0.0;
   if ((pos.Direction()).IsParallel(theOther.pos.Direction(), gp::Resolution()))
index d9e890ff05b090a21c77a13ef05d1329d4c3cebd..5313344c22bdee92eac9de3dfc32743c12354c39 100644 (file)
@@ -52,7 +52,7 @@ void gp_Pnt::Transform(const gp_Trsf& T)
   }
 }
 
-void gp_Pnt::Mirror(const gp_Pnt& P)
+void gp_Pnt::Mirror(const gp_Pnt& P) noexcept
 {
   coord.Reverse();
   gp_XYZ XYZ = P.coord;
@@ -60,35 +60,35 @@ void gp_Pnt::Mirror(const gp_Pnt& P)
   coord.Add(XYZ);
 }
 
-gp_Pnt gp_Pnt::Mirrored(const gp_Pnt& P) const
+gp_Pnt gp_Pnt::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Pnt Pres = *this;
   Pres.Mirror(P);
   return Pres;
 }
 
-void gp_Pnt::Mirror(const gp_Ax1& A1)
+void gp_Pnt::Mirror(const gp_Ax1& A1) noexcept
 {
   gp_Trsf T;
   T.SetMirror(A1);
   T.Transforms(coord);
 }
 
-gp_Pnt gp_Pnt::Mirrored(const gp_Ax1& A1) const
+gp_Pnt gp_Pnt::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Pnt P = *this;
   P.Mirror(A1);
   return P;
 }
 
-void gp_Pnt::Mirror(const gp_Ax2& A2)
+void gp_Pnt::Mirror(const gp_Ax2& A2) noexcept
 {
   gp_Trsf T;
   T.SetMirror(A2);
   T.Transforms(coord);
 }
 
-gp_Pnt gp_Pnt::Mirrored(const gp_Ax2& A2) const
+gp_Pnt gp_Pnt::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Pnt P = *this;
   P.Mirror(A2);
index 4f67fe920e4f4397fe79b9ee2b286bbc3413efc7..19fcd908d6b729005fb85cc17a2d76b304019d41 100644 (file)
@@ -145,25 +145,25 @@ public:
   //! Performs the symmetrical transformation of a point
   //! with respect to the point theP which is the center of
   //! the  symmetry.
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a point
   //! with respect to an axis placement which is the axis
   //! of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a point
   //! with respect to a plane. The axis placement theA2 locates
   //! the plane of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Rotates a point. theA1 is the axis of the rotation.
   //! theAng is the angular value of the rotation in radians.
-  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Pnt Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng);
 
index 5a7c47eb9eb9298b6da3a9ab8e431d498a7acc3d..5c89811622c9aede7abc60fa9e5e665971fba62b 100644 (file)
@@ -59,36 +59,36 @@ void gp_Sphere::Coefficients(Standard_Real& A1,
   D                 = T14 * T14 + T24 * T24 + T34 * T34 - radius * radius;
 }
 
-void gp_Sphere::Mirror(const gp_Pnt& P)
+void gp_Sphere::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Sphere gp_Sphere::Mirrored(const gp_Pnt& P) const
+gp_Sphere gp_Sphere::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Sphere C = *this;
   C.pos.Mirror(P);
   return C;
 }
 
-void gp_Sphere::Mirror(const gp_Ax1& A1)
+void gp_Sphere::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Sphere gp_Sphere::Mirrored(const gp_Ax1& A1) const
+gp_Sphere gp_Sphere::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Sphere C = *this;
   C.pos.Mirror(A1);
   return C;
 }
 
-void gp_Sphere::Mirror(const gp_Ax2& A2)
+void gp_Sphere::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Sphere gp_Sphere::Mirrored(const gp_Ax2& A2) const
+gp_Sphere gp_Sphere::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Sphere C = *this;
   C.pos.Mirror(A2);
index bcc636310bfe96c2a04a6fb4b518ec8da307d095..142de872586858b47eb9187af2970644b381fb67 100644 (file)
@@ -63,10 +63,10 @@ public:
   }
 
   //! Changes the center of the sphere.
-  void SetLocation(const gp_Pnt& theLoc) { pos.SetLocation(theLoc); }
+  constexpr void SetLocation(const gp_Pnt& theLoc) noexcept { pos.SetLocation(theLoc); }
 
   //! Changes the local coordinate system of the sphere.
-  void SetPosition(const gp_Ax3& theA3) { pos = theA3; }
+  constexpr void SetPosition(const gp_Ax3& theA3) noexcept { pos = theA3; }
 
   //! Assigns theR the radius of the Sphere.
   //! Warnings :
@@ -80,7 +80,7 @@ public:
   }
 
   //! Computes the area of the sphere.
-  Standard_Real Area() const { return 4.0 * M_PI * radius * radius; }
+  constexpr Standard_Real Area() const noexcept { return 4.0 * M_PI * radius * radius; }
 
   //! Computes the coefficients of the implicit equation of the quadric
   //! in the absolute cartesian coordinates system :
@@ -101,11 +101,11 @@ public:
 
   //! Reverses the   U   parametrization of   the sphere
   //! reversing the YAxis.
-  void UReverse() { pos.YReverse(); }
+  constexpr void UReverse() noexcept { pos.YReverse(); }
 
   //! Reverses the   V   parametrization of   the  sphere
   //! reversing the ZAxis.
-  void VReverse() { pos.ZReverse(); }
+  constexpr void VReverse() noexcept { pos.ZReverse(); }
 
   //! Returns true if the local coordinate system of this sphere
   //! is right-handed.
@@ -113,43 +113,46 @@ public:
 
   //! --- Purpose ;
   //! Returns the center of the sphere.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the local coordinates system of the sphere.
-  const gp_Ax3& Position() const { return pos; }
+  constexpr const gp_Ax3& Position() const noexcept { return pos; }
 
   //! Returns the radius of the sphere.
-  Standard_Real Radius() const { return radius; }
+  constexpr Standard_Real Radius() const noexcept { return radius; }
 
   //! Computes the volume of the sphere
-  Standard_Real Volume() const { return (4.0 * M_PI * radius * radius * radius) / 3.0; }
+  constexpr Standard_Real Volume() const noexcept
+  {
+    return (4.0 * M_PI * radius * radius * radius) / 3.0;
+  }
 
   //! Returns the axis X of the sphere.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! Returns the axis Y of the sphere.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a sphere
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a sphere with
   //! respect to an axis placement which is the axis of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a sphere with respect
   //! to a plane. The axis placement theA2 locates the plane of the
   //! of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Sphere Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -173,11 +176,11 @@ public:
   //! Transforms a sphere with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Sphere Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a sphere in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Sphere Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Sphere Translated(const gp_Vec& theV) const noexcept
   {
     gp_Sphere aC = *this;
     aC.pos.Translate(theV);
index c249957d0d58fc6c93b06fb0098d4ed29f30c50f..b211aa61f7d9d73b3716f72fc5a863cdf98abf26 100644 (file)
@@ -151,36 +151,36 @@ void gp_Torus::Coefficients(TColStd_Array1OfReal& theCoef) const
                             + aSubRadius * aSubRadius;
 }
 
-void gp_Torus::Mirror(const gp_Pnt& P)
+void gp_Torus::Mirror(const gp_Pnt& P) noexcept
 {
   pos.Mirror(P);
 }
 
-gp_Torus gp_Torus::Mirrored(const gp_Pnt& P) const
+gp_Torus gp_Torus::Mirrored(const gp_Pnt& P) const noexcept
 {
   gp_Torus C = *this;
   C.pos.Mirror(P);
   return C;
 }
 
-void gp_Torus::Mirror(const gp_Ax1& A1)
+void gp_Torus::Mirror(const gp_Ax1& A1) noexcept
 {
   pos.Mirror(A1);
 }
 
-gp_Torus gp_Torus::Mirrored(const gp_Ax1& A1) const
+gp_Torus gp_Torus::Mirrored(const gp_Ax1& A1) const noexcept
 {
   gp_Torus C = *this;
   C.pos.Mirror(A1);
   return C;
 }
 
-void gp_Torus::Mirror(const gp_Ax2& A2)
+void gp_Torus::Mirror(const gp_Ax2& A2) noexcept
 {
   pos.Mirror(A2);
 }
 
-gp_Torus gp_Torus::Mirrored(const gp_Ax2& A2) const
+gp_Torus gp_Torus::Mirrored(const gp_Ax2& A2) const noexcept
 {
   gp_Torus C = *this;
   C.pos.Mirror(A2);
index b3a67a269c0c34c3bc423176895735506f8af8e8..eb7de67d768d54be3042421e4a679dd2ba37b25e 100644 (file)
@@ -92,7 +92,7 @@ public:
   void SetAxis(const gp_Ax1& theA1) { pos.SetAxis(theA1); }
 
   //! Changes the location of the torus.
-  void SetLocation(const gp_Pnt& theLoc) { pos.SetLocation(theLoc); }
+  constexpr void SetLocation(const gp_Pnt& theLoc) noexcept { pos.SetLocation(theLoc); }
 
   //! Assigns value to the major radius  of this torus.
   //! Raises ConstructionError if theMajorRadius - MinorRadius <= Resolution()
@@ -115,24 +115,27 @@ public:
   }
 
   //! Changes the local coordinate system of the surface.
-  void SetPosition(const gp_Ax3& theA3) { pos = theA3; }
+  constexpr void SetPosition(const gp_Ax3& theA3) noexcept { pos = theA3; }
 
   //! Computes the area of the torus.
-  Standard_Real Area() const { return 4.0 * M_PI * M_PI * minorRadius * majorRadius; }
+  constexpr Standard_Real Area() const noexcept
+  {
+    return 4.0 * M_PI * M_PI * minorRadius * majorRadius;
+  }
 
   //! Reverses the   U   parametrization of   the  torus
   //! reversing the YAxis.
-  void UReverse() { pos.YReverse(); }
+  constexpr void UReverse() noexcept { pos.YReverse(); }
 
   //! Reverses the   V   parametrization of   the  torus
   //! reversing the ZAxis.
-  void VReverse() { pos.ZReverse(); }
+  constexpr void VReverse() noexcept { pos.ZReverse(); }
 
   //! returns true if the Ax3, the local coordinate system of this torus, is right handed.
   Standard_Boolean Direct() const { return pos.Direct(); }
 
   //! returns the symmetry axis of the torus.
-  const gp_Ax1& Axis() const { return pos.Axis(); }
+  constexpr const gp_Ax1& Axis() const noexcept { return pos.Axis(); }
 
   //! Computes the coefficients of the implicit equation of the surface
   //! in the absolute Cartesian coordinate system:
@@ -156,49 +159,49 @@ public:
   Standard_EXPORT void Coefficients(TColStd_Array1OfReal& theCoef) const;
 
   //! Returns the Torus's location.
-  const gp_Pnt& Location() const { return pos.Location(); }
+  constexpr const gp_Pnt& Location() const noexcept { return pos.Location(); }
 
   //! Returns the local coordinates system of the torus.
-  const gp_Ax3& Position() const { return pos; }
+  constexpr const gp_Ax3& Position() const noexcept { return pos; }
 
   //! returns the major radius of the torus.
-  Standard_Real MajorRadius() const { return majorRadius; }
+  constexpr Standard_Real MajorRadius() const noexcept { return majorRadius; }
 
   //! returns the minor radius of the torus.
-  Standard_Real MinorRadius() const { return minorRadius; }
+  constexpr Standard_Real MinorRadius() const noexcept { return minorRadius; }
 
   //! Computes the volume of the torus.
-  Standard_Real Volume() const
+  constexpr Standard_Real Volume() const noexcept
   {
     return (M_PI * minorRadius * minorRadius) * (2.0 * M_PI * majorRadius);
   }
 
   //! returns the axis X of the torus.
-  gp_Ax1 XAxis() const { return gp_Ax1(pos.Location(), pos.XDirection()); }
+  constexpr gp_Ax1 XAxis() const noexcept { return gp_Ax1(pos.Location(), pos.XDirection()); }
 
   //! returns the axis Y of the torus.
-  gp_Ax1 YAxis() const { return gp_Ax1(pos.Location(), pos.YDirection()); }
+  constexpr gp_Ax1 YAxis() const noexcept { return gp_Ax1(pos.Location(), pos.YDirection()); }
 
-  Standard_EXPORT void Mirror(const gp_Pnt& theP);
+  Standard_EXPORT void Mirror(const gp_Pnt& theP) noexcept;
 
   //! Performs the symmetrical transformation of a torus
   //! with respect to the point theP which is the center of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Pnt& theP) const;
+  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Pnt& theP) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a torus with
   //! respect to an axis placement which is the axis of the
   //! symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a torus with respect
   //! to a plane. The axis placement theA2 locates the plane of the
   //! of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Torus Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng) { pos.Rotate(theA1, theAng); }
 
@@ -222,11 +225,11 @@ public:
   //! Transforms a torus with the transformation theT from class Trsf.
   Standard_NODISCARD gp_Torus Transformed(const gp_Trsf& theT) const;
 
-  void Translate(const gp_Vec& theV) { pos.Translate(theV); }
+  constexpr void Translate(const gp_Vec& theV) noexcept { pos.Translate(theV); }
 
   //! Translates a torus in the direction of the vector theV.
   //! The magnitude of the translation is the vector's magnitude.
-  Standard_NODISCARD gp_Torus Translated(const gp_Vec& theV) const
+  Standard_NODISCARD gp_Torus Translated(const gp_Vec& theV) const noexcept
   {
     gp_Torus aC = *this;
     aC.pos.Translate(theV);
index 56c5fc19ca4d44f9b81fd771c84d01d2c033e104..bf6d2abcfa9ed5816a08352fe694d056ff52d4f1 100644 (file)
@@ -56,7 +56,7 @@ gp_Trsf::gp_Trsf(const gp_Trsf2d& T)
 
 //=================================================================================================
 
-void gp_Trsf::SetMirror(const gp_Ax1& A1)
+void gp_Trsf::SetMirror(const gp_Ax1& A1) noexcept
 {
   shape = gp_Ax1Mirror;
   scale = 1;
@@ -72,7 +72,7 @@ void gp_Trsf::SetMirror(const gp_Ax1& A1)
 
 //=================================================================================================
 
-void gp_Trsf::SetMirror(const gp_Ax2& A2)
+void gp_Trsf::SetMirror(const gp_Ax2& A2) noexcept
 {
   shape = gp_Ax2Mirror;
   scale = -1;
@@ -243,7 +243,7 @@ void gp_Trsf::SetDisplacement(const gp_Ax3& FromA1, const gp_Ax3& ToA2)
 
 //=================================================================================================
 
-void gp_Trsf::SetTranslationPart(const gp_Vec& V)
+void gp_Trsf::SetTranslationPart(const gp_Vec& V) noexcept
 {
 
   loc                            = V.XYZ();
index 7706bdfd886b5d4aec488c2d14bf5e0fd788e4b2..b8f98c014f0446de136f19663ca5fbebca308f0d 100644 (file)
@@ -83,17 +83,17 @@ public:
 
   //! Makes the transformation into a symmetrical transformation.
   //! theP is the center of the symmetry.
-  void SetMirror(const gp_Pnt& theP);
+  void SetMirror(const gp_Pnt& theP) noexcept;
 
   //! Makes the transformation into a symmetrical transformation.
   //! theA1 is the center of the axial symmetry.
-  Standard_EXPORT void SetMirror(const gp_Ax1& theA1);
+  Standard_EXPORT void SetMirror(const gp_Ax1& theA1) noexcept;
 
   //! Makes the transformation into a symmetrical transformation.
   //! theA2 is the center of the planar symmetry
   //! and defines the plane of symmetry by its origin, "X
   //! Direction" and "Y Direction".
-  Standard_EXPORT void SetMirror(const gp_Ax2& theA2);
+  Standard_EXPORT void SetMirror(const gp_Ax2& theA2) noexcept;
 
   //! Changes the transformation into a rotation.
   //! theA1 is the rotation axis and theAng is the angular value of the
@@ -174,14 +174,14 @@ public:
 
   //! Changes the transformation into a translation.
   //! theV is the vector of the translation.
-  void SetTranslation(const gp_Vec& theV);
+  constexpr void SetTranslation(const gp_Vec& theV) noexcept;
 
   //! Makes the transformation into a translation where the translation vector
   //! is the vector (theP1, theP2) defined from point theP1 to point theP2.
-  void SetTranslation(const gp_Pnt& theP1, const gp_Pnt& theP2);
+  constexpr void SetTranslation(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept;
 
   //! Replaces the translation vector with the vector theV.
-  Standard_EXPORT void SetTranslationPart(const gp_Vec& theV);
+  Standard_EXPORT void SetTranslationPart(const gp_Vec& theV) noexcept;
 
   //! Modifies the scale factor.
   //! Raises ConstructionError  If theS is null.
@@ -387,7 +387,7 @@ inline constexpr gp_Trsf::gp_Trsf() noexcept
 
 //=================================================================================================
 
-inline void gp_Trsf::SetMirror(const gp_Pnt& theP)
+inline void gp_Trsf::SetMirror(const gp_Pnt& theP) noexcept
 {
   shape = gp_PntMirror;
   scale = -1.0;
@@ -398,7 +398,7 @@ inline void gp_Trsf::SetMirror(const gp_Pnt& theP)
 
 //=================================================================================================
 
-inline void gp_Trsf::SetTranslation(const gp_Vec& theV)
+inline constexpr void gp_Trsf::SetTranslation(const gp_Vec& theV) noexcept
 {
   shape = gp_Translation;
   scale = 1.;
@@ -408,7 +408,7 @@ inline void gp_Trsf::SetTranslation(const gp_Vec& theV)
 
 //=================================================================================================
 
-inline void gp_Trsf::SetTranslation(const gp_Pnt& theP1, const gp_Pnt& theP2)
+inline constexpr void gp_Trsf::SetTranslation(const gp_Pnt& theP1, const gp_Pnt& theP2) noexcept
 {
   shape = gp_Translation;
   scale = 1.0;
index 1e31526aa688f0b1306d504c0bed59fe5107a972..67ee824662e17f7b0251b2aeb56c9221ad4d6807 100644 (file)
@@ -48,7 +48,7 @@ Standard_Boolean gp_Vec::IsEqual(const gp_Vec&       theOther,
   }
 }
 
-void gp_Vec::Mirror(const gp_Vec& theVec)
+void gp_Vec::Mirror(const gp_Vec& theVec) noexcept
 {
   const Standard_Real aMagnitude = theVec.coord.Modulus();
   if (aMagnitude > gp::Resolution())
@@ -77,7 +77,7 @@ void gp_Vec::Mirror(const gp_Vec& theVec)
   }
 }
 
-void gp_Vec::Mirror(const gp_Ax1& theAxis)
+void gp_Vec::Mirror(const gp_Ax1& theAxis) noexcept
 {
   const gp_XYZ&       aDirectionXYZ = theAxis.Direction().XYZ();
   const Standard_Real aOrigX        = coord.X();
@@ -100,7 +100,7 @@ void gp_Vec::Mirror(const gp_Ax1& theAxis)
   coord.SetZ(aCrossTermXZ * aOrigX + aCrossTermYZ * aOrigY + aZZTerm * aOrigZ);
 }
 
-void gp_Vec::Mirror(const gp_Ax2& theAxis)
+void gp_Vec::Mirror(const gp_Ax2& theAxis) noexcept
 {
   const gp_XYZ& aZDir   = theAxis.Direction().XYZ();
   const gp_XYZ  aMirXYZ = aZDir.Crossed(coord);
@@ -136,21 +136,21 @@ void gp_Vec::Transform(const gp_Trsf& theTransformation)
   }
 }
 
-gp_Vec gp_Vec::Mirrored(const gp_Vec& theVec) const
+gp_Vec gp_Vec::Mirrored(const gp_Vec& theVec) const noexcept
 {
   gp_Vec aResult = *this;
   aResult.Mirror(theVec);
   return aResult;
 }
 
-gp_Vec gp_Vec::Mirrored(const gp_Ax1& theAxis) const
+gp_Vec gp_Vec::Mirrored(const gp_Ax1& theAxis) const noexcept
 {
   gp_Vec aResult = *this;
   aResult.Mirror(theAxis);
   return aResult;
 }
 
-gp_Vec gp_Vec::Mirrored(const gp_Ax2& theAxis) const
+gp_Vec gp_Vec::Mirrored(const gp_Ax2& theAxis) const noexcept
 {
   gp_Vec aResult = *this;
   aResult.Mirror(theAxis);
index 96b44d4a690957d2b24eff39256ff6b0471f4c8c..a46c26dd37dfd8e0c34e08fa3643b6e307e43d90 100644 (file)
@@ -406,26 +406,26 @@ public:
     coord.SetLinearForm(theV1.coord, theV2.coord);
   }
 
-  Standard_EXPORT void Mirror(const gp_Vec& theV);
+  Standard_EXPORT void Mirror(const gp_Vec& theV) noexcept;
 
   //! Performs the symmetrical transformation of a vector
   //! with respect to the vector theV which is the center of
   //! the  symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Vec& theV) const;
+  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Vec& theV) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax1& theA1);
+  Standard_EXPORT void Mirror(const gp_Ax1& theA1) noexcept;
 
   //! Performs the symmetrical transformation of a vector
   //! with respect to an axis placement which is the axis
   //! of the symmetry.
-  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Ax1& theA1) const;
+  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Ax1& theA1) const noexcept;
 
-  Standard_EXPORT void Mirror(const gp_Ax2& theA2);
+  Standard_EXPORT void Mirror(const gp_Ax2& theA2) noexcept;
 
   //! Performs the symmetrical transformation of a vector
   //! with respect to a plane. The axis placement theA2 locates
   //! the plane of the symmetry : (Location, XDirection, YDirection).
-  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Ax2& theA2) const;
+  Standard_NODISCARD Standard_EXPORT gp_Vec Mirrored(const gp_Ax2& theA2) const noexcept;
 
   void Rotate(const gp_Ax1& theA1, const Standard_Real theAng);