]> OCCT Git - occt.git/commitdiff
Coding - Reorganize code with constexpr #68
authordpasukhi <dpasukhi@opencascade.com>
Sun, 22 Sep 2024 12:33:29 +0000 (12:33 +0000)
committerdpasukhi <dpasukhi@opencascade.com>
Sun, 22 Sep 2024 12:46:46 +0000 (12:46 +0000)
After rework Precision.hxx some local
  variables can be marked as constexpr

171 files changed:
src/AIS/AIS_ColorScale.cxx
src/Adaptor3d/Adaptor3d_CurveOnSurface.cxx
src/AdvApprox/AdvApprox_DichoCutting.cxx
src/AdvApprox/AdvApprox_PrefAndRec.cxx
src/AdvApprox/AdvApprox_PrefCutting.cxx
src/AppDef/AppDef_Variational.cxx
src/Approx/Approx_ComputeLine.gxx
src/ApproxInt/ApproxInt_ImpPrmSvSurfaces.gxx
src/ApproxInt/ApproxInt_MultiLine.gxx
src/BOPTools/BOPTools_AlgoTools.cxx
src/BOPTools/BOPTools_AlgoTools2D.cxx
src/BRep/BRep_Tool.cxx
src/BRepBndLib/BRepBndLib_1.cxx
src/BRepCheck/BRepCheck_Edge.cxx
src/BRepClass/BRepClass_FaceExplorer.cxx
src/BRepClass3d/BRepClass3d_SolidExplorer.cxx
src/BRepExtrema/BRepExtrema_DistanceSS.cxx
src/BRepExtrema/BRepExtrema_ProximityValueTool.cxx
src/BRepFeat/BRepFeat.cxx
src/BRepFeat/BRepFeat_Form.cxx
src/BRepFeat/BRepFeat_MakePrism.cxx
src/BRepFeat/BRepFeat_MakeRevol.cxx
src/BRepFill/BRepFill_Evolved.cxx
src/BRepFill/BRepFill_Generator.cxx
src/BRepFill/BRepFill_MultiLine.cxx
src/BRepFill/BRepFill_NSections.cxx
src/BRepFill/BRepFill_OffsetWire.cxx
src/BRepFill/BRepFill_SectionPlacement.cxx
src/BRepFill/BRepFill_TrimEdgeTool.cxx
src/BRepGProp/BRepGProp_Face.cxx
src/BRepLib/BRepLib.cxx
src/BRepLib/BRepLib_FuseEdges.cxx
src/BRepLib/BRepLib_MakeEdge.cxx
src/BRepLib/BRepLib_MakeEdge2d.cxx
src/BRepLib/BRepLib_MakeFace.cxx
src/BRepLib/BRepLib_MakeShell.cxx
src/BRepLib/BRepLib_ToolTriangulatedShape.cxx
src/BRepMAT2d/BRepMAT2d_Explorer.cxx
src/BRepMesh/BRepMesh_Classifier.cxx
src/BRepMesh/BRepMesh_CurveTessellator.cxx
src/BRepMesh/BRepMesh_GeomTool.cxx
src/BRepMesh/BRepMesh_VertexTool.cxx
src/BRepOffset/BRepOffset.cxx
src/BRepOffset/BRepOffset_Inter2d.cxx
src/BRepOffset/BRepOffset_MakeOffset.cxx
src/BRepOffset/BRepOffset_Offset.cxx
src/BRepOffset/BRepOffset_Tool.cxx
src/BRepOffsetAPI/BRepOffsetAPI_MiddlePath.cxx
src/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx
src/BRepSweep/BRepSweep_Trsf.cxx
src/BRepTest/BRepTest_CurveCommands.cxx
src/BRepTest/BRepTest_OtherCommands.cxx
src/BRepTools/BRepTools.cxx
src/BiTgte/BiTgte_Blend.cxx
src/Bisector/Bisector_BisecAna.cxx
src/Bisector/Bisector_BisecCC.cxx
src/Bisector/Bisector_BisecPC.cxx
src/Bisector/Bisector_Inter.cxx
src/BndLib/BndLib.cxx
src/BndLib/BndLib_Add2dCurve.cxx
src/ChFiKPart/ChFiKPart_ComputeData_FilPlnCyl.cxx
src/Contap/Contap_Contour.cxx
src/Draft/Draft_Modification.cxx
src/Draft/Draft_Modification_1.cxx
src/DsgPrs/DsgPrs.cxx
src/Extrema/Extrema_ExtElCS.cxx
src/Extrema/Extrema_ExtPElC.cxx
src/Extrema/Extrema_FuncExtCS.cxx
src/Extrema/Extrema_FuncPSNorm.cxx
src/Extrema/Extrema_GExtPC.gxx
src/Extrema/Extrema_GenExtCS.cxx
src/Extrema/Extrema_GenLocateExtPS.cxx
src/Extrema/Extrema_GlobOptFuncCQuadric.cxx
src/Extrema/Extrema_GlobOptFuncConicS.cxx
src/GCPnts/GCPnts_TangentialDeflection.cxx
src/GccAna/GccAna_Circ2dBisec.cxx
src/Geom/Geom_OffsetSurface.cxx
src/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx
src/GeomAPI/GeomAPI_ExtremaCurveCurve.cxx
src/GeomAPI/GeomAPI_ExtremaCurveSurface.cxx
src/GeomAPI/GeomAPI_ExtremaSurfaceSurface.cxx
src/GeomAPI/GeomAPI_ProjectPointOnSurf.cxx
src/GeomAdaptor/GeomAdaptor_Surface.cxx
src/GeomAdaptor/GeomAdaptor_SurfaceOfRevolution.cxx
src/GeomConvert/GeomConvert_CurveToAnaCurve.cxx
src/GeomConvert/GeomConvert_SurfToAnaSurf.cxx
src/GeomFill/GeomFill_BSplineCurves.cxx
src/GeomFill/GeomFill_BezierCurves.cxx
src/GeomFill/GeomFill_CircularBlendFunc.cxx
src/GeomFill/GeomFill_DiscreteTrihedron.cxx
src/GeomFill/GeomFill_Frenet.cxx
src/GeomFill/GeomFill_NSections.cxx
src/GeomFill/GeomFill_Pipe.cxx
src/GeomInt/GeomInt_IntSS_1.cxx
src/GeomInt/GeomInt_LineConstructor.cxx
src/GeomInt/GeomInt_LineTool.cxx
src/GeomLib/GeomLib.cxx
src/GeomLib/GeomLib_IsPlanarSurface.cxx
src/GeomLib/GeomLib_Tool.cxx
src/GeomToIGES/GeomToIGES_GeomCurve.cxx
src/GeometryTest/GeometryTest_CurveCommands.cxx
src/HLRAlgo/HLRAlgo_PolyAlgo.cxx
src/HLRBRep/HLRBRep.cxx
src/IGESToBRep/IGESToBRep_BasicCurve.cxx
src/IntAna/IntAna_Curve.cxx
src/IntAna/IntAna_IntQuadQuad.cxx
src/IntCurveSurface/IntCurveSurface_Inter.gxx
src/IntPatch/IntPatch_GLine.cxx
src/IntPatch/IntPatch_ImpPrmIntersection.cxx
src/IntPatch/IntPatch_Intersection.cxx
src/IntPatch/IntPatch_PointLine.cxx
src/IntPatch/IntPatch_PrmPrmIntersection.cxx
src/IntPatch/IntPatch_WLine.cxx
src/IntPatch/IntPatch_WLineTool.cxx
src/IntWalk/IntWalk_PWalking.cxx
src/LocOpe/LocOpe_FindEdgesInFace.cxx
src/LocOpe/LocOpe_Generator.cxx
src/LocOpe/LocOpe_WiresOnShape.cxx
src/MAT2d/MAT2d_Circuit.cxx
src/MAT2d/MAT2d_CutCurve.cxx
src/MeshVS/MeshVS_MeshPrsBuilder.cxx
src/MeshVS/MeshVS_Tool.cxx
src/ProjLib/ProjLib_CompProjectedCurve.cxx
src/ProjLib/ProjLib_ComputeApprox.cxx
src/ProjLib/ProjLib_ComputeApproxOnPolarSurface.cxx
src/ProjLib/ProjLib_ProjectOnSurface.cxx
src/ProjLib/ProjLib_ProjectedCurve.cxx
src/ProjLib/ProjLib_Sphere.cxx
src/PrsDim/PrsDim_EqualDistanceRelation.cxx
src/PrsDim/PrsDim_FixRelation.cxx
src/PrsDim/PrsDim_IdenticRelation.cxx
src/PrsDim/PrsDim_MidPointRelation.cxx
src/QABugs/QABugs_10.cxx
src/QABugs/QABugs_11.cxx
src/QABugs/QABugs_13.cxx
src/QABugs/QABugs_19.cxx
src/QABugs/QABugs_20.cxx
src/SWDRAW/SWDRAW_ShapeTool.cxx
src/ShapeAlgo/ShapeAlgo_AlgoContainer.cxx
src/ShapeAnalysis/ShapeAnalysis_CanonicalRecognition.cxx
src/ShapeAnalysis/ShapeAnalysis_Edge.cxx
src/ShapeAnalysis/ShapeAnalysis_Surface.cxx
src/ShapeAnalysis/ShapeAnalysis_TransferParametersProj.cxx
src/ShapeAnalysis/ShapeAnalysis_WireOrder.cxx
src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.cxx
src/ShapeCustom/ShapeCustom_Curve2d.cxx
src/ShapeFix/ShapeFix_ComposeShell.cxx
src/ShapeFix/ShapeFix_Edge.cxx
src/ShapeFix/ShapeFix_EdgeProjAux.cxx
src/ShapeFix/ShapeFix_Solid.cxx
src/ShapeFix/ShapeFix_Wire_1.cxx
src/ShapeFix/ShapeFix_Wireframe.cxx
src/ShapeUpgrade/ShapeUpgrade_ConvertCurve2dToBezier.cxx
src/ShapeUpgrade/ShapeUpgrade_ConvertCurve3dToBezier.cxx
src/ShapeUpgrade/ShapeUpgrade_ConvertSurfaceToBezierBasis.cxx
src/ShapeUpgrade/ShapeUpgrade_ShapeConvertToBezier.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitCurve.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitCurve2d.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitCurve2dContinuity.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitCurve3d.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitCurve3dContinuity.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitSurface.cxx
src/ShapeUpgrade/ShapeUpgrade_SplitSurfaceContinuity.cxx
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
src/ShapeUpgrade/ShapeUpgrade_WireDivide.cxx
src/StdPrs/StdPrs_ShadedShape.cxx
src/TopTrans/TopTrans_SurfaceTransition.cxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
src/VrmlData/VrmlData_Material.cxx
src/VrmlData/VrmlData_ShapeConvert.cxx
src/gce/gce_MakeCirc.cxx

index 08ec0bcf75a1739aabb0c11f65219ca792e1cc49..704245425d7299f08d0d2dba16c171f10c463764 100644 (file)
@@ -293,7 +293,7 @@ Aspect_SequenceOfColor AIS_ColorScale::MakeUniformColors (Standard_Integer theNb
 
   // adjust range to be within (0, 360], with sign according to theHueFrom and theHueTo 
   Standard_Real aHueRange = std::fmod (theHueTo - theHueFrom, 360.);
-  const Standard_Real aHueEps = Precision::Angular() * 180. / M_PI;
+  constexpr Standard_Real aHueEps = Precision::Angular() * 180. / M_PI;
   if (Abs (aHueRange) <= aHueEps)
   {
     aHueRange = (aHueRange < 0 ? -360. : 360.);
index 1f6c58642a8339b84ff4a0b2cc33fdf518a37ca7..c6bc29ed348defa1c4e102d155bbedf6367ee5e8 100644 (file)
@@ -147,7 +147,7 @@ static void Hunt(const TColStd_Array1OfReal& Arr,
                 Standard_Integer& Iloc)
 {//Warning: Hunt is used to find number of knot which equals coordinate component,
   //        when coordinate component definitely equals a knot only.
-  Standard_Real Tol=Precision::PConfusion()/10;
+  constexpr Standard_Real Tol=Precision::PConfusion()/10;
   Standard_Integer i=1; 
   while((i <= Arr.Upper()) && (Abs(Coord - Arr(i)) > Tol)){
     i++;}
@@ -204,7 +204,7 @@ static void FindBounds(const TColStd_Array1OfReal& Arr,
 
 {
   Standard_Integer N=0;
-  Standard_Real Tol=Precision::PConfusion()/10;
+  constexpr Standard_Real Tol=Precision::PConfusion()/10;
   Hunt(Arr,Coord,N);
   DerNull=Standard_False;
   
@@ -243,7 +243,7 @@ static void Locate1Coord(const Standard_Integer Index,
                         gp_Pnt2d& LeftBot, gp_Pnt2d& RightTop)
 {
   Standard_Real Comp1=0, DComp1=0, cur, f = 0.0, l = 0.0;
-  Standard_Real Tol = Precision::PConfusion()/10;
+  constexpr Standard_Real Tol = Precision::PConfusion()/10;
   Standard_Integer i = 1, Bnd1, Bnd2;
   Standard_Boolean DIsNull= Standard_False; 
   TColStd_Array1OfReal Arr(1,BSplC->NbKnots());  BSplC->Knots(Arr);
@@ -345,7 +345,7 @@ static void Locate1Coord(const Standard_Integer Index,
         gp_Pnt2d& RightTop)
 {
   Standard_Real Comp1=0,DComp1=0; 
-  Standard_Real Tol = Precision::PConfusion()/10;
+  constexpr Standard_Real Tol = Precision::PConfusion()/10;
   Standard_Integer i=1, Up=0, Up1, Up2, Down=0, Down1, Down2;
   Standard_Real cur = 0.;
 
@@ -556,7 +556,7 @@ static void Locate2Coord(const Standard_Integer Index,
                         const Standard_Real I2,
                         gp_Pnt2d& LeftBot, gp_Pnt2d& RightTop)
 {
-  Standard_Real Tol=Precision::PConfusion()/10;
+  constexpr Standard_Real Tol=Precision::PConfusion()/10;
   Standard_Real Comp1=0,DComp1=0;
   if(Index==1)   {   Comp1=UV.X();
                     DComp1=DUV.X();} 
@@ -620,7 +620,7 @@ static void Locate2Coord(const Standard_Integer Index,
                         gp_Pnt2d& LeftBot, gp_Pnt2d& RightTop)
 {
   Standard_Real Comp=0,DComp=0,Tmp1=0.0,Tmp2=0.0;
-  Standard_Real Tol=Precision::PConfusion()/10;
+  constexpr Standard_Real Tol=Precision::PConfusion()/10;
   Standard_Integer N=0, NUp=0, NLo=0;
   if(Index==1)
     { Comp=UV.X();
@@ -893,7 +893,7 @@ Standard_Integer Adaptor3d_CurveOnSurface::NbIntervals (const GeomAbs_Shape S) c
 
   myCurve->Intervals(TabC,S);
 
-  Standard_Real Tol= Precision::PConfusion()/10;
+  constexpr Standard_Real Tol= Precision::PConfusion()/10;
 
   // sorted sequence of parameters defining continuity intervals;
   // started with own intervals of curve and completed by 
@@ -1063,7 +1063,7 @@ void Adaptor3d_CurveOnSurface::D1(const Standard_Real U ,
   Standard_Real FP = myCurve->FirstParameter();
   Standard_Real LP = myCurve->LastParameter();
   
-  Standard_Real Tol= Precision::PConfusion()/10; 
+  constexpr Standard_Real Tol= Precision::PConfusion()/10;
   if( ( Abs(U-FP)<Tol)&&(!myFirstSurf.IsNull()) )
     {
       myCurve->D1(U,Puv,Duv);
@@ -1103,7 +1103,7 @@ void Adaptor3d_CurveOnSurface::D2(const Standard_Real U,
   Standard_Real FP = myCurve->FirstParameter();
   Standard_Real LP = myCurve->LastParameter();
   
-  Standard_Real Tol= Precision::PConfusion()/10; 
+  constexpr Standard_Real Tol= Precision::PConfusion()/10;
   if( (Abs(U-FP)<Tol)&&(!myFirstSurf.IsNull()) )
     {
       myCurve->D2(U,UV,DW,D2W);
@@ -1152,7 +1152,7 @@ void Adaptor3d_CurveOnSurface::D3
    gp_Vec& V3) const
 { 
   
-  Standard_Real Tol= Precision::PConfusion()/10; 
+  constexpr Standard_Real Tol= Precision::PConfusion()/10;
   gp_Pnt2d UV;
   gp_Vec2d DW,D2W,D3W;
   gp_Vec D1U,D1V,D2U,D2V,D2UV,D3U,D3V,D3UUV,D3UVV;
@@ -1651,7 +1651,7 @@ void Adaptor3d_CurveOnSurface::EvalFirstLastSurf()
   Standard_Real FirstPar,LastPar;
   gp_Pnt2d UV, LeftBot, RightTop;
   gp_Vec2d DUV;
-  Standard_Real Tol= Precision::PConfusion()/10;
+  constexpr Standard_Real Tol= Precision::PConfusion()/10;
   Standard_Boolean Ok = Standard_True;
   
   
index 369c43edc80bf672464617d9cf3962204afaf681..f0f83888b74e364df2ec765540b8dc365958c87b 100644 (file)
@@ -27,7 +27,7 @@ Standard_Boolean AdvApprox_DichoCutting::Value(const Standard_Real a,
                                                Standard_Real& cuttingvalue) const
 {
 //  longueur minimum d'un intervalle pour F(U,V) : EPS1=1.e-9 (cf.MEPS1)
-  Standard_Real lgmin = 10*Precision::PConfusion();
+  constexpr Standard_Real lgmin = 10*Precision::PConfusion();
   cuttingvalue = (a+b) / 2;
   return (Abs(b-a)>=2*lgmin);
 }
index be5e8ba9c281d57f59dc5c1c13f3b93d1241d9eb..8596abbbec0332a0350c4e30adb5d025fa5838d0 100644 (file)
@@ -36,7 +36,7 @@ Standard_Boolean AdvApprox_PrefAndRec::Value(const Standard_Real a,
                                             Standard_Real& cuttingvalue) const
 {
 //  longueur minimum d'un intervalle parametrique : 10*PConfusion()
-  Standard_Real lgmin = 10 * Precision::PConfusion();
+  constexpr Standard_Real lgmin = 10 * Precision::PConfusion();
   Standard_Integer i;
   Standard_Real cut, mil=(a+b)/2, dist;
   Standard_Boolean isfound = Standard_False;
index 02753ec1f7b7bb3ebbfab42dc0f3fd896b351eba..d2509c7ecb3f77cc207d5c606ff03cc60e337aac 100644 (file)
@@ -30,7 +30,7 @@ Standard_Boolean AdvApprox_PrefCutting::Value(const Standard_Real a,
 {
 //  longueur minimum d'un intervalle parametrique : PConfusion()
 //                                    pour F(U,V) : EPS1=1.e-9 (cf.MMEPS1)
-  Standard_Real lgmin = 10 * Precision::PConfusion();
+  constexpr Standard_Real lgmin = 10 * Precision::PConfusion();
   Standard_Integer i;
   Standard_Real cut, mil=(a+b)/2,
                 dist = Abs((a-b)/2);
index b4604d0e351b7d33f0ad1c56d7f89702d0f53efe..c1618c6850050dfd7296c5532e4931d334ee12d0 100644 (file)
@@ -2004,7 +2004,7 @@ void AppDef_Variational::InitSmoothCriterion()
 void AppDef_Variational::InitParameters(Standard_Real& Length)
 {
 
-  const Standard_Real Eps1 = Precision::Confusion() * .01;
+  constexpr Standard_Real Eps1 = Precision::Confusion() * .01;
 
   Standard_Real aux, dist;
   Standard_Integer i, i0, i1 = 0, ipoint;
@@ -2052,7 +2052,7 @@ void AppDef_Variational::InitCriterionEstimations(const Standard_Real Length,
 {
   E1 = Length * Length;
 
-  const Standard_Real Eps1 = Precision::Confusion() * .01;
+  constexpr Standard_Real Eps1 = Precision::Confusion() * .01;
 
   math_Vector VTang1(1, myDimension), VTang2(1, myDimension), VTang3(1, myDimension),
     VScnd1(1, myDimension), VScnd2(1, myDimension), VScnd3(1, myDimension);
@@ -2180,7 +2180,7 @@ void AppDef_Variational::EstTangent(const Standard_Integer ipnt,
 
 {
   Standard_Integer i ;
-  const Standard_Real Eps1 = Precision::Confusion() * .01;
+  constexpr Standard_Real Eps1 = Precision::Confusion() * .01;
   const Standard_Real EpsNorm = 1.e-9;
 
   Standard_Real Wpnt = 1.;
index 9e63eb95a9a144e8c9adedab0c37d591cafad9b2..938ba470334b70308b7792d348cfe104a46531be 100644 (file)
@@ -139,7 +139,7 @@ static Standard_Boolean CheckMultiCurve(const AppParCurves_MultiCurve& theMultiC
     return Standard_True;
 
   const Standard_Real MinScalProd = -0.9;
-  const Standard_Real SqTol3d = Precision::SquareConfusion();
+  constexpr Standard_Real SqTol3d = Precision::SquareConfusion();
 
   theIndbad = 0;
   Standard_Integer indbads [4];
index 2aa215b58c9877e222369e7087ebd5794297b1b0..6c992b70792f3aa0d97670aeb4519ca943464d3c 100644 (file)
@@ -438,7 +438,7 @@ Standard_Boolean ApproxInt_ImpPrmSvSurfaces::Compute( Standard_Real& u1,
   gp_Vec2d& aPrmTg = MyImplicitFirst ? Tguv2 : Tguv1;
 
   //for square
-  const Standard_Real aNullValue =  Precision::Approximation()*
+  constexpr Standard_Real aNullValue =  Precision::Approximation()*
                                     Precision::Approximation(),
                       anAngTol = Precision::Angular();
 
index 45225b1364a8272897ec96d98b614e79ea4afd97..d5e48459725006879eae25d43cddf0ef900885bb 100644 (file)
@@ -621,7 +621,7 @@ Standard_Boolean
     ((TheSvSurfaces *)PtrOnmySvSurfaces)->SetUseSolver(Standard_True);
   }
 
-  const Standard_Real SqTol3d = Precision::SquareConfusion();
+  constexpr Standard_Real SqTol3d = Precision::SquareConfusion();
   math_Vector tolerance(1,2);
   tolerance(1) = tolerance(2) = 1.e-8;
   
index 7b60afb8214c1f7b64f470162373ba8de61b9c62..131170d72ca1b284c16dd4e12315456f5c3a5ddf 100644 (file)
@@ -989,7 +989,7 @@ Standard_Boolean BOPTools_AlgoTools::GetFaceOff
   //
   // The difference between faces should be obvious enough
   // to guarantee the correctness of the classification
-  Standard_Real anAngleCriteria = Precision::Confusion();
+  constexpr Standard_Real anAngleCriteria = Precision::Confusion();
 
   bRet=Standard_True;
   aIt.Initialize(theLCSOff);
@@ -2181,7 +2181,7 @@ Standard_Real MinStep3D(const TopoDS_Edge& theE1,
     }
     //
     if (aR > 100.) {
-      Standard_Real d = 10*Precision::PConfusion();
+      constexpr Standard_Real d = 10*Precision::PConfusion();
       aDtMin = Max(aDtMin, sqrt(d*d + 2*d*aR));
     }
   }
index 9bcafe1c332ca90f4b9b723a1dbd06fef8c539cf..9c3b9431318f61b7c635224fe66cf92e34b0a4c4 100644 (file)
@@ -698,7 +698,7 @@ void BOPTools_AlgoTools2D::IsEdgeIsoline( const TopoDS_Edge& theE,
   aT /= sqrt(aSqMagn);
 
   //sin(da) ~ da, when da->0.
-  const Standard_Real aTol = Precision::Angular();
+  constexpr Standard_Real aTol = Precision::Angular();
   const gp_Vec2d aRefVDir(0.0, 1.0), aRefUDir(1.0, 0.0);
 
   const Standard_Real aDPv = aT.CrossMagnitude(aRefVDir),
index 57b95f7ef074bfd1aace89e5196bc543a21b16bf..ac4dd151cba9e3604f8e48768d4d1db3f93a9d97 100644 (file)
@@ -138,7 +138,7 @@ Standard_Real  BRep_Tool::Tolerance(const TopoDS_Face& F)
 {
   const BRep_TFace* TF = static_cast<const BRep_TFace*>(F.TShape().get());
   Standard_Real p = TF->Tolerance();
-  Standard_Real pMin = Precision::Confusion();
+  constexpr Standard_Real pMin = Precision::Confusion();
   if (p > pMin) return p;
   else          return pMin;
 }
@@ -812,7 +812,7 @@ Standard_Real  BRep_Tool::Tolerance(const TopoDS_Edge& E)
 {
   const BRep_TEdge* TE = static_cast<const BRep_TEdge*>(E.TShape().get());
   Standard_Real p = TE->Tolerance();
-  Standard_Real pMin = Precision::Confusion();
+  constexpr Standard_Real pMin = Precision::Confusion();
   if (p > pMin) return p;
   else          return pMin;
 }
@@ -1258,7 +1258,7 @@ Standard_Real  BRep_Tool::Tolerance(const TopoDS_Vertex& V)
   }
 
   Standard_Real p = aTVert->Tolerance();
-  Standard_Real pMin = Precision::Confusion();
+  constexpr Standard_Real pMin = Precision::Confusion();
   if (p > pMin) return p;
   else          return pMin;
 }
index f77feec382824a7faf97e1d45c84785344fa2771..3c0b332dcfbe5e933613d287b0fcb38ec2c6acd6 100644 (file)
@@ -256,7 +256,7 @@ static Standard_Integer PointsForOBB(const TopoDS_Shape& theS,
 //=======================================================================
 static Standard_Integer IsWCS(const gp_Dir& theDir)
 {
-  const Standard_Real aToler = Precision::Angular()*Precision::Angular();
+  constexpr Standard_Real aToler = Precision::Angular()*Precision::Angular();
 
   const Standard_Real aX = theDir.X(),
                       aY = theDir.Y(),
index 32d55b8cd75236a94a0219d87027e3c0cc5fbb4d..2f3fb93fe00b7d3f460c1135eae95d88c22effc0 100644 (file)
@@ -140,7 +140,7 @@ void BRepCheck_Edge::Minimum()
 
     if (!myCref.IsNull()) {
       Handle(BRep_GCurve) GCref (Handle(BRep_GCurve)::DownCast (myCref));
-      Standard_Real eps = Precision::PConfusion();
+      constexpr Standard_Real eps = Precision::PConfusion();
       Standard_Real First,Last;
       GCref->Range(First,Last);
       if (Last<=First) {
@@ -314,7 +314,7 @@ void BRepCheck_Edge::InContext(const TopoDS_Shape& S)
       Standard_Boolean pcurvefound = Standard_False;
 
       BRep_ListIteratorOfListOfCurveRepresentation itcr(TE->Curves());
-      Standard_Real eps = Precision::PConfusion();
+      constexpr Standard_Real eps = Precision::PConfusion();
       Standard_Boolean toRunParallel = !myMutex.IsNull();
       while (itcr.More()) {
         const Handle(BRep_CurveRepresentation)& cr = itcr.Value();
index a0f12833fa7ce3ba6716549727f75ba0d8f5a293..23335b3be5ca11b53c51b7994d3cd5de75413b48 100644 (file)
@@ -147,7 +147,7 @@ Standard_Boolean BRepClass_FaceExplorer::OtherSegment(const gp_Pnt2d& P,
   Standard_Real        aFPar;
   Standard_Real        aLPar;
   Handle(Geom2d_Curve) aC2d;
-  Standard_Real        aTolParConf2 = Precision::PConfusion() * Precision::PConfusion();
+  constexpr Standard_Real aTolParConf2 = Precision::PConfusion() * Precision::PConfusion();
   gp_Pnt2d             aPOnC;
   Standard_Real        aParamIn;
 
index 43b657b3365d94db288a266a94f22871cd98d319..56849fe2617361d878a2a764b1e702fef0dd9669 100644 (file)
@@ -441,7 +441,7 @@ Standard_Integer BRepClass3d_SolidExplorer::OtherSegment(const gp_Pnt& P,
                                                          gp_Lin& L, 
                                                          Standard_Real& _Par) 
 {
-  const Standard_Real TolU = Precision::PConfusion();
+  constexpr Standard_Real TolU = Precision::PConfusion();
   const Standard_Real TolV = TolU;
 
   TopoDS_Face         face;
@@ -500,7 +500,7 @@ Standard_Integer BRepClass3d_SolidExplorer::OtherSegment(const gp_Pnt& P,
       face.Orientation(TopAbs_FORWARD);
       //
       //avoid process faces from uncorrected shells
-      const Standard_Real eps = Precision::PConfusion();
+      constexpr Standard_Real eps = Precision::PConfusion();
       Standard_Real epsU = Max(eps * Max(Abs(U2), Abs(U1)), eps);
       Standard_Real epsV = Max(eps * Max(Abs(V2), Abs(V1)), eps);
       if( Abs (U2 - U1) < epsU || Abs(V2 - V1) < epsV) {
index c287d05ba336dee9258904fb175c97a1fabbef16..6ecec5c623f2933cf1be9ab09b6716ed04d7c4b9 100644 (file)
@@ -423,7 +423,7 @@ static void PERFORM_C0(const TopoDS_Edge& S1, const TopoDS_Edge& S2,
 
     if (pCurv->Continuity() == GeomAbs_C0)
     {
-      const Standard_Real epsP = Precision::PConfusion();
+      constexpr Standard_Real epsP = Precision::PConfusion();
 
       GeomAdaptor_Curve aAdaptorCurve(pCurv, aFirst, aLast);
       const Standard_Integer nbIntervals = aAdaptorCurve.NbIntervals(GeomAbs_C1);
@@ -716,7 +716,7 @@ void BRepExtrema_DistanceSS::Perform (const TopoDS_Vertex& theS1,
     if ((Dstmin < myDstRef - myEps) || (fabs(Dstmin - myDstRef) < myEps))
     {
       gp_Pnt Pt, P1 = BRep_Tool::Pnt(theS1);
-      const Standard_Real epsP = Precision::PConfusion();
+      constexpr Standard_Real epsP = Precision::PConfusion();
 
       for (i = 1; i <= NbExtrema; i++)
       {
@@ -833,7 +833,7 @@ void BRepExtrema_DistanceSS::Perform (const TopoDS_Edge& theS1,
     if ((Dstmin < myDstRef - myEps) || (fabs(Dstmin - myDstRef) < myEps))
     {
       gp_Pnt Pt1, Pt2;
-      const Standard_Real epsP = Precision::PConfusion();
+      constexpr Standard_Real epsP = Precision::PConfusion();
 
       for (i = 1; i <= NbExtrema; i++)
       {
@@ -925,7 +925,7 @@ void BRepExtrema_DistanceSS::Perform (const TopoDS_Edge& theS1, const TopoDS_Fac
       const Standard_Real tol = BRep_Tool::Tolerance(theS2);
 
       gp_Pnt Pt1, Pt2;
-      const Standard_Real epsP = Precision::PConfusion();
+      constexpr Standard_Real epsP = Precision::PConfusion();
 
       for (i = 1; i <= NbExtrema; i++)
       {
index 3bb0f0d4bb4ccc101cffdc1a7dcd31e9d4a3c281..3190cb90db10331c247b94aeacb4c4703a6de03f 100644 (file)
@@ -400,7 +400,7 @@ Standard_Boolean BRepExtrema_ProximityValueTool::getFaceAdditionalVertices (
   BVH_Array3d& theAddVertices,
   NCollection_Vector<ProxPnt_Status>& theAddStatuses)
 {
-  Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
 
   TopLoc_Location aLocation;
   Handle(Poly_Triangulation) aTr = BRep_Tool::Triangulation (theFace, aLocation);
index 010de828ac2632293ffe36d320816b41a33294ed..2f28c4d6a632643c89c82384738e4a3fbef34a8c 100644 (file)
@@ -314,7 +314,7 @@ void BRepFeat::ParametricMinMax(const TopoDS_Shape& S,
 static Standard_Boolean IsIn (BRepTopAdaptor_FClass2d& FC,
                               const Geom2dAdaptor_Curve& AC)
 {
- Standard_Real Def = 100*Precision::Confusion();
constexpr Standard_Real Def = 100*Precision::Confusion();
  GCPnts_QuasiUniformDeflection QU(AC,Def);
 
  for (Standard_Integer i = 1; i <= QU.NbPoints(); i++) {
index 4ea9ea05a538ba2e0454addaea78f29ccda0d8df..225fb71175a3c44f9db768d1fad7d883d07b42e8 100644 (file)
@@ -755,7 +755,7 @@ static void Descendants(const TopoDS_Shape&,
 // intersects Shapes From and Until
 //       case of several intersections (keep PartsOfTool according to the selection)  
 //       position of the face of intersection in PartsOfTool (before or after)
-      Standard_Real delta = Precision::Confusion();
+      constexpr Standard_Real delta = Precision::Confusion();
 
       if (myPerfSelection != BRepFeat_NoSelection) {
 // modif of the test for cts21181 : (prbmax2 and prnmin2) -> (prbmin1 and prbmax1)
index 27eade49fd25c9cf2d242e3e79ab9416ef9e4a01..68ccf8c7cfb6a7ab3dfccc599a249d5ea4fe76b8 100644 (file)
@@ -1078,8 +1078,8 @@ static Standard_Boolean ToFuse (const TopoDS_Face& F1, const TopoDS_Face& F2)
   Handle(Geom_Surface) S1,S2;
   TopLoc_Location loc1, loc2;
   Handle(Standard_Type) typS1,typS2;
-  const Standard_Real tollin = Precision::Confusion();
-  const Standard_Real tolang = Precision::Angular();
+  constexpr Standard_Real tollin = Precision::Confusion();
+  constexpr Standard_Real tolang = Precision::Angular();
 
   S1 = BRep_Tool::Surface(F1,loc1);
   S2 = BRep_Tool::Surface(F2,loc2);
index df0c9805135c35a1d92cbb5737d6e3af037e38ce..f441bb4e95020fd5b3e919586f7943da94234b64 100644 (file)
@@ -834,8 +834,8 @@ Standard_Boolean ToFuse(const TopoDS_Face& F1,
   Handle(Geom_Surface) S1,S2;
   TopLoc_Location loc1, loc2;
   Handle(Standard_Type) typS1,typS2;
-  const Standard_Real tollin = Precision::Confusion();
-  const Standard_Real tolang = Precision::Angular();
+  constexpr Standard_Real tollin = Precision::Confusion();
+  constexpr Standard_Real tolang = Precision::Angular();
 
   S1 = BRep_Tool::Surface(F1,loc1);
   S2 = BRep_Tool::Surface(F2,loc2);
index 373c257160fc38582dc3b1083bf977edcb87712e..a019dec635cadb4b157f4f480536d6d67e9d98bd 100644 (file)
@@ -3071,7 +3071,7 @@ void CutEdgeProf (const TopoDS_Edge&                  E,
 
   // On calcule les intersection avec Oy.
   Geom2dAdaptor_Curve ALine(Line);
-  Standard_Real Tol = Precision::Intersection();
+  constexpr Standard_Real Tol = Precision::Intersection();
   Standard_Real TolC = 0.;
 
   Geom2dInt_GInter Intersector(ALine,AC2d,TolC,Tol);
index 553a0365a0dcac2837cacbe51bee2351019cca48..b4d48bb3d4742e2d88c782a13a05c7a5bddce9ce 100644 (file)
@@ -907,7 +907,7 @@ void BRepFill_Generator::Perform()
       }
 
       // set the pcurves
-      Standard_Real T = Precision::Confusion();
+      constexpr Standard_Real T = Precision::Confusion();
 
       if (IType != 4) //not plane
        {
index 4b4714dad8713915e8a7a9e6f2e98d539bbea3c4..74225f42e6c2655c5d3ed830db733d5cf1a8ff77 100644 (file)
@@ -109,8 +109,8 @@ BRepFill_MultiLine::BRepFill_MultiLine(const TopoDS_Face&     Face1,
   myKPart(0)
 {
   //
-  const Standard_Real mult = 5.;
-  const Standard_Real eps = mult * Precision::Confusion();
+  constexpr Standard_Real mult = 5.;
+  constexpr Standard_Real eps = mult * Precision::Confusion();
   //
   myNbPnt2d = 2;
   myNbPnt = 1;
@@ -585,8 +585,8 @@ static gp_Pnt2d ValueOnFace(const Standard_Real        U,
   }
 #endif
   //
-  const Standard_Real mult = 5.;
-  const Standard_Real eps = mult * Precision::Confusion();
+  constexpr Standard_Real mult = 5.;
+  constexpr Standard_Real eps = mult * Precision::Confusion();
   //
   Standard_Real UU =0., Dist = Precision::Infinite(), D1, D2;
 
@@ -627,7 +627,7 @@ static gp_Pnt2d ValueOnFace(const Standard_Real        U,
     }
   }
 
-  const Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   Standard_Real VV;
 
   gp_Pnt2d PF = TheV.Value(TheV.FirstParameter());
index 6e7f0c984b3bda167800356953abf30142fd7caa..3c9550c7f7241f83c97c1382d30be5a7df62d7dd 100644 (file)
@@ -516,7 +516,7 @@ void BRepFill_NSections::Init(const TColStd_SequenceOfReal & P,
   
   myLaws = new (GeomFill_HArray1OfSectionLaw) (1, NbEdge);
 
-  Standard_Real tol = Precision::Confusion();
+  constexpr Standard_Real tol = Precision::Confusion();
   mySurface = totalsurf(myEdges->Array2(),myShapes.Length(),NbEdge,
                        myParams,w1Point,w2Point,uclosed,vclosed,tol);
    
index dae07a5bb30f7bcd9b26294ccef1705050762df9..a0ec2ad56f8b5fadb4279a15c68d3189fee63285 100644 (file)
@@ -1913,8 +1913,8 @@ void CutCurve (const Handle(Geom2d_TrimmedCurve)& C,
   Standard_Real               UF,UL,UC;
   Standard_Real               Step;
   gp_Pnt2d                    PF,PL,PC;
-  Standard_Real               PTol  = Precision::PConfusion()*10;
-  Standard_Real               Tol   = Precision::Confusion()*10;
+  constexpr Standard_Real     PTol  = Precision::PConfusion()*10;
+  constexpr Standard_Real     Tol   = Precision::Confusion()*10;
   Standard_Boolean            YaCut = Standard_False;
 
   UF = C->FirstParameter();
@@ -2141,7 +2141,7 @@ Standard_Boolean VertexFromNode (const Handle(MAT_Node)&      aNode,
   TopoDS_Vertex&               VN)
 {  
   Standard_Boolean Status;
-  Standard_Real    Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   BRep_Builder     B;
 
   if (!aNode->Infinite() && Abs(aNode->Distance()-Offset) < Tol) {
@@ -2243,7 +2243,7 @@ void TrimEdge (const TopoDS_Edge&              E,
   // otherwise preserve only one of its representations.
   //----------------------------------------------------------
   if (!BRep_Tool::Degenerated(E)) {
-    Standard_Real aParTol = 2.0 * Precision::PConfusion();
+    constexpr Standard_Real aParTol = 2.0 * Precision::PConfusion();
     for (Standard_Integer k = 1; k < TheVer.Length(); k ++) {
       if (TheVer.Value(k).IsSame(TheVer.Value(k+1)) || 
           Abs(ThePar.Value(k)-ThePar.Value(k+1)) <= aParTol) {
@@ -2487,7 +2487,7 @@ static void CheckBadEdges(const TopoDS_Face& Spine, const Standard_Real Offset,
 {
 
   TopoDS_Face F = TopoDS::Face(Spine.Oriented(TopAbs_FORWARD));
-  Standard_Real eps = Precision::Confusion(); 
+  constexpr Standard_Real eps = Precision::Confusion();
   Standard_Real LimCurv = 1./Offset;
 
   TopTools_MapOfShape aMap;
index 631d94183df60cb216badf4a8ee041fd3113a8fc..de03bf6931d96b7a478b7943ad3652ad2d242efc 100644 (file)
@@ -125,7 +125,8 @@ BRepFill_SectionPlacement(const Handle(BRepFill_LocationLaw)& Law,
       Ex.Next();
       
       if( Ex.More() ) {
-       Standard_Real tolrac, epsV, tol = Precision::Confusion();
+       Standard_Real tolrac, epsV;
+       constexpr Standard_Real tol = Precision::Confusion();
        GeomConvert_CompCurveToBSplineCurve Conv(TC);
        for (; Ex.More(); Ex.Next()) {
          E = TopoDS::Edge(Ex.Current());
@@ -289,8 +290,8 @@ BRepFill_SectionPlacement(const Handle(BRepFill_LocationLaw)& Law,
   
   Place.Perform(adpPath, Precision::Confusion());
   
-  Standard_Real theParam = Place.ParameterOnPath()
-                eps = Precision::PConfusion();
+  Standard_Real theParam = Place.ParameterOnPath();
+  constexpr Standard_Real eps = Precision::PConfusion();
 
 #ifdef OCCT_DEBUG
   if (myDebug) {
index 0cd9a0949dc1c881c946f302d8e3c94b794651bf..32084d1f9269c967b1982819c30c4a4a6c3226a6 100644 (file)
@@ -177,7 +177,7 @@ static void EvalParameters(const Geom2dAdaptor_Curve& Bis,
   TColgp_SequenceOfPnt& Params)
 {
   Geom2dInt_GInter Intersector;
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   //  Standard_Real TolC = 1.e-9;
 
   const Geom2dAdaptor_Curve& CBis(Bis);
@@ -519,7 +519,7 @@ void BRepFill_TrimEdgeTool::IntersectWith(const TopoDS_Edge& Edge1,
   // The tolerance can be eventually changed.
 
   gp_Pnt P1,P2;
-  Standard_Real Tol = 4 * 100 * Precision::PConfusion();
+  constexpr Standard_Real Tol = 4 * 100 * Precision::PConfusion();
   Standard_Integer i = 1;
   Standard_Integer NbPoints = Params.Length();
 
@@ -660,7 +660,7 @@ void BRepFill_TrimEdgeTool::AddOrConfuse(const Standard_Boolean  Start,
 {
   Standard_Boolean  ToProj = Standard_True;
   gp_Pnt2d          PBis;
-  Standard_Real     Tol = 10*Precision::Confusion(); 
+  constexpr Standard_Real Tol = 10*Precision::Confusion();
 
   // return curves associated to edges.
   TopLoc_Location L;
index 38892ac8a59e6ac6698862839f9c58138728bca0..29d0f4e6e7f537256953dfabc31eb7f5f4bbd988 100644 (file)
@@ -548,7 +548,7 @@ static void GetRealKnots(const Standard_Real                  theMin,
   Standard_Integer iU      = theKnots->Upper();
   Standard_Integer aStartI = 0;
   Standard_Integer aEndI   = 0;
-  Standard_Real    aTol    = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
 
   while (++i < iU) {
     if (aStartI == 0 && theKnots->Value(i) > theMin + aTol)
index e5f5e002cbeccad1163cbf23207fe3e13f5b55cd..6dd1c895d77ab09fa7c967cb62d3096eda89b271 100644 (file)
@@ -2940,7 +2940,7 @@ void BRepLib::ExtendFace(const TopoDS_Face& theF,
 
     // Check if the periodic surface should become closed.
     // In this case, use the basis surface with basis bounds.
-    const Standard_Real anEps = Precision::PConfusion();
+    constexpr Standard_Real anEps = Precision::PConfusion();
     if (isUPeriodic && Abs(aFUMax - aFUMin - anUPeriod) < anEps)
     {
       aFUMin = aSUMin;
index 537c9c318194f96983f9c07cc7a4dfbf401118f1..1999932236e7378ef05a6ecf1536f349321dcf46 100644 (file)
@@ -778,8 +778,8 @@ Standard_Boolean BRepLib_FuseEdges::SameSupport(const TopoDS_Edge& E1,
   }
 
   // On a presomption de confusion
-  const Standard_Real tollin = Precision::Confusion();
-  const Standard_Real tolang = Precision::Angular();
+  constexpr Standard_Real tollin = Precision::Confusion();
+  constexpr Standard_Real tolang = Precision::Angular();
   if (typC1 == STANDARD_TYPE(Geom_Line)) {
     gp_Lin li1( Handle(Geom_Line)::DownCast (C1)->Lin());
     gp_Lin li2( Handle(Geom_Line)::DownCast (C2)->Lin());
index f1ddbdcefb6474f1e7e734f9e176b867f2e42274..0ef4d82d4dfdb858e304997a7b14ce7760c10644 100644 (file)
@@ -781,7 +781,7 @@ void  BRepLib_MakeEdge::Init(const Handle(Geom_Curve)& CC,
   Standard_Real p2 = pp2;
   Standard_Real cf = C->FirstParameter();
   Standard_Real cl = C->LastParameter();
-  Standard_Real epsilon = Precision::PConfusion();
+  constexpr Standard_Real epsilon = Precision::PConfusion();
   Standard_Boolean periodic = C->IsPeriodic();
   GeomAdaptor_Curve aCA(C);
 
@@ -1058,7 +1058,7 @@ void  BRepLib_MakeEdge::Init(const Handle(Geom2d_Curve)& CC,
   Standard_Real p2 = pp2;
   Standard_Real cf = C->FirstParameter();
   Standard_Real cl = C->LastParameter();
-  Standard_Real epsilon = Precision::PConfusion();
+  constexpr Standard_Real epsilon = Precision::PConfusion();
   Standard_Boolean periodic = C->IsPeriodic();
 
 
index f04af3e5a8d3b8a966662c6f02b0c110c268c32a..9cfafe3a2cae0adf893be83282ecce1b734f6acd 100644 (file)
@@ -593,7 +593,7 @@ void  BRepLib_MakeEdge2d::Init(const Handle(Geom2d_Curve)& CC,
   Standard_Real p2 = pp2;
   Standard_Real cf = C->FirstParameter();
   Standard_Real cl = C->LastParameter();
-  Standard_Real epsilon = Precision::Confusion();
+  constexpr Standard_Real epsilon = Precision::Confusion();
   Standard_Boolean periodic = C->IsPeriodic();
 
 
@@ -632,7 +632,7 @@ void  BRepLib_MakeEdge2d::Init(const Handle(Geom2d_Curve)& CC,
   if (!p1inf) P1 = C->Value(p1);
   if (!p2inf) P2 = C->Value(p2);
 
-  Standard_Real preci = Precision::Confusion();
+  constexpr Standard_Real preci = Precision::Confusion();
   BRep_Builder B;
 
   // check for closed curve
index ce7340bfe58bedad604c1dd290cc4fe0c2aa5775..765ee0fe3d347cc1cc7d9450fc9afda7ddefebef 100644 (file)
@@ -559,7 +559,7 @@ void  BRepLib_MakeFace::Init(const Handle(Geom_Surface)& SS,
      
   // adjust periodical surface or reordonate
   // check if the values are in the natural range
-  Standard_Real epsilon = Precision::PConfusion();
+  constexpr Standard_Real epsilon = Precision::PConfusion();
   
   BS->Bounds(umin,umax,vmin,vmax);
 
index e29094422bf3ed980cea446d0c242cd805910afd..8e70c4b2830e6b012d0c1cebe5ca0d2f6156c557 100644 (file)
@@ -96,7 +96,7 @@ void BRepLib_MakeShell::Init(const Handle(Geom_Surface)& S,
     BS = RTS->BasisSurface();
   }
   myError = BRepLib_EmptyShell;
-  Standard_Real tol = Precision::Confusion();
+  constexpr Standard_Real tol = Precision::Confusion();
 
   // Make a shell from a surface
   GeomAdaptor_Surface GS(BS,UMin,UMax,VMin,VMax);
@@ -358,7 +358,7 @@ void BRepLib_MakeShell::Init(const Handle(Geom_Surface)& S,
   // Additional checking for degenerated edges
   Standard_Boolean isDegenerated;
   Standard_Real aFirst, aLast;
-  Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   Standard_Real anActTol;
   TopExp_Explorer anExp(myShape, TopAbs_EDGE);
   for ( ; anExp.More(); anExp.Next())
index 45d92a3d332f93950e56d38243af275360bdf56b..478977d237414bf2a6801b5a40b7bff2bbf6578e 100644 (file)
@@ -46,7 +46,7 @@ void BRepLib_ToolTriangulatedShape::ComputeNormals (const TopoDS_Face& theFace,
     return;
   }
 
-  const Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   Standard_Integer aTri[3];
   gp_Dir aNorm;
   theTris->AddNormals();
index c6ad6c6e606a0a6fdbb042c877059fa9dd551bc7..250adff5990de4ee2f1498c4d2ef2580282e0898 100644 (file)
@@ -541,7 +541,7 @@ TopoDS_Edge MakeEdge(const Handle(Geom2d_Curve) &theCurve,
 {
   TopoDS_Edge   aNewEdge;
   BRep_Builder  aBuilder;
-  Standard_Real aTol  = Precision::Confusion();
+  constexpr Standard_Real aTol  = Precision::Confusion();
   Standard_Real aFPar = theCurve->FirstParameter();
   Standard_Real aLPar = theCurve->LastParameter();
 
index 30f853cb84ef9dc41715de3b8cf56633a0886b03..81ae12d355b7caaabbb636c8585ca6931ff8c3f6 100644 (file)
@@ -92,8 +92,8 @@ void BRepMesh_Classifier::RegisterWire(
   aPClass(1) = *p1;
   aPClass(2) = *p2;
 
-  const Standard_Real aAngTol = Precision::Angular();
-  const Standard_Real aSqConfusion =
+  constexpr Standard_Real aAngTol = Precision::Angular();
+  constexpr Standard_Real aSqConfusion =
     Precision::PConfusion() * Precision::PConfusion();
 
   for (Standard_Integer i = 1; i <= aNbPnts; i++)
index c8e942ec3a686f217139febcdfd93c40d0c5fa88..d60f055da966292b39e49a1b51a4e5f502800e59 100644 (file)
@@ -126,7 +126,7 @@ void BRepMesh_CurveTessellator::init()
     const Adaptor3d_CurveOnSurface& aCurve = myCurve.CurveOnSurface();
     const Handle(Adaptor3d_Surface)& aSurface = aCurve.GetSurface();
 
-    const Standard_Real aTol = Precision::Confusion();
+    constexpr Standard_Real aTol = Precision::Confusion();
     const Standard_Real aDu = aSurface->UResolution(aTol);
     const Standard_Real aDv = aSurface->VResolution(aTol);
 
index ffa764943389daa0757ed251d98daf41e6cf7bd9..215085ffa7c428f6e1c287d0f1a4324ed82c63b4 100644 (file)
@@ -419,7 +419,7 @@ BRepMesh_GeomTool::IntFlag BRepMesh_GeomTool::IntSegSeg(
 
   // Cross
   // Intersection is out of segments ranges
-  const Standard_Real aPrec    = Precision::PConfusion();
+  constexpr Standard_Real aPrec = Precision::PConfusion();
   const Standard_Real aEndPrec = 1 - aPrec;
   for (Standard_Integer i = 0; i < 2; ++i)
   {
@@ -492,7 +492,7 @@ Standard_Integer BRepMesh_GeomTool::classifyPoint(
   gp_XY aP1 = thePoint2       - thePoint1;
   gp_XY aP2 = thePointToCheck - thePoint1;
   
-  const Standard_Real aPrec   = Precision::PConfusion();
+  constexpr Standard_Real aPrec = Precision::PConfusion();
   const Standard_Real aSqPrec = aPrec * aPrec;
   Standard_Real aDist = Abs(aP1 ^ aP2);
   if (aDist > aPrec)
index 3393f924970265ade4fb19ee4f9fe5b4524a17b0..20b40bdc41eea1a8dfa326b66ddb00859c34c20e 100644 (file)
@@ -67,7 +67,7 @@ BRepMesh_VertexTool::BRepMesh_VertexTool(
     myCellFilter(0., myAllocator),
     mySelector  (myAllocator)
 {
-  const Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   SetCellSize ( aTol + 0.05 * aTol );
   SetTolerance( aTol, aTol );
 }
index 84b411df8232e4cc5baa55d1a51646cbbe17d930..59c275e450acb7486d3c0707fa8c824f61cc85b5 100644 (file)
@@ -49,7 +49,7 @@ Handle(Geom_Surface) BRepOffset::Surface(const Handle(Geom_Surface)& Surface,
                                          BRepOffset_Status& theStatus,
                                          Standard_Boolean allowC0)
 {
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 
   theStatus = BRepOffset_Good;
   Handle(Geom_Surface) Result;
index 8b35e9301f3ff16d27ddf2c2e94f404af5846da1..c4faa80db12ed504a9ebede1a05f5ec67a565c96 100644 (file)
@@ -1044,7 +1044,7 @@ static Standard_Boolean ExtendPCurve(const Handle(Geom2d_Curve)& aPCurve,
   Handle(Geom2d_Line)                   aLin;
   Handle(Geom2d_TrimmedCurve)           aSegment;
   Geom2dConvert_CompCurveToBSplineCurve aCompCurve(aTrCurve, Convert_RationalC1);
-  Standard_Real                         aTol = Precision::Confusion();
+  constexpr Standard_Real               aTol = Precision::Confusion();
   Standard_Real                         aDelta = Max(a2Offset, 1.);
   
   if (FirstPar > anEf - a2Offset) {
@@ -1462,7 +1462,7 @@ Standard_Boolean BRepOffset_Inter2d::ExtentEdge(const TopoDS_Edge& E,TopoDS_Edge
           Handle(Geom_Line)                   aLin;
           Handle(Geom_TrimmedCurve)           aSegment;
           GeomConvert_CompCurveToBSplineCurve aCompCurve(aTrCurve, Convert_RationalC1);
-          Standard_Real                       aTol = Precision::Confusion();
+          constexpr Standard_Real             aTol = Precision::Confusion();
           Standard_Real                       aDelta = Max(a2Offset, 1.);
           
           if (FirstPar > anEf - a2Offset) {
@@ -1523,7 +1523,7 @@ static Standard_Boolean  UpdateVertex(const TopoDS_Vertex& V,
   Standard_Real Of = OC.FirstParameter(); Standard_Real Ol = OC.LastParameter();
   Standard_Real Nf = NC.FirstParameter(); Standard_Real Nl = NC.LastParameter();
   Standard_Real U = 0.;
-  Standard_Real ParTol = Precision::PConfusion();
+  constexpr Standard_Real ParTol = Precision::PConfusion();
   gp_Pnt           P  = BRep_Tool::Pnt(V);
   Standard_Boolean OK = Standard_False;
 
index 3602b39500fd396fa21d320c2a6b3f84e8e52fc8..f206ad96aa1320c74933d51ae8b322ad0f59fec9 100644 (file)
@@ -4573,7 +4573,7 @@ Standard_Boolean TrimEdge(TopoDS_Edge&                  NE,
   BOPTools_AlgoTools::MakeSplitEdge(NE, V1, aT1, V2, aT2, aSourceEdge);
   //
   //
-  Standard_Real aSameParTol = Precision::Confusion();
+  constexpr Standard_Real aSameParTol = Precision::Confusion();
   
   Standard_Real U = 0.;
   Standard_Real UMin =  Precision::Infinite();
index bd37bcab0bacd8f2aca9301ce5cacf74cbe0b80c..1d9fe87641c937a2db4f6be5059230bba8960160 100644 (file)
@@ -1252,7 +1252,7 @@ void BRepOffset_Offset::Init(const TopoDS_Edge&     Path,
   if ( IsClosed)
     Edge4 = Edge3;
 
-  Standard_Real TolApp = Precision::Approximation();
+  constexpr Standard_Real TolApp = Precision::Approximation();
 
   Handle(Geom2d_Line) L1,L2;
   if ( IsClosed) {
index 6c08941e180bb914f471361161295b381b2dd7fa..b02989e08945eeb06f38ece156b01ba1945f6fcf 100644 (file)
@@ -326,7 +326,7 @@ static void BuildPCurves (const TopoDS_Edge&  E,
   if (!C2d.IsNull()) return;
 
   //Standard_Real Tolerance = Max(Precision::Confusion(),BRep_Tool::Tolerance(E));
-  Standard_Real Tolerance = Precision::Confusion();
+  constexpr Standard_Real Tolerance = Precision::Confusion();
 
   BRepAdaptor_Surface AS(F,0);
   BRepAdaptor_Curve   AC(E);
@@ -586,7 +586,7 @@ Standard_Boolean BRepOffset_Tool::FindCommonShapes(const TopoDS_Shape& theS1,
 
 static Standard_Boolean ToSmall (const Handle(Geom_Curve)& C)
 {
-  Standard_Real Tol = 10*Precision::Confusion();
+  constexpr Standard_Real Tol = 10*Precision::Confusion();
   Standard_Real m   = (C->FirstParameter()*0.668 + C->LastParameter()*0.332); 
   gp_Pnt P1 = C->Value(C->FirstParameter());
   gp_Pnt P2 = C->Value(C->LastParameter());
@@ -1530,7 +1530,7 @@ void BRepOffset_Tool::Inter3D(const TopoDS_Face& F1,
     }
   }
 
-  Standard_Real aSameParTol = Precision::Confusion();
+  constexpr Standard_Real aSameParTol = Precision::Confusion();
   Standard_Boolean isEl1 = Standard_False, isEl2 = Standard_False;
 
   Handle(Geom_Surface) aSurf = BRep_Tool::Surface(F1);
@@ -2519,7 +2519,7 @@ static void MakeFace(const Handle(Geom_Surface)& S,
   
   // compute vertices
   BRep_Builder B;
-  Standard_Real tol = Precision::Confusion();
+  constexpr Standard_Real tol = Precision::Confusion();
   
   TopoDS_Vertex V00,V10,V11,V01;
   
@@ -3716,7 +3716,7 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face&            F,
     TopoDS_Vertex      NV1,NV2;
     TopAbs_Orientation Or;
     Standard_Real      U1,U2;
-    Standard_Real      eps = Precision::Confusion();
+    constexpr Standard_Real eps = Precision::Confusion();
 
 #ifdef OCCT_DEBUG
     TopLoc_Location    L;
@@ -3969,7 +3969,7 @@ static Standard_Boolean IsInOut (BRepTopAdaptor_FClass2d& FC,
                                 const Geom2dAdaptor_Curve&      AC,
                                 const TopAbs_State&      S )
 {
- Standard_Real Def = 100*Precision::Confusion();
constexpr Standard_Real Def = 100*Precision::Confusion();
  GCPnts_QuasiUniformDeflection QU(AC,Def);
  
  for (Standard_Integer i = 1; i <= QU.NbPoints(); i++) {
index 25d8297b7242e39cbeb5d65531f6dc9d5bad5adc..9aee337faadf1e9cbbfd798373ccb591c823eb22 100644 (file)
@@ -138,7 +138,7 @@ static Standard_Boolean IsValidEdge(const TopoDS_Edge& theEdge,
   TopoDS_Vertex V1, V2;
   TopExp::Vertices(theEdge, V1, V2);
 
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   Standard_Integer i;
   
   TopExp_Explorer Explo(theFace, TopAbs_EDGE);
index fcbdd4ba7692c9f170770f836e3d8da9104614cb..8998eea655cdc07b0afb287823f3e46b7ea2b375 100644 (file)
@@ -99,7 +99,7 @@
 static Standard_Real PreciseUpar(const Standard_Real anUpar,
   const Handle(Geom_BSplineSurface)& aSurface)
 {
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   Standard_Integer i1, i2;
 
   aSurface->LocateU(anUpar, Tol, i1, i2);
index b1649a7dd94fdd635ae49edb0c4a741a76ff5633..6676c13d997ab6c0b0ef8245eaeb274ca474b1b4 100644 (file)
@@ -89,7 +89,7 @@ Standard_Boolean BRepSweep_Trsf::Process(const TopoDS_Shape& aGenS,
 void BRepSweep_Trsf::SetContinuity(const TopoDS_Shape& aGenS, 
                                   const Sweep_NumShape& aDirS)
 {
-  Standard_Real tl = Precision::Confusion(), tol3d;
+  constexpr Standard_Real tl = Precision::Confusion();
   //angular etant un peu severe pour les contours sketches.
   Standard_Real ta = 0.00175;//environ 0.1 degre
   GeomAbs_Shape cont;
@@ -103,7 +103,7 @@ void BRepSweep_Trsf::SetContinuity(const TopoDS_Shape& aGenS,
       TopExp::Vertices(E,d,f);
       if(d.IsSame(f)){
 //     tol3d = Max(tl,BRep_Tool::Tolerance(d));
-       tol3d = Max(tl,2.*BRep_Tool::Tolerance(d));//IFV 24.05.00 buc60684
+       const Standard_Real tol3d = Max(tl,2.*BRep_Tool::Tolerance(d));//IFV 24.05.00 buc60684
        e.Initialize(E);
        ud = BRep_Tool::Parameter(d,TopoDS::Edge(aGenS));
        uf = BRep_Tool::Parameter(f,TopoDS::Edge(aGenS));
@@ -155,7 +155,7 @@ void BRepSweep_Trsf::SetContinuity(const TopoDS_Shape& aGenS,
            u1 = BRep_Tool::Parameter(V,E1);
            u2 = BRep_Tool::Parameter(V,E2);
 //         tol3d = Max(tl,BRep_Tool::Tolerance(V));
-           tol3d = Max(tl,2.*BRep_Tool::Tolerance(V)); //IFV 24.05.00 buc60684
+           const Standard_Real tol3d = Max(tl,2.*BRep_Tool::Tolerance(V)); //IFV 24.05.00 buc60684
            e1.Initialize(E1);
            e2.Initialize(E2);
            cont = BRepLProp::Continuity(e1,e2,u1,u2,tol3d,ta);
index 11a49f95c06db0045d31525c57c60f9853043605..aaa48b99790199f6d64c7d9093c359a6393df8fd 100644 (file)
@@ -1743,7 +1743,7 @@ Standard_Integer edgeintersector(Draw_Interpretor& di,
   BRep_Builder B;
 
   Standard_Integer NbV = 0;
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
 
   Standard_Boolean rejectreducedsegmentpoints = Standard_True;
   EInter.InitPoint(rejectreducedsegmentpoints);
index a6e860adee16fa65182852f44a90555182135330..92c3558d31d886de4f87345d65cc94e72b7a2352 100644 (file)
@@ -533,7 +533,7 @@ TopoDS_Face NextFaceForPrism (const TopoDS_Shape& shape,
     if (ASI.IsDone()) {
       Standard_Integer no=1, IndFrom, IndTo;
       TopAbs_Orientation theOr;
-      Standard_Real min = 1.e-04, Tol = -Precision::Confusion();
+      constexpr Standard_Real min = 1.e-04, Tol = -Precision::Confusion();
       if (ASI.LocalizeAfter (no, min, Tol, theOr, IndFrom, IndTo))  {
        nextFace = ASI.Point(no, IndFrom).Face();  
        break;
index 91e9cbf4367d0ef7c52e8443400dcf184023f3a8..b70d7b44a7e8350ddb97b1d76103ae54b87d6ea0 100644 (file)
@@ -217,7 +217,7 @@ void BRepTools::AddUVBounds(const TopoDS_Face& aF,
     if (aS->DynamicType() == STANDARD_TYPE(Geom_BSplineSurface) &&
         (aXmin < aUmin || aXmax > aUmax))
     {
-      Standard_Real aTol2 = 100 * Precision::Confusion() * Precision::Confusion();
+      constexpr Standard_Real aTol2 = 100 * Precision::Confusion() * Precision::Confusion();
       isUPeriodic = Standard_True;
       gp_Pnt P1, P2;
       // 1. Verify that the surface is U-closed
@@ -298,7 +298,7 @@ void BRepTools::AddUVBounds(const TopoDS_Face& aF,
     if (aS->DynamicType() == STANDARD_TYPE(Geom_BSplineSurface) &&
         (aYmin < aVmin || aYmax > aVmax))
     {
-      Standard_Real aTol2 = 100 * Precision::Confusion() * Precision::Confusion();
+      constexpr Standard_Real aTol2 = 100 * Precision::Confusion() * Precision::Confusion();
       isVPeriodic = Standard_True;
       gp_Pnt P1, P2;
       // 1. Verify that the surface is V-closed
index c4f76cb668a49c595cfb7682814f8aef9c93ae7a..060ca69b0f1fecf108bf19fd45ce5a2e457fb98c 100644 (file)
@@ -223,7 +223,7 @@ static void KPartCurve3d(const TopoDS_Edge&           Edge,
   // if not found call BRepLib::BuildCurve3d
 
   TopLoc_Location Loc;
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 
   // Search only isos on analytical surfaces.
   Geom2dAdaptor_Curve C(Curve);
@@ -429,7 +429,7 @@ Handle(Geom_Curve) MakeCurve (const BiTgte_CurveOnEdge& HC)
     MakeCurve_Function F(HC);
     Standard_Integer Deg1, Deg2;
     Deg1 = Deg2 = 8;
-    Standard_Real Tol = Precision::Approximation();
+    constexpr Standard_Real Tol = Precision::Approximation();
     Approx_FitAndDivide Fit(F,Deg1,Deg2,Tol,Tol,Standard_True);
     Standard_Integer i;
     Standard_Integer NbCurves = Fit.NbMultiCurves();
@@ -552,7 +552,7 @@ static TopoDS_Edge MakeDegeneratedEdge(const Handle(Geom_Curve)& CC,
                                       const TopoDS_Vertex&    VfOnE)
 {
   BRep_Builder B;
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   // kill trimmed curves
   Handle(Geom_Curve) C = CC;
   Handle(Geom_TrimmedCurve) CT = Handle(Geom_TrimmedCurve)::DownCast(C);
index 64a31618a3369bb78316337e86fa37595012eb3d..a761efe77ca8be8d843f573dcc42497b56b76faa 100644 (file)
@@ -224,7 +224,7 @@ void Bisector_BisecAna::Perform(const Handle(Geom2d_Curve)& afirstcurve   ,
   Standard_Boolean thesense = Standard_False,sense;
   Standard_Real    distancemini;
   Standard_Integer nbsolution;
-  Standard_Real    PreConf = Precision::Confusion();
+  constexpr Standard_Real PreConf = Precision::Confusion();
 
   Handle(Standard_Type) type1 = afirstcurve->DynamicType();
   Handle(Standard_Type) type2 = asecondcurve->DynamicType();
index 07f29490cef7b0e030ca99d03f1db864e276dd0e..cf981d3a275db0122149627f611bdf95793e01d0 100644 (file)
@@ -121,7 +121,7 @@ void  Bisector_BisecCC::Perform(const Handle(Geom2d_Curve)& Cu1,
   Standard_Real    U,UC1,UC2,Dist,dU,USol;  
   gp_Pnt2d         P;
   Standard_Integer NbPnts    = 21;
-  Standard_Real    EpsMin    = 10*Precision::Confusion();
+  constexpr  Standard_Real EpsMin = 10*Precision::Confusion();
   Standard_Boolean YaPoly    = Standard_True;
   Standard_Boolean OriInPoly = Standard_False;
   //---------------------------------------------
@@ -1626,8 +1626,8 @@ Standard_Real Bisector_BisecCC::SearchBound (const Standard_Real U1,
   Standard_Real UMid,Dist1,Dist2,DistMid,U11,U22;
   Standard_Real UC1,UC2;
   gp_Pnt2d PBis,PBisPrec;
-  Standard_Real TolPnt   = Precision::Confusion();
-  Standard_Real TolPar   = Precision::PConfusion();
+  constexpr Standard_Real TolPnt = Precision::Confusion();
+  constexpr Standard_Real TolPar = Precision::PConfusion();
   U11 = U1; U22 = U2;
   PBisPrec = ValueByInt(U11,UC1,UC2,Dist1);
   PBis     = ValueByInt(U22,UC1,UC2,Dist2);
index 5ee0290a45fd68e969f44be6ee6f33b72f7f111d..cbbdc256d88c493cf3a4a77eff690b5aef3be418 100644 (file)
@@ -610,7 +610,7 @@ Standard_Real Bisector_BisecPC::SearchBound (const Standard_Real U1,
 {
   Standard_Real Dist1,DistMid,U11,U22; 
   Standard_Real UMid = 0.;
-  Standard_Real Tol      = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   Standard_Real DistMax2 = distMax*distMax;
   U11 = U1; U22 = U2;
   Dist1 = Distance(U11);
@@ -758,7 +758,7 @@ Standard_Boolean Bisector_BisecPC::IsEmpty() const
 //==========================================================================
 Standard_Real Bisector_BisecPC::Parameter(const gp_Pnt2d& P) const
 {
-  Standard_Real    Tol     = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 
   if (P.IsEqual(pointStartBis,Tol)) {return startIntervals.Value(bisInterval);}
   if (P.IsEqual(pointEndBis  ,Tol)) {return endIntervals  .Value(bisInterval);}
index 47911ac581094543d110f2b6b0bf9d0a850e58b9..5213fb03920d96a09d7cfa3348bbce45b9b7115f 100644 (file)
@@ -324,7 +324,7 @@ void Bisector_Inter::NeighbourPerform(const Handle(Bisector_BisecCC)&  Bis1,
 {
   Standard_Real USol,U1,U2,Dist;
   Standard_Real UMin =0.,UMax =0.;  
-  Standard_Real Eps = Precision::PConfusion();
+  constexpr Standard_Real Eps = Precision::PConfusion();
   gp_Pnt2d PSol;
   
   Handle(Geom2d_Curve)     Guide;
index adbd0238bc9fb518668010050d9dec60a7629801..1d8f87d82be355b69cea4632d78e568105126d9a 100644 (file)
@@ -1144,8 +1144,8 @@ static void ComputeSphere (const gp_Sphere& Sphere,
   zmin = P.Z() - R;
   zmax = P.Z() + R;
   
-  Standard_Real uper = 2. * M_PI - Precision::PConfusion();
-  Standard_Real vper = M_PI - Precision::PConfusion();
+  constexpr Standard_Real uper = 2. * M_PI - Precision::PConfusion();
+  constexpr Standard_Real vper = M_PI - Precision::PConfusion();
   if (UMax - UMin >= uper && VMax - VMin >= vper)
   {
     // a whole sphere
@@ -1244,7 +1244,7 @@ static void computeDegeneratedTorus (const gp_Torus& theTorus,
 
   Standard_Real aPhi = ACos (-aRa / aRi);
   
-  Standard_Real anUper = 2. * M_PI - Precision::PConfusion();
+  constexpr Standard_Real anUper = 2. * M_PI - Precision::PConfusion();
   Standard_Real aVper = 2. * aPhi - Precision::PConfusion();
   if (theUMax - theUMin >= anUper && theVMax - theVMin >= aVper)
   {
index ad454b8a94a5302b9aeab6cf7fcdd089ac59cb65..3a61c34b48a0b398b2d3a25c847bf6ebb63afb23 100644 (file)
@@ -495,7 +495,7 @@ void BndLib_Box2dCurve::PerformBSpline()
   }
 
   //
-  const Standard_Real eps = Precision::PConfusion();
+  constexpr Standard_Real eps = Precision::PConfusion();
   if (fabs(aT1-aTb[0]) > eps || fabs(aT2-aTb[1]) > eps) {
     aG=aCBS->Copy();
     //
index 4090e7a9bae1fbb7c16316a1aa09199f051f9f4b..5f0570977b2521810f1634860d5f7ba4e3727cd4 100644 (file)
@@ -118,7 +118,7 @@ Standard_Boolean ChFiKPart_MakeFillet(TopOpeBRepDS_DataStructure& DStr,
 
   Standard_Real UOnCyl,VOnCyl,UOnPln,VOnPln;
   ElSLib::Parameters(Cyl,OrFillet,UOnCyl,VOnCyl);
-  Standard_Real tesp = Precision::Confusion();
+  constexpr Standard_Real tesp = Precision::Confusion();
   if(UOnCyl < fu - tesp || UOnCyl > lu + tesp) 
     UOnCyl = ElCLib::InPeriod(UOnCyl,fu,fu+2*M_PI);
   ElSLib::Parameters(Pln,OrFillet,UOnPln,VOnPln);
index 16d2d586256abbf0698d1bea0ef387f1428de80d..180c858c18761c2dd3e88ecf9527c10fdaec8692 100644 (file)
@@ -284,7 +284,7 @@ static void LineConstructor(Contap_TheSequenceOfLine& slin,
 
                               //-- ------------------------------------------------------------
                               //-- on decoupe la ligne en portions  entre 2 vertex 
-                              Standard_Real Tol = Precision::PConfusion();
+                              constexpr Standard_Real Tol = Precision::PConfusion();
                               Contap_IType typl = L.TypeContour();
                               //-- std::cout<<"\n ----------- Ligne Constructor "<<std::endl;
                               if(typl == Contap_Walking) { 
index b1574f9194d9b5045b56c1a5f23466f3bfa3a22c..91850f2cf5f4bb034fb2554c01035ad2e728e1d5 100644 (file)
@@ -481,7 +481,7 @@ Standard_Boolean Draft_Modification::NewParameter(const TopoDS_Vertex& V,
 
     //Patch
     Standard_Real FirstPar = GC->FirstParameter(), LastPar = GC->LastParameter();
-    Standard_Real pconf = Precision::PConfusion();
+    constexpr Standard_Real pconf = Precision::PConfusion();
     if (Abs( paramf - LastPar ) <= pconf)
     {
       paramf = FirstPar;
index ecbc035bc071d23c200ae1d526301e2b08368dff..c671c3604f07d65ab2b7e07d6d38d6c3877cfb4e 100644 (file)
@@ -1587,7 +1587,7 @@ void Draft_Modification::Perform ()
       {
         // pf >= pl
         Standard_Real FirstPar = theCurve->FirstParameter(), LastPar = theCurve->LastParameter();
-        Standard_Real pconf = Precision::PConfusion();
+        constexpr Standard_Real pconf = Precision::PConfusion();
         if (Abs( pf - LastPar ) <= pconf)
           pf = FirstPar;
         else if (Abs( pl - FirstPar ) <= pconf)
@@ -2074,7 +2074,7 @@ static Standard_Real SmartParameter(Draft_EdgeInfo& Einf,
   const Handle(Geom_Surface)& S2)
 {
   Handle( Geom2d_Curve ) NewC2d;
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   Standard_Real Etol = EdgeTol;
 
   Handle( Geom2d_Curve ) pcu1 = Einf.FirstPC();
index 63f4e5494eafaafdebcb09777b68cd5f4f6f6702..ed2a4afd6aa52f430c09b0ec29005d0c245d94c5 100644 (file)
@@ -228,7 +228,7 @@ void DsgPrs::ComputeCurvilinearFacesLengthPresentation( const Standard_Real Firs
   GeomAPI_ProjectPointOnCurve ProjectorOnCurve;
   Standard_Real U1, V1, U2, V2;
   Standard_Real LastU, LastV;
-  Standard_Real SquareTolerance = Precision::SquareConfusion();
+  constexpr Standard_Real SquareTolerance = Precision::SquareConfusion();
 
   ProjectorOnSurface.Init( AttachmentPoint1, SecondSurf );
   Standard_Integer Index(1);
index 937f7c3badef0369a69e6a673011b1e01b161419..a899ac6069574644abba859bfdb2003a6d494009 100644 (file)
@@ -459,7 +459,7 @@ void Extrema_ExtElCS::Perform(const gp_Circ& C,
     Standard_Integer aNbExt   = anExtC.NbExt();
     Standard_Integer i;
     Standard_Integer aCurI    = 1;
-    Standard_Real    aTolConf = Precision::Confusion();
+    constexpr Standard_Real aTolConf = Precision::Confusion();
     Standard_Real    aCylRad  = S.Radius();
 
     // Check whether two objects have intersection points
index 53514f594ba4df720bedfcc515985de612cf332a..37528880339fead3d101ac31e9fbd8327a59ec31 100644 (file)
@@ -143,7 +143,7 @@ Method:
   Standard_Real Usol[2];
   Usol[0] = C.XAxis().Direction().AngleWithRef(OPp,Axe); // -M_PI<U1<M_PI
 
-  const Standard_Real aAngTol = Precision::Angular();
+  constexpr Standard_Real aAngTol = Precision::Angular();
   if ( Usol[0] + M_PI < aAngTol )
     Usol[0] = -M_PI;
   else if ( Usol[0] - M_PI > -aAngTol )
index 78b2146d632b1ab8f489684418e162c5b564135d..6ade0b9d93d53123779d3352551857a318104c28 100644 (file)
@@ -206,7 +206,7 @@ Standard_Integer Extrema_FuncExtCS::GetStateNumber()
   std::cout <<"F(1)= "<<Sol(1)<<" F(2)= "<<Sol(2)<<" F(3)= "<<Sol(3)<<std::endl;
 #endif
   //comparison of solution with previous solutions
-  Standard_Real tol2d = Precision::SquarePConfusion();
+  constexpr Standard_Real tol2d = Precision::SquarePConfusion();
   Standard_Integer i = 1, nbSol = mySqDist.Length();
   for( ; i <=  nbSol; i++)
   {
index 649d5da02732d62dcc30a161d57796ecd1386560..3cbfda535ffff945abd80184bbd641c999031805 100644 (file)
@@ -130,7 +130,7 @@ Standard_Integer Extrema_FuncPSNorm::GetStateNumber ()
   if (!myPinit || !mySinit) throw Standard_TypeMismatch();
   //comparison of solution with previous solutions
   Standard_Integer i = 1, nbSol = mySqDist.Length();
-  Standard_Real tol2d = Precision::PConfusion() * Precision::PConfusion();
+  constexpr Standard_Real tol2d = Precision::PConfusion() * Precision::PConfusion();
    
   for( ; i <=  nbSol; i++)
   {
index a06710a5d154a22fb20526ee9f56d9061a46571c..54d293e5edf8ed3f9f6f2e64ffb1e902630d0c7b 100644 (file)
@@ -44,7 +44,7 @@ void Extrema_GExtPC::Perform(const ThePoint& P)
   Standard_Integer i, NbExt, n;                     
   Standard_Real U;
   mysample = 17;
-  Standard_Real t3d = Precision::Confusion();
+  constexpr Standard_Real t3d = Precision::Confusion();
   if (Precision::IsInfinite(myuinf)) mydist1 = RealLast();
   else {
     Pf = TheCurveTool::Value(*((TheCurve*)myC), myuinf);
index c6a8f5089bb1af6f055839e7535ceb67d9173874..17994f1faef9fdd69a621cf887467a0a20ed996a 100644 (file)
@@ -375,7 +375,7 @@ void Extrema_GenExtCS::Perform (const Adaptor3d_Curve& C,
     aSqDists.Clear();
     aPntsOnCrv.Clear();
     aPntsOnSurf.Clear();
-    Standard_Real aTol = Precision::SquareConfusion();
+    constexpr Standard_Real aTol = Precision::SquareConfusion();
     for (i = 1; i <= aSqDists1.Length(); ++i)
     {
       Standard_Real aDist = aSqDists1(i);
index fc2035b87cbb293a98124f56743ed187fbae19ab..2dbe3e253588b86ef97fb77c1e1b004726e0b2d2 100644 (file)
@@ -31,7 +31,7 @@ static void CorrectTol(const Standard_Real theU0, const Standard_Real theV0,
   math_Vector& theTol)
 {
   //Correct tolerance for large values of UV parameters
-  Standard_Real aTolRef = Precision::PConfusion();
+  constexpr Standard_Real aTolRef = Precision::PConfusion();
   Standard_Real anEpsRef = Epsilon(1.);
   Standard_Real epsu = Epsilon(theU0);
   const Standard_Real tolog10 = 0.43429;
index 26250f8474404378b518cc521124c734c16117d1..4ace1cbc7e76ba08641b431cbd009f9ee01f6d59 100644 (file)
@@ -145,7 +145,7 @@ void Extrema_GlobOptFuncCQuadric::LoadQuad( const Adaptor3d_Surface *S,
   //
   if (myS->IsUPeriodic())
   {
-    Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
+    constexpr Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
     if (myUf > aTMax || myUf < -Precision::PConfusion() ||
       Abs(myUl - myUf) > aTMax)
     {
@@ -156,7 +156,7 @@ void Extrema_GlobOptFuncCQuadric::LoadQuad( const Adaptor3d_Surface *S,
   }
   if (myS->IsVPeriodic())
   {
-    Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
+    constexpr Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
     if (myVf > aTMax || myVf < -Precision::PConfusion() ||
       Abs(myVl - myVf) > aTMax)
     {
index 8ea81b15be39dc6b8eadb21e192f550856d619b3..08b7b657a223efb779568865904b7446e1635256 100644 (file)
@@ -138,7 +138,7 @@ void Extrema_GlobOptFuncConicS::LoadConic(const Adaptor3d_Curve   *C,
   myTl = theTl;
   if (myC->IsPeriodic())
   {
-    Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
+    constexpr Standard_Real aTMax = 2. * M_PI + Precision::PConfusion();
     if (myTf > aTMax || myTf < -Precision::PConfusion() ||
       Abs(myTl - myTf) > aTMax)
     {
index e13d3095a9d3cef5d1a9d788539cc9d09fa20853..55be482354ac371da890960b2095bc5ef87f5b02 100644 (file)
@@ -286,7 +286,7 @@ void GCPnts_TangentialDeflection::EvaluateDu (const TheCurve& theC,
   gp_Vec T, N;
   D2 (theC, theU, theP, T, N);
   Standard_Real Lt   = T.Magnitude();
-  Standard_Real LTol = Precision::Confusion();
+  constexpr Standard_Real LTol = Precision::Confusion();
   if (Lt > LTol && N.Magnitude () > LTol)
   {
     Standard_Real Lc = N.CrossMagnitude (T);
@@ -434,7 +434,7 @@ Standard_Integer GCPnts_TangentialDeflection::AddPoint
   const Standard_Real theParam,
   const Standard_Boolean theIsReplace)
 {
-  const Standard_Real tol = Precision::PConfusion();
+  constexpr Standard_Real tol = Precision::PConfusion();
   Standard_Integer index = -1;
   const Standard_Integer nb = myParameters.Length();
   for ( Standard_Integer i = 1; index == -1 && i <= nb; i++ )
@@ -477,7 +477,7 @@ Standard_Real GCPnts_TangentialDeflection::ArcAngularStep(
 {
   Standard_ConstructionError_Raise_if(theRadius < 0.0, "Negative radius");
 
-  const Standard_Real aPrecision = Precision::Confusion();
+  constexpr Standard_Real aPrecision = Precision::Confusion();
 
   Standard_Real Du = 0.0, aMinSizeAng = 0.0;
   if (theRadius > aPrecision)
@@ -506,7 +506,7 @@ void GCPnts_TangentialDeflection::PerformCurve (const TheCurve& theC)
   Standard_Real Du, Dusave, MiddleU, L1, L2;
 
   Standard_Real U1   = myFirstu;
-  Standard_Real LTol = Precision::Confusion(); // protection longueur nulle
+  constexpr Standard_Real LTol = Precision::Confusion(); // protection longueur nulle
   Standard_Real ATol = 1.e-2 * myAngularDeflection;
   if (ATol > 1.e-2)
   {
index 6b44e754d0e6520333b47d5a4237e3e8cb5297b7..d7326199869cb73fbb148285fac3c33ac23936d4 100644 (file)
@@ -51,7 +51,7 @@ GccAna_Circ2dBisec::
 //=========================================================================
 
    WellDone = Standard_False;
-   Standard_Real Tol=Precision::Confusion();
+   constexpr Standard_Real Tol=Precision::Confusion();
 
    Standard_Real R1 = Circ1.Radius();
    Standard_Real R2 = Circ2.Radius();
index 19c62e901c61534b77de003b15204d904337a07c..28330dd54707f9fbe72024befff0040e15035a99 100644 (file)
@@ -216,7 +216,7 @@ void Geom_OffsetSurface::SetBasisSurface (const Handle(Geom_Surface)& S,
     // et la mettre en champ, on pourrait utiliser par exemple pour l'extraction d'iso 
     // et aussi pour les singularite. Pour les surfaces osculatrices, on l'utilise pour
     // detecter si une iso est degeneree.
-    const Standard_Real Tol = Precision::Confusion(); //0.0001;
+    constexpr Standard_Real Tol = Precision::Confusion(); //0.0001;
     myOscSurf = new Geom_OsculatingSurface(aCheckingSurf, Tol);
   }
 
@@ -802,7 +802,7 @@ Handle(Geom_Surface) Geom_OffsetSurface::Surface() const
 {
   if (offsetValue == 0.0) return  basisSurf; // Cas direct 
 
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
   Handle(Geom_Surface) Result, Base;
   Result.Nullify();
   Handle(Standard_Type) TheType = basisSurf->DynamicType();
index 379a9d767d63f7eacf3f8b062b5d45ba06a07f8d..797326962314b4fabf2696124b111a2b3a6b3f4c 100644 (file)
@@ -855,7 +855,7 @@ pararg2(1,aNbSolMAX)
         Intp.Perform(C1,C2,Tol,Tol);
         if (Intp.IsDone()) {
           if (!Intp.IsEmpty()) {
-            const Standard_Real aSQApproxTol = Precision::Approximation() *
+            constexpr Standard_Real aSQApproxTol = Precision::Approximation() *
                                                 Precision::Approximation();
             for (Standard_Integer i = 1; i <= Intp.NbPoints() && NbrSol < aNbSolMAX; i++)
             {
index b25ebf8667f1b098302cc0bf9abe2546688d60b4..eabd77c701a883a2c8299dd2f1a6fc41e50a1b9e 100644 (file)
@@ -81,7 +81,7 @@ void GeomAPI_ExtremaCurveCurve::Init
 
   myTotalExt = Standard_False;
   
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   myC1.Load(C1);
   myC2.Load(C2);
 
@@ -123,7 +123,7 @@ void GeomAPI_ExtremaCurveCurve::Init
  
   myTotalExt = Standard_False;
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   myC1.Load(C1);
   myC2.Load(C2);
 
index c77fdb07a0bd1673b34bedc9e09843ab24e4964c..a7f45b9e9022e60d7bcd9ac7be076baf635766c2 100644 (file)
@@ -81,7 +81,7 @@ void GeomAPI_ExtremaCurveSurface::Init
   GeomAdaptor_Curve   TheCurve   (Curve);
   GeomAdaptor_Surface TheSurface (Surface);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   myExtCS.Initialize (TheSurface, Tol, Tol);
   myExtCS.Perform (TheCurve, TheCurve.FirstParameter(), TheCurve.LastParameter());
   myIsDone = myExtCS.IsDone() && (myExtCS.IsParallel() || myExtCS.NbExt() > 0);
@@ -122,7 +122,7 @@ void GeomAPI_ExtremaCurveSurface::Init
   GeomAdaptor_Curve   TheCurve   (Curve, Wmin, Wmax);
   GeomAdaptor_Surface TheSurface (Surface, Umin, Umax, Vmin, Vmax);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   myExtCS.Initialize (TheSurface,
                       Umin,Umax,Vmin,Vmax,Tol,Tol);
   myExtCS.Perform (TheCurve, Wmin, Wmax);
index 8a844f449192003af8a45be82e02949266f8b9e4..a5958c40904633d5b10426b2dc029520b62060a2 100644 (file)
@@ -81,7 +81,7 @@ void GeomAPI_ExtremaSurfaceSurface::Init
   GeomAdaptor_Surface TheSurface1 (S1);
   GeomAdaptor_Surface TheSurface2 (S2);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   
   Extrema_ExtSS theExtSS(TheSurface1, TheSurface2,Tol,Tol);
   myExtSS = theExtSS;
@@ -126,7 +126,7 @@ void GeomAPI_ExtremaSurfaceSurface::Init
   GeomAdaptor_Surface TheSurface1 (S1,U1min,U1max,V1min,V1max);
   GeomAdaptor_Surface TheSurface2 (S2,U2min,U2max,V2min,V2max);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   Extrema_ExtSS theExtSS(TheSurface1, TheSurface2,
                          U1min,U1max,V1min,V1max,
                          U2min,U2max,V2min,V2max,
index c04bcce8af815493450379a024dcdfddba8fa8fb..1ab632dfb96a3ba0dd018279d56b7d752057157d 100644 (file)
@@ -161,7 +161,7 @@ GeomAPI_ProjectPointOnSurf::GeomAPI_ProjectPointOnSurf()
                                         const Standard_Real         Vsup,
                                         const Extrema_ExtAlgo       theProjAlgo)
 {
-  Standard_Real Tolerance = Precision::PConfusion();
+  constexpr Standard_Real Tolerance = Precision::PConfusion();
   //modified by NIZNHY-PKV Thu Apr  4 10:38:23 2002 f
   //GeomAdaptor_Surface TheSurface (Surface,Umin,Usup,Vmin,Vsup);
   //myExtPS = Extrema_ExtPS (P, TheSurface, Tol, Tol);
@@ -211,7 +211,7 @@ GeomAPI_ProjectPointOnSurf::GeomAPI_ProjectPointOnSurf()
                                         const Standard_Real       Vsup,
                                         const Extrema_ExtAlgo     theProjAlgo)
 {
-  Standard_Real Tolerance = Precision::PConfusion();
+  constexpr Standard_Real Tolerance = Precision::PConfusion();
   //modified by NIZNHY-PKV Thu Apr  4 10:41:50 2002 f
   //GeomAdaptor_Surface TheSurface (Surface,Umin,Usup,Vmin,Vsup);
   myGeomAdaptor.Load(Surface, Umin,Usup,Vmin,Vsup);
index 816af616f91b6069307fe02342bcf33418a2186e..4704fddc01e461b3e1416b98377b05617f3c9c0a 100644 (file)
@@ -83,7 +83,7 @@ GeomAbs_Shape LocalContinuity(Standard_Integer         Degree,
   Standard_Real newFirst, newLast;
   BSplCLib::LocateParameter(Degree,TK,TM,PFirst,IsPeriodic,1,Nb,Index1,newFirst);
   BSplCLib::LocateParameter(Degree,TK,TM,PLast, IsPeriodic,1,Nb,Index2,newLast );
-  const Standard_Real EpsKnot = Precision::PConfusion();
+  constexpr Standard_Real EpsKnot = Precision::PConfusion();
   if (Abs(newFirst-TK(Index1+1))< EpsKnot) Index1++;
   if (Abs(newLast -TK(Index2  ))< EpsKnot) Index2--;
   // attention aux courbes peridiques.
index 62eb29784ef0b874cb08637d6200ca42a3c27cd5..955a55f1f91e2da4c1b12ddb65eb52c7fee6be2f 100644 (file)
@@ -307,7 +307,7 @@ void GeomAdaptor_SurfaceOfRevolution::VIntervals(TColStd_Array1OfReal& T,
 
 Handle(Adaptor3d_Surface) GeomAdaptor_SurfaceOfRevolution::UTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const
 {
-  const Standard_Real Eps = Precision::PConfusion();
+  constexpr Standard_Real Eps = Precision::PConfusion();
   (void )Eps; (void )First; (void )Last; (void )Tol;
   Standard_OutOfRange_Raise_if
     (  Abs(First) > Eps || Abs(Last - 2.*M_PI) > Eps,
@@ -425,9 +425,9 @@ Standard_Real GeomAdaptor_SurfaceOfRevolution::VResolution
 
 GeomAbs_SurfaceType GeomAdaptor_SurfaceOfRevolution::GetType() const 
 {
-  Standard_Real TolConf = Precision::Confusion();
-  Standard_Real TolAng  = Precision::Angular();
-  Standard_Real TolConeSemiAng = Precision::Confusion();
+  constexpr Standard_Real TolConf = Precision::Confusion();
+  constexpr Standard_Real TolAng  = Precision::Angular();
+  constexpr Standard_Real TolConeSemiAng = Precision::Confusion();
 
   switch (myBasisCurve->GetType()) {
   case GeomAbs_Line:    {
index b336e3741fa51be8a2b34a713316aa39e34603f1..7193e0884669993c56f0f2753b9eb1eb7374b011 100644 (file)
@@ -482,7 +482,7 @@ Handle(Geom_Curve) GeomConvert_CurveToAnaCurve::ComputeEllipse(const Handle(Geom
   }
 
   Handle(Geom_Curve) res;
-  Standard_Real prec = Precision::PConfusion();
+  constexpr Standard_Real prec = Precision::PConfusion();
   
   Standard_Real AF,BF,CF,DF,EF,Q1,Q2,Q3,c2n;
   Standard_Integer i;
index 93635b193d347292eb73711dbffb71efdefdf692..00296f8d150f2d3ccec205628c856cc9a4df3feb 100644 (file)
@@ -249,7 +249,7 @@ Standard_Boolean GeomConvert_SurfToAnaSurf::GetCylByLS(const Handle(TColgp_HArra
   aLBnd(4) = aStartPoint(4) + aDR;
 
   //
-  Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   math_MultipleVarFunction* aPFunc;
   GeomConvert_FuncCylinderLSDist aFuncCyl(thePoints, thePos.Direction());
   aPFunc = (math_MultipleVarFunction*)&aFuncCyl;
@@ -767,7 +767,7 @@ Handle(Geom_Surface) GeomConvert_SurfToAnaSurf::ConvertToAnalytical(const Standa
   Standard_Real U1, U2, V1, V2;
   mySurf->Bounds(U1, U2, V1, V2);
   Standard_Boolean aDoSegment = Standard_False;
-  Standard_Real aTolBnd = Precision::PConfusion();
+  constexpr Standard_Real aTolBnd = Precision::PConfusion();
   Standard_Integer isurf = 0;
   if (Umin < U1 || Umax > U2 || Vmin < V1 || Vmax > V2)
   {
index e0b1eceed5459a12d6e92c9f6daf22ea74f368e5..fe251e0b770b4cd8b5b5dd3648ff2b2e61d05df9 100644 (file)
@@ -259,7 +259,7 @@ void  GeomFill_BSplineCurves::Init
   // On ordonne les courbes
   Handle(Geom_BSplineCurve) CC1, CC2, CC3, CC4;
   
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 #ifndef No_Exception
   Standard_Boolean IsOK =
 #endif
@@ -517,7 +517,7 @@ void  GeomFill_BSplineCurves::Init
     }
   }
   else {
-    Standard_Real Eps = Precision::Confusion();
+    constexpr Standard_Real Eps = Precision::Confusion();
     Standard_Boolean IsOK = Standard_False;
     if ( CC1->StartPoint().IsEqual(CC2->StartPoint(),Eps)) {
       IsOK = Standard_True;
index 5c939bc09d40c90d70fbd2955a39950c27282643..d4045adcad366628d1c79597e19f20e7d682e43c 100644 (file)
@@ -47,7 +47,7 @@ static void SetSameWeights(TColStd_Array1OfReal& W1,
                    TColStd_Array1OfReal& W3, 
                    TColStd_Array1OfReal& W4 ) 
 {
-  Standard_Real Eps = Precision::Confusion();
+  constexpr Standard_Real Eps = Precision::Confusion();
 
   Standard_Integer NU = W1.Length();
   Standard_Integer NV = W2.Length();
@@ -213,7 +213,7 @@ void  GeomFill_BezierCurves::Init(const Handle(Geom_BezierCurve)& C1,
   // On ordonne les courbes
   Handle(Geom_BezierCurve) CC1, CC2, CC3, CC4;
   
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 #ifndef No_Exception
   Standard_Boolean IsOK =
 #endif
@@ -417,7 +417,7 @@ void  GeomFill_BezierCurves::Init(const Handle(Geom_BezierCurve)& C1,
     TColgp_Array1OfPnt P1(1,Deg1+1);
     TColgp_Array1OfPnt P2(1,Deg2+1);
     
-    Standard_Real Eps = Precision::Confusion();
+    constexpr Standard_Real Eps = Precision::Confusion();
     Standard_Boolean IsOK = Standard_False;
     if ( CC1->StartPoint().IsEqual(CC2->StartPoint(),Eps)) {
       IsOK = Standard_True;
index 9bc250383bc5f3ba635234a473607617cb6d968d..7c3c05daa8344f3dad54a6eb40685ffc2c90c92e 100644 (file)
@@ -57,7 +57,7 @@ static void GeomFillFusInt(const TColStd_Array1OfReal& I1,
                    TColStd_SequenceOfReal& Seq)
 {
   Standard_Integer ind1=1, ind2=1;
-  Standard_Real    Epspar = Precision::PConfusion()*0.99;
+  constexpr Standard_Real Epspar = Precision::PConfusion()*0.99;
   // en suposant que le positionement fonctionne a PConfusion()/2
   Standard_Real    v1, v2;
 // Initialisations : les IND1 et IND2 pointent sur le 1er element
@@ -591,7 +591,7 @@ Intervals(TColStd_Array1OfReal& T, const GeomAbs_Shape S) const
  void GeomFill_CircularBlendFunc::SetInterval(const Standard_Real First,
                                              const Standard_Real Last) 
 {
-  Standard_Real Eps = Precision::PConfusion();
+  constexpr Standard_Real Eps = Precision::PConfusion();
   myTPath = myPath->Trim(First, Last, Eps);
   myTCurve1 = myCurve1->Trim(First, Last, Eps);
   myTCurve2 = myCurve2->Trim(First, Last, Eps); 
index 9738fec8ee4cb83d62e71d9e776accb06389a65a..cc9c06e9382c97f6efe3e82dffe0a55adceb7b50 100755 (executable)
@@ -193,7 +193,7 @@ Standard_Boolean GeomFill_DiscreteTrihedron::D0(const Standard_Real Param,
   {
     //Locate <Param> in the sequence <myKnots>
     Standard_Integer Index = -1;
-    Standard_Real TolPar = Precision::PConfusion();
+    constexpr Standard_Real TolPar = Precision::PConfusion();
     //Standard_Real TolConf = Precision::Confusion();
     Standard_Integer NbSamples = 10;
     gp_Pnt Origin(0.,0.,0.);
index ff4f83319b07544c5cd45ce9665c6837a224ac05..251a0598be727114429b0c964354774b650b8386 100644 (file)
@@ -152,8 +152,10 @@ Standard_Boolean GeomFill_Frenet::SetCurve(const Handle(Adaptor3d_Curve)& C)
 {
   Standard_Integer i, j;
   GeomFill_SnglrFunc Func(myCurve);
-  Standard_Real TolF = 1.0e-10, Tol = 10*TolF, Tol2 = Tol * Tol,
-                PTol = Precision::PConfusion();
+  constexpr Standard_Real TolF = 1.0e-10;
+  constexpr Standard_Real Tol = 10 * TolF;
+  constexpr Standard_Real Tol2 = Tol * Tol;
+  constexpr Standard_Real PTol = Precision::PConfusion();
 
 // We want to determine if the curve has linear segments
   Standard_Integer NbIntC2 = myCurve->NbIntervals(GeomAbs_C2);
index 9fd91d3fcab731cd4652e6fe55c987361f805086..9c4250933abb397c68bf2d4d8ec864829af49d8c 100644 (file)
@@ -356,7 +356,8 @@ GeomFill_NSections::GeomFill_NSections(const TColGeom_SequenceOfCurve& NC,
   }
 
 
-  Standard_Real ww, EpsW = 10*Precision::PConfusion();
+  Standard_Real ww;
+  constexpr Standard_Real EpsW = 10*Precision::PConfusion();
   Standard_Boolean NullWeight = Standard_False;
   if (!rational) DWeights.Init(0.);
   Standard_Integer indice = 1, ii;
@@ -449,7 +450,8 @@ GeomFill_NSections::GeomFill_NSections(const TColGeom_SequenceOfCurve& NC,
   }
 
 
-  Standard_Real ww, EpsW = 10*Precision::PConfusion();
+  Standard_Real ww;
+  constexpr Standard_Real EpsW = 10*Precision::PConfusion();
   Standard_Boolean NullWeight = Standard_False;
   if (!rational) D2Weights.Init(0.);
   Standard_Integer indice = 1, ii;
index 8362ab26220b39715d06d42c85dd5dcf12fae41c..70aec7c5477822591e590d1c8779f33c7dc7a799 100644 (file)
@@ -1091,8 +1091,8 @@ void GeomFill_Pipe::ApproxSurf(const Standard_Boolean WithParameters) {
 
   Handle(GeomFill_Line) Line = new GeomFill_Line(Section.NbSections());
   Standard_Integer NbIt = 0;
-  Standard_Real T3d =  Precision::Approximation();
-  Standard_Real T2d =  Precision::PApproximation();
+  constexpr Standard_Real T3d =  Precision::Approximation();
+  constexpr Standard_Real T2d =  Precision::PApproximation();
   GeomFill_AppSweep App( 4, 8, T3d, T2d, NbIt, WithParameters);
   
   App.Perform( Line, Section, 30);
index 96727353014ca7ab7371987c3f1263cc370fbf46..7f468486e6471ea5c8c29321a9ab8eed28cbfca9 100644 (file)
@@ -59,7 +59,7 @@
   if (aC2D.IsNull() || !aS->IsUPeriodic())
     return;
   //
-  const Standard_Real aEps=Precision::PConfusion();//1.e-9
+  constexpr Standard_Real aEps=Precision::PConfusion();//1.e-9
   const Standard_Real aEpsilon=Epsilon(10.);//1.77e-15 
   //
   Standard_Real umin,umax,vmin,vmax;
@@ -232,7 +232,7 @@ static Standard_Boolean isDegenerated(const Handle(GeomAdaptor_Surface)& theGAHS
                                       const Standard_Real theFirstPar,
                                       const Standard_Real theLastPar)
 {
-  const Standard_Real aSqTol = Precision::Confusion()*Precision::Confusion();
+  constexpr Standard_Real aSqTol = Precision::Confusion()*Precision::Confusion();
   gp_Pnt2d aP2d;
   gp_Pnt aP1, aP2;
 
@@ -1309,7 +1309,7 @@ void GeomInt_IntSS::TrimILineOnSurfBoundaries(const Handle(Geom2d_Curve)& theC2d
     }
   }
 
-  const Standard_Real anIntTol = 10.0*Precision::Confusion();
+  constexpr Standard_Real anIntTol = 10.0*Precision::Confusion();
 
   IntersectCurveAndBoundary(theC2d1, aCurS1Bounds,
                         aNumberOfCurves, anIntTol, theArrayOfParameters);
index 9862f6fe1bd3fb808c31b38619771f545c24444a..f87b409f4bf870f749c6e9e73b8e0ce6f37c2786 100644 (file)
@@ -124,7 +124,7 @@ void GeomInt_LineConstructor::Perform(const Handle(IntPatch_Line)& L)
 {
   Standard_Integer i,nbvtx;
   Standard_Real firstp,lastp;
-  const Standard_Real Tol = Precision::PConfusion() * 35.0;
+  constexpr Standard_Real Tol = Precision::PConfusion() * 35.0;
   
   const IntPatch_IType typl = L->ArcType();
   if(typl == IntPatch_Analytic)  {
@@ -862,7 +862,7 @@ void RejectDuplicates(NCollection_Array1<GeomInt_Vertex>& theVtxArr)
   // About the value aTolPC=1000.*Precision::PConfusion(),
   // see IntPatch_GLine::ComputeVertexParameters(...)
   // for more details;
-  const Standard_Real aTolPC = 1000.*Precision::PConfusion();
+  constexpr Standard_Real aTolPC = 1000.*Precision::PConfusion();
 
   //Find duplicates in a slice of the array [LowerBound, UpperBound-1].
   //If a duplicate has been found, the element with greater index will be rejected.
index 81b0c0959890f28b0a31da2376694cbba7cca06f..27a5d68c2270b5c3d9536fee43b05e76f4aa4621 100644 (file)
@@ -64,7 +64,7 @@ void ProjectPointOnSurf::Init ( const Handle(Geom_Surface)& Surface,
                                 const Standard_Real Vmin,
                                 const Standard_Real Vsup )
 {
-  const Standard_Real Tolerance = Precision::PConfusion();
+  constexpr Standard_Real Tolerance = Precision::PConfusion();
   //
   myGeomAdaptor.Load(Surface, Umin,Usup,Vmin,Vsup);
   myExtPS.Initialize(myGeomAdaptor, Umin, Usup, Vmin, Vsup, Tolerance, Tolerance);
index f4767e7085159331dec33d9da907a65e7812f2df..28d7af484ae92470e8c260566857957d0c8894d9 100644 (file)
@@ -1479,7 +1479,7 @@ void GeomLib::ExtendSurfByLength(Handle(Geom_BoundedSurface)& Surface,
     Handle(Geom_BSplineSurface)::DownCast (Surface);
   if (BS.IsNull()) {
     //BS = GeomConvert::SurfaceToBSplineSurface(Surface);
-    Standard_Real Tol = Precision::Confusion(); //1.e-4;
+    constexpr Standard_Real Tol = Precision::Confusion(); //1.e-4;
     GeomAbs_Shape UCont = GeomAbs_C1, VCont = GeomAbs_C1;
     Standard_Integer degU = 14, degV = 14;
     Standard_Integer nmax = 16;
@@ -1509,7 +1509,7 @@ void GeomLib::ExtendSurfByLength(Handle(Geom_BoundedSurface)& Surface,
 //                                   || ( !InU && BS->IsVRational() ) ;
   Standard_Boolean rational = (BS->IsURational() ||  BS->IsVRational());
   Standard_Boolean NullWeight;
-   Standard_Real EpsW = 10*Precision::PConfusion();
+  constexpr Standard_Real EpsW = 10*Precision::PConfusion();
   Standard_Integer gap = 3;
   if ( rational ) gap++;
 
index e2a5eb7102fb9031210b2f1d7f5c63e67ca28b82..82fb686ff98a40b52a5f92aa033cafb898217b00 100644 (file)
@@ -40,7 +40,7 @@ static Standard_Boolean Controle(const TColgp_Array1OfPnt& Poles,
   Standard_Real gx,gy,gz;
   gp_Pnt Bary;
   gp_Dir DX, DY;
-  Standard_Real aTolSingular = Precision::Confusion();
+  constexpr Standard_Real aTolSingular = Precision::Confusion();
 
     
   GeomLib::Inertia(Poles, Bary, DX, DY, gx, gy, gz);
index 2c38aed2680fd96b883b6f0cc1e19b9b44bbe2a5..b6dc1fcb2ef0825d132dcbfad92ad6c30576adb3 100644 (file)
@@ -344,7 +344,7 @@ Standard_Real GeomLib_Tool::ComputeDeviation(const Geom2dAdaptor_Curve& theCurve
 
   aFunc.GetLine(theLine);
 
-  const Standard_Real aTolDefl = Precision::PConfusion();
+  constexpr Standard_Real aTolDefl = Precision::PConfusion();
 
   Standard_Real aD1 = 0.0;
   Standard_Real aD2 = 0.0;
index b0c4c47b60028f2a8555b838818c4680f4c25d95..28f8f1a681ddf8045e5f5b4098bd1e6f81eb0574 100644 (file)
@@ -194,7 +194,7 @@ static Standard_Boolean ArePolesPlanar (const TColgp_Array1OfPnt& Poles,
   for ( i = 1; i < Poles.Length(); i++) 
     Normal += Poles ( i ).XYZ() ^ Poles ( i + 1 ).XYZ();
 
-  Standard_Real tol = Precision::Confusion();
+  constexpr Standard_Real tol = Precision::Confusion();
   Standard_Real nrm = Normal.Modulus();
   if ( nrm < tol ) {
     Normal.SetCoord ( 0, 0, 1 );
index 2e52fc6d11739613cb51d0611e30ad34e71b92e1..c7cfe8b500af8e75d61164c4c227b726693f3e73 100644 (file)
@@ -1076,7 +1076,7 @@ static Standard_Integer uniformAbscissa (Draw_Interpretor& di, Standard_Integer
 
     GeomAdaptor_Curve GAC(ellip);
     di<<"Type Of curve: "<<GAC.GetType()<<"\n";
-    Standard_Real Tol = Precision::Confusion();
+    constexpr Standard_Real Tol = Precision::Confusion();
     Standard_Real L;
 
     L = GCPnts_AbscissaPoint::Length(GAC, GAC.FirstParameter(), GAC.LastParameter(), Tol);
@@ -1153,7 +1153,7 @@ static Standard_Integer EllipsUniformAbscissa (Draw_Interpretor& di, Standard_In
 
     GeomAdaptor_Curve GAC(ellip);
     di<<"Type Of curve: "<<GAC.GetType()<<"\n";
-    Standard_Real Tol = Precision::Confusion();
+    constexpr Standard_Real Tol = Precision::Confusion();
     Standard_Real L;
 
     L = GCPnts_AbscissaPoint::Length(GAC, GAC.FirstParameter(), GAC.LastParameter(), Tol);
index 09756abcd67d12c3937c3657f3faaa74e91e2644..a7b307e81ccc7a8dbd4291fe2fbea255e5e68ad5 100644 (file)
@@ -76,7 +76,7 @@ void HLRAlgo_PolyAlgo::Update ()
   Standard_Real xTrianMax,yTrianMax,zTrianMax;
   Standard_Real xSegmnMin,ySegmnMin,zSegmnMin;
   Standard_Real xSegmnMax,ySegmnMax,zSegmnMax;
-  Standard_Real Big = Precision::Infinite();
+  constexpr Standard_Real Big = Precision::Infinite();
   HLRAlgo_PolyData::Box aBox(Big, Big, Big, -Big, -Big, -Big);
 
   myNbrShell = myHShell.Size();
index 6f5fc6356d8e742e99f5cd0a1810297003652ea3..7f3e28ee288704572262e7c718bff2486e95ecaf 100644 (file)
@@ -195,7 +195,7 @@ TopoDS_Edge HLRBRep::MakeEdge3d(const HLRBRep_Curve& ec,
   TopoDS_Vertex V1, V2, V1new, V2new;
   TopExp::Vertices(anEdge, V1, V2);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   if (Abs(fpar - U1) <= Tol)
     V1new = V1;
   else
index 9c1f651b8164fc24c4416e46a617b99cf6b3ff7e..26b19f07960cc8e96786b5837319ca52a68c0b41 100644 (file)
@@ -343,7 +343,7 @@ Handle(Geom_Curve) IGESToBRep_BasicCurve::TransferConicArc
     //The dimensions should be also obliged:
     //[a]=[b]=[c]=L^-2
     //if ( (Abs(a-c) <= GetEpsGeom()) && (Abs(b) < GetEpsCoeff()))
-    Standard_Real eps2 = Precision::PConfusion() * Precision::PConfusion();
+    constexpr Standard_Real eps2 = Precision::PConfusion() * Precision::PConfusion();
     if ( (Abs(a-c) <= eps2) && (Abs(b) < eps2)) {
     
 //                          =================
@@ -512,7 +512,7 @@ Handle(Geom2d_Curve) IGESToBRep_BasicCurve::Transfer2dConicArc
 
     //#60 rln 29.12.98 PRO17015
     //if ( (Abs(a-c) <= GetEpsGeom()) && (Abs(b) < GetEpsCoeff()))
-    Standard_Real eps2 = Precision::PConfusion() * Precision::PConfusion();
+    constexpr Standard_Real eps2 = Precision::PConfusion() * Precision::PConfusion();
     if ( (Abs(a-c) <= eps2) && (Abs(b) < eps2)) {
 
       //                          =================
index 6959f546ea0b705d625c4b2658bee76d0ecc331b..441e00cd9ac2fa85bcc1dbf7a7bd7090bac686c5 100644 (file)
@@ -458,8 +458,8 @@ void IntAna_Curve::FindParameter(const gp_Pnt& theP,
 {
   const Standard_Real aPIpPI = M_PI + M_PI,
     anEpsAng = 1.e-8,
-    InternalPrecision = 1.e-8, //precision of internal algorithm of values computation
-    aSqTolPrecision = Precision::SquareConfusion(); //for boundary points to check their coincidence with others
+    InternalPrecision = 1.e-8; //precision of internal algorithm of values computation
+  constexpr Standard_Real aSqTolPrecision = Precision::SquareConfusion(); //for boundary points to check their coincidence with others
   
   Standard_Real aTheta = 0.0;
   //
index 20fb88e65ddac6b00fd5d8075bb13eac4bf5963f..1f0c33584d2c5172ea85e73cb40c21e0d0f25351 100644 (file)
@@ -137,7 +137,7 @@ class TrigonometricRoots {
   //IsARoot
   Standard_Boolean IsARoot(Standard_Real u) {
     Standard_Integer i;
-    Standard_Real aEps=RealEpsilon();
+    constexpr Standard_Real aEps=RealEpsilon();
     Standard_Real PIpPI = M_PI + M_PI;
     //
     for(i=0 ; i<NbRoots; ++i) {
index b03ded458de8cd1d3800692747c9d3bface1886b..c6392d6a9e162bb7106c917493e1316f805a5228 100644 (file)
@@ -956,7 +956,7 @@ void IntCurveSurface_Inter::PerformConicSurf(const gp_Lin&   Line,
     }
   case GeomAbs_Cone:
     {
-      const Standard_Real correction = 1.E+5*Precision::Angular();
+      constexpr Standard_Real correction = 1.E+5*Precision::Angular();
       gp_Cone cn = TheSurfaceTool::Cone(surface);
       if(Abs(cn.SemiAngle()) < M_PI/2.0 - correction) {
         IntAna_IntConicQuad LinCone(Line, cn);
@@ -1790,7 +1790,7 @@ void EstLimForInfRevl(const gp_Lin&   Line,
   Handle(Adaptor3d_Curve) aBasisCurve = TheSurfaceTool::BasisCurve(surface);
   gp_Ax1 aRevAx = TheSurfaceTool::AxeOfRevolution(surface);
   gp_Vec aXVec = aRevAx.Direction();
-  Standard_Real aTolAng = Precision::Angular();
+  constexpr Standard_Real aTolAng = Precision::Angular();
 
   // make plane to project a basis curve
   gp_Pnt O = aRevAx.Location();
index 6769b3e04ea47bdae71ecd03e27d75698e149d54..48f054c61d53c12bfdcc8f0397e15c6ff3923bbe 100644 (file)
@@ -347,7 +347,7 @@ void IntPatch_GLine::AddVertex (const IntPatch_Point& Pnt)
         while(par<pf) par+=M_PI+M_PI;
         while(par>pl) par-=M_PI+M_PI;
         if(par<pf) { 
-          const Standard_Real PrecisionPConfusion ( Precision::PConfusion()*1000.0 );
+          constexpr Standard_Real PrecisionPConfusion ( Precision::PConfusion()*1000.0 );
           if((pf-par)>PrecisionPConfusion) {
             return;
           }
@@ -396,7 +396,7 @@ void IntPatch_GLine::ComputeVertexParameters(const Standard_Real /*Tol*/)
   
   Standard_Integer nbvtx = NbVertex();
 
-  const Standard_Real PrecisionPConfusion ( Precision::PConfusion()*1000.0 );
+  constexpr Standard_Real PrecisionPConfusion ( Precision::PConfusion()*1000.0 );
 
   do { 
     APointDeleted = Standard_False;
index ef7c959e0ad4e2830f96a9d7b7a1c0e48ed743aa..721998285f7c0e402f408b85dcdb98912f60c674 100644 (file)
@@ -2665,9 +2665,9 @@ static Standard_Boolean DecomposeResult(const Handle(IntPatch_PointLine)& theLin
   }
   
   const Standard_Real aDeltaUmax = M_PI_2;
-  const Standard_Real aTOL3D = 1.e-10, 
-                      aTOL2D = Precision::PConfusion(),
-                      aTOL2DS = Precision::PConfusion();
+  constexpr Standard_Real aTOL3D = 1.e-10,
+                          aTOL2D = Precision::PConfusion(),
+                          aTOL2DS = Precision::PConfusion();
 
   const Handle(IntSurf_LineOn2S)& aSLine = theLine->Curve();
 
@@ -2801,7 +2801,7 @@ static Standard_Boolean DecomposeResult(const Handle(IntPatch_PointLine)& theLin
         ////
         const IntSurf_PntOn2S& aRefPt = aSSLine->Value(aBindex-1);
 
-        Standard_Real aCompareTol3D = Precision::Confusion();
+        constexpr Standard_Real aCompareTol3D = Precision::Confusion();
         Standard_Real aCompareTol2D = Precision::PConfusion();
 
         IntSurf_PntOn2S aNewPoint = aRefPt;
index b06c8513d146ab55a588f415b4ea132c138fcbd2..aa28752f7f78d4e8b25756212e1099366622d005 100644 (file)
@@ -1801,7 +1801,7 @@ Standard_Boolean IntPatch_Intersection::CheckSingularPoints(
   }
   //
   const Standard_Integer aNbBndPnts = 5;
-  const Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   Standard_Integer i;
   theD1->Init();
   Standard_Boolean isU = Standard_True;
@@ -1847,7 +1847,7 @@ Standard_Boolean IntPatch_Intersection::CheckSingularPoints(
       //Singular point aPP1;
       aPmid /= aNb;
       aPP1.SetXYZ(aPmid);
-      Standard_Real aTolU = Precision::PConfusion(), aTolV = Precision::PConfusion();
+      constexpr Standard_Real aTolU = Precision::PConfusion(), aTolV = Precision::PConfusion();
       Extrema_ExtPS aProj(aPP1, *theS2.get(), aTolU, aTolV, Extrema_ExtFlag_MIN);
 
       if (aProj.IsDone())
@@ -1883,7 +1883,7 @@ Standard_Real IntPatch_Intersection::DefineUVMaxStep(
   Standard_Real anUVMaxStep = 0.001;
   Standard_Real aDistToSing1 = Precision::Infinite();
   Standard_Real aDistToSing2 = Precision::Infinite();
-  const Standard_Real aTolMin = Precision::Confusion(), aTolMax = 1.e-5;
+  constexpr Standard_Real aTolMin = Precision::Confusion(), aTolMax = 1.e-5;
   if (theS1 != theS2)
   {
     Standard_Boolean isSing1 = CheckSingularPoints(theS1, theD1, theS2, aDistToSing1);
index 6a3568f672090fcb81003f1c663854a80d32a546..eb0489e876f21d628e793a222e2c9d8222e2f85f 100644 (file)
@@ -49,8 +49,8 @@ Standard_Real IntPatch_PointLine::
                                             const Handle(Adaptor3d_Surface)& theS2,
                                             const IntSurf_PntOn2S& theUVPoint)
 {
-  const Standard_Real aSmallValue = 1.0/Precision::Infinite();
-  const Standard_Real aSqSmallValue = aSmallValue*aSmallValue;
+  constexpr Standard_Real aSmallValue = 1.0/Precision::Infinite();
+  constexpr Standard_Real aSqSmallValue = aSmallValue*aSmallValue;
 
   Standard_Real aU1 = 0.0, aV1 = 0.0, aU2 = 0.0, aV2 = 0.0;
   theUVPoint.Parameters(aU1, aV1, aU2, aV2);
index 9d5df4fca01a9fea4aa857df20660a331e8eacb6..7b4b7fa7686d35d89bf1cab8fec9b831318453a3 100644 (file)
@@ -1592,7 +1592,7 @@ void IntPatch_PrmPrmIntersection::Perform (const Handle(Adaptor3d_Surface)&    S
   if (Surf1->IsUClosed() || Surf1->IsVClosed() ||
       Surf2->IsUClosed() || Surf2->IsVClosed())
   {
-    Standard_Real TolPar = Precision::PConfusion();
+    constexpr Standard_Real TolPar = Precision::PConfusion();
     IntSurf_ListOfPntOn2S AdditionalPnts;
     Standard_Real NewU1, NewV1, NewU2, NewV2;
     for(; IterLOP1.More(); IterLOP1.Next())
index 7cdb93daafac8d797eee389435a3d81e6d563fa7..b1b0a3fdab1593c6441f0de7ae941b28e8c67859 100644 (file)
@@ -464,7 +464,7 @@ void IntPatch_WLine::ComputeVertexParameters( const Standard_Real RTol)
   
   //----------------------------------------------------
   //-- On detecte les points confondus dans la LineOn2S
-  Standard_Real dmini = Precision::SquareConfusion();
+  constexpr Standard_Real dmini = Precision::SquareConfusion();
   for(i=2; (i<=nbponline) && (nbponline > 2); i++) { 
     const IntSurf_PntOn2S& aPnt1=curv->Value(i-1);
     const IntSurf_PntOn2S& aPnt2=curv->Value(i);
index 766aca20e9f6779499ff336cb2d1319657bb7499..2c9e3928bd68a3acddc6211f5e9ded47ddffea8d 100644 (file)
@@ -445,7 +445,7 @@ static Handle(IntPatch_WLine)
   Standard_Real aPrevStep = aBase3dVec.SquareMagnitude();
 
   // Choose base tolerance and scale it to pipe algorithm.
-  const Standard_Real aBaseTolerance = Precision::Approximation();
+  constexpr Standard_Real aBaseTolerance = Precision::Approximation();
   Standard_Real aResS1Tol = Min(theS1->UResolution(aBaseTolerance),
                                 theS1->VResolution(aBaseTolerance));
   Standard_Real aResS2Tol = Min(theS2->UResolution(aBaseTolerance),
index c665bb4e49352d69b186c0b7b153f11994fc5763..29162ef446d4872533c6a27f92e93ef8134f6ee5 100644 (file)
@@ -2143,7 +2143,7 @@ DistanceMinimizeByGradient( const Handle(Adaptor3d_Surface)& theASurf1,
 {
   const Standard_Integer aNbIterMAX = 60;
   const Standard_Real aTol = 1.0e-14;
-  const Standard_Real aTolNul = 1.0 / Precision::Infinite();
+  constexpr Standard_Real aTolNul = 1.0 / Precision::Infinite();
 
   // I.e. if theU1 = 0.0 then Epsilon(theU1) = DBL_MIN (~1.0e-308).
   // Work with this number is impossible: there is a dangerous to 
@@ -2676,7 +2676,7 @@ Standard_Boolean IntWalk_PWalking::
 PutToBoundary(const Handle(Adaptor3d_Surface)& theASurf1,
               const Handle(Adaptor3d_Surface)& theASurf2)
 {
-  const Standard_Real aTolMin = Precision::Confusion();
+  constexpr Standard_Real aTolMin = Precision::Confusion();
 
   Standard_Boolean hasBeenAdded = Standard_False;
 
index 4425e8a849a2119fe2206deca6d88307fbcd5705..266775f9d393833e01523685a6c28439c10ea09f 100644 (file)
@@ -59,8 +59,8 @@ void LocOpe_FindEdgesInFace::Set(const TopoDS_Shape& Sh,
   gp_Cylinder cy;
 
 
-  Standard_Real Tol = Precision::Confusion();
-  Standard_Real TolAng = Precision::Angular();
+  constexpr Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real TolAng = Precision::Angular();
 
   S = BRep_Tool::Surface(F);
   Ts = S->DynamicType();
index 0c242f62ebec62d3694fbb4f4407405c66565b24..e1fdfe62ab3fab0d68a97d0b3a0932ce2cda82c1 100644 (file)
@@ -552,7 +552,7 @@ void LocOpe_Generator::Perform(const Handle(LocOpe_GeneratedShape)& G)
                    // Tentative de recalage dans la facette
                    pf = C2d->Value(f);
                    pl = C2d->Value(l);
-                   Standard_Real tttol = Precision::Angular();
+                   constexpr Standard_Real tttol = Precision::Angular();
                    while (Min(pf.X(),pl.X()) >= Umaxc-tttol) {
                      C2d->Translate(gp_Vec2d(-2.*M_PI,0));
                      pf = C2d->Value(f);
@@ -868,7 +868,7 @@ void LocOpe_Generator::Perform(const Handle(LocOpe_GeneratedShape)& G)
                  // Tentative de recalage dans la facette
                  pf = C2d->Value(f);
                  pl = C2d->Value(l);
-                 Standard_Real tttol = Precision::Angular();
+                 constexpr Standard_Real tttol = Precision::Angular();
                  while (Min(pf.X(),pl.X()) >= Umaxc - tttol) {
                    C2d->Translate(gp_Vec2d(-2.*M_PI,0));
                    pf = C2d->Value(f);
@@ -1057,8 +1057,8 @@ Standard_Boolean ToFuse(const TopoDS_Face& F1,
   Handle(Geom_Surface) S1,S2;
   TopLoc_Location loc1, loc2;
   Handle(Standard_Type) typS1,typS2;
-  const Standard_Real tollin = Precision::Confusion();
-  const Standard_Real tolang = Precision::Angular();
+  constexpr Standard_Real tollin = Precision::Confusion();
+  constexpr Standard_Real tolang = Precision::Angular();
 
   S1 = BRep_Tool::Surface(F1,loc1);
   S2 = BRep_Tool::Surface(F2,loc2);
@@ -1115,8 +1115,8 @@ Standard_Boolean ToFuse(const TopoDS_Edge& E1,
   Handle(Geom_Curve) C1,C2;
   TopLoc_Location loc1, loc2;
   Handle(Standard_Type) typC1,typC2;
-  const Standard_Real tollin = Precision::Confusion();
-  const Standard_Real tolang = Precision::Angular();
+  constexpr Standard_Real tollin = Precision::Confusion();
+  constexpr Standard_Real tolang = Precision::Angular();
   Standard_Real f,l;
 
   C1 = BRep_Tool::Curve(E1,loc1,f,l);
index 22b57eeb3d32b28edd9d911061717305f916eb46..6c33d80c54d3d1fbba4c366d0cfbf8e05319577f 100644 (file)
@@ -810,7 +810,7 @@ void PutPCurve(const TopoDS_Edge& Edg,
   if (!V2.IsNull())
     TolLast = BRep_Tool::Tolerance(V2);
   
-  Standard_Real tol2d = Precision::Confusion();
+  constexpr Standard_Real tol2d = Precision::Confusion();
   Handle(Geom2d_Curve) C2d;
   ShapeConstruct_ProjectCurveOnSurface aToolProj;
   aToolProj.Init(S, tol2d);
@@ -855,7 +855,7 @@ void PutPCurve(const TopoDS_Edge& Edg,
 
   if (S->IsUPeriodic()) {
     Standard_Real up   = S->UPeriod();
-    Standard_Real tolu = Precision::PConfusion();// Epsilon(up);
+    constexpr Standard_Real tolu = Precision::PConfusion();// Epsilon(up);
     Standard_Integer nbtra = 0;
     Standard_Real theUmin = Min(pf.X(),pl.X());
     Standard_Real theUmax = Max(pf.X(),pl.X());
@@ -880,7 +880,7 @@ void PutPCurve(const TopoDS_Edge& Edg,
 
   if (S->IsVPeriodic()) {
     Standard_Real vp   = S->VPeriod();
-    Standard_Real tolv = Precision::PConfusion();// Epsilon(vp);
+    constexpr Standard_Real tolv = Precision::PConfusion();// Epsilon(vp);
     Standard_Integer nbtra = 0;
     Standard_Real theVmin = Min(pf.Y(),pl.Y());
     Standard_Real theVmax = Max(pf.Y(),pl.Y());
@@ -998,7 +998,7 @@ void PutPCurves(const TopoDS_Edge& Efrom,
       
       if (S->IsUPeriodic()) {
        Standard_Real up   = S->UPeriod();
-       Standard_Real tolu = Precision::PConfusion();// Epsilon(up);
+       constexpr Standard_Real tolu = Precision::PConfusion();// Epsilon(up);
        Standard_Integer nbtra = 0;
        Standard_Real theUmin = Min(pf.X(),pl.X());
        Standard_Real theUmax = Max(pf.X(),pl.X());
@@ -1036,7 +1036,7 @@ void PutPCurves(const TopoDS_Edge& Efrom,
       
       if (S->IsVPeriodic()) {
        Standard_Real vp   = S->VPeriod();
-       Standard_Real tolv = Precision::PConfusion();// Epsilon(vp);
+       constexpr Standard_Real tolv = Precision::PConfusion();// Epsilon(vp);
        Standard_Integer nbtra = 0;
        Standard_Real theVmin = Min(pf.Y(),pl.Y());
        Standard_Real theVmax = Max(pf.Y(),pl.Y());
@@ -1276,7 +1276,7 @@ void FindInternalIntersections(const TopoDS_Edge& theEdge,
                                TopTools_IndexedDataMapOfShapeListOfShape& Splits,
                                Standard_Boolean& isOverlapped)
 {
-  Standard_Real TolExt = Precision::PConfusion();
+  constexpr Standard_Real TolExt = Precision::PConfusion();
   Standard_Integer i, j;
 
   BRepAdaptor_Surface anAdSurf(theFace, Standard_False);
index 8434853f67ee8d6e1b50f588d7eca2ebfa2639cd..0a6679010f8961b2b38e17991bbfaada8c378365 100644 (file)
@@ -214,7 +214,7 @@ Standard_Boolean MAT2d_Circuit::IsSharpCorner(const Handle(Geom2d_Geometry)& Geo
   Standard_Real    DotProd;
   Standard_Real    ProVec = CrossProd (Geom1,Geom2,DotProd);
   Standard_Integer NbTest = 1;
-  Standard_Real    DU = Precision::Confusion();
+  constexpr Standard_Real DU = Precision::Confusion();
   Handle(Geom2d_TrimmedCurve) C1,C2;
 
   C1= Handle(Geom2d_TrimmedCurve)::DownCast(Geom1);
@@ -255,7 +255,7 @@ Standard_Boolean MAT2d_Circuit::IsSharpCorner(const Handle(Geom2d_Geometry)& Geo
     // Si pas dintersection => saillant.
     // Sinon                => rentrant.
     Standard_Real D ;
-    Standard_Real Tol   = Precision::Confusion();
+    constexpr Standard_Real Tol = Precision::Confusion();
     Standard_Real MilC1 = (C1->LastParameter() + C1->FirstParameter())*0.5;
     Standard_Real MilC2 = (C2->LastParameter() + C2->FirstParameter())*0.5;
     gp_Pnt2d      P     = C1->Value(C1->LastParameter());
index 2838d2f755f2b2224d173c91b36b3b4d60ac182a..2a7fe57ffef1f207cb1e7309113b00fbf0764ac7 100644 (file)
@@ -57,8 +57,8 @@ void MAT2d_CutCurve::Perform(const Handle(Geom2d_Curve)& C)
   Handle(Geom2d_TrimmedCurve) TrimC;
   Standard_Real               UF,UL,UC;
   gp_Pnt2d                    PF,PL,PC;
-  Standard_Real               PTol  = Precision::PConfusion()*10;
-  Standard_Real               Tol   = Precision::Confusion()*10;
+  constexpr Standard_Real     PTol  = Precision::PConfusion()*10;
+  constexpr Standard_Real     Tol   = Precision::Confusion()*10;
   Standard_Boolean            YaCut = Standard_False;
   Sommets.Perform (C);
 
index 5e24b64a548c96d962da975cce1cb3fdf3d0bae1..0f96542c4c6bae9adb997542f72abb3966909208 100644 (file)
@@ -56,73 +56,69 @@ namespace
   // Function : ProcessFace
   // Purpose  : Fill array with triangles for the face
   //================================================================
-  static void ProcessFace(const Handle(MeshVS_HArray1OfSequenceOfInteger)& theTopo,
+  static void ProcessFace(const TColStd_SequenceOfInteger& theFaceNodes,
                           const TColStd_Array1OfReal& theNodes,
                           const Standard_Real* theCenter,
-                          const Standard_Real theShrinkCoef, 
+                          const Standard_Real theShrinkCoef,
                           const Standard_Boolean theIsShrinked,
-                          const Standard_Boolean theIsShaded, 
+                          const Standard_Boolean theIsShaded,
                           Handle(Graphic3d_ArrayOfPrimitives) theArray)
   {
-    for (Standard_Integer aFaceIdx = theTopo->Lower(); aFaceIdx <= theTopo->Upper(); ++aFaceIdx)
+    const Standard_Integer aNbPolyNodes = theFaceNodes.Length();
+
+    Standard_Real* aPolyNodesBuf = (Standard_Real*)alloca((3 * aNbPolyNodes + 1) * sizeof(Standard_Real));
+    TColStd_Array1OfReal aPolyNodes(*aPolyNodesBuf, 0, 3 * aNbPolyNodes);
+
+    for (Standard_Integer aNodeIdx = 0; aNodeIdx < aNbPolyNodes; ++aNodeIdx)
     {
-      const TColStd_SequenceOfInteger& aFaceNodes = theTopo->Value (aFaceIdx);
-      const Standard_Integer aNbPolyNodes = aFaceNodes.Length();
-      
-      Standard_Real* aPolyNodesBuf = (Standard_Real*) alloca ((3 * aNbPolyNodes + 1) * sizeof (Standard_Real));
-      TColStd_Array1OfReal aPolyNodes (*aPolyNodesBuf, 0, 3 * aNbPolyNodes);
+      Standard_Integer anIdx = theFaceNodes.Value(aNodeIdx + 1);
+
+      Standard_Real aX = theNodes.Value(theNodes.Lower() + 3 * anIdx + 0);
+      Standard_Real aY = theNodes.Value(theNodes.Lower() + 3 * anIdx + 1);
+      Standard_Real aZ = theNodes.Value(theNodes.Lower() + 3 * anIdx + 2);
 
-      for (Standard_Integer aNodeIdx = 0; aNodeIdx < aNbPolyNodes; ++aNodeIdx)
+      if (theIsShrinked)
       {
-        Standard_Integer anIdx = aFaceNodes.Value (aNodeIdx + 1);
+        aX = theCenter[0] + theShrinkCoef * (aX - theCenter[0]);
+        aY = theCenter[1] + theShrinkCoef * (aY - theCenter[1]);
+        aZ = theCenter[2] + theShrinkCoef * (aZ - theCenter[2]);
+      }
 
-        Standard_Real aX = theNodes.Value (theNodes.Lower() + 3 * anIdx + 0);
-        Standard_Real aY = theNodes.Value (theNodes.Lower() + 3 * anIdx + 1);
-        Standard_Real aZ = theNodes.Value (theNodes.Lower() + 3 * anIdx + 2);
+      aPolyNodes.SetValue(3 * aNodeIdx + 1, aX);
+      aPolyNodes.SetValue(3 * aNodeIdx + 2, aY);
+      aPolyNodes.SetValue(3 * aNodeIdx + 3, aZ);
+    }
 
-        if (theIsShrinked)
-        {
-          aX = theCenter[0] + theShrinkCoef * (aX - theCenter[0]);
-          aY = theCenter[1] + theShrinkCoef * (aY - theCenter[1]);
-          aZ = theCenter[2] + theShrinkCoef * (aZ - theCenter[2]);
-        }
+    gp_Vec aNorm;
 
-        aPolyNodes.SetValue (3 * aNodeIdx + 1, aX);
-        aPolyNodes.SetValue (3 * aNodeIdx + 2, aY);
-        aPolyNodes.SetValue (3 * aNodeIdx + 3, aZ);
-      }
-      
-      gp_Vec aNorm;
+    if (theIsShaded)
+    {
+      aPolyNodes.SetValue(0, aNbPolyNodes);
 
-      if (theIsShaded)
+      if (!MeshVS_Tool::GetAverageNormal(aPolyNodes, aNorm))
       {
-        aPolyNodes.SetValue (0, aNbPolyNodes);
-        
-        if (!MeshVS_Tool::GetAverageNormal (aPolyNodes, aNorm))
-        {
-          aNorm.SetCoord (0.0, 0.0, 1.0);
-        }
+        aNorm.SetCoord(0.0, 0.0, 1.0);
       }
+    }
 
-      for (Standard_Integer aNodeIdx = 0; aNodeIdx < aNbPolyNodes - 2; ++aNodeIdx) // triangulate polygon
+    for (Standard_Integer aNodeIdx = 0; aNodeIdx < aNbPolyNodes - 2; ++aNodeIdx) // triangulate polygon
+    {
+      for (Standard_Integer aSubIdx = 0; aSubIdx < 3; ++aSubIdx) // generate sub-triangle
       {
-        for (Standard_Integer aSubIdx = 0; aSubIdx < 3; ++aSubIdx) // generate sub-triangle
+        if (theIsShaded)
         {
-          if (theIsShaded)
-          {
-            theArray->AddVertex (aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 1),
-                                 aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 2),
-                                 aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 3),
-                                 aNorm.X(),
-                                 aNorm.Y(),
-                                 aNorm.Z());
-          }
-          else
-          {
-            theArray->AddVertex (aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 1),
-                                 aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 2),
-                                 aPolyNodes.Value (3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 3));
-          }
+          theArray->AddVertex(aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 1),
+                              aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 2),
+                              aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 3),
+                              aNorm.X(),
+                              aNorm.Y(),
+                              aNorm.Z());
+        }
+        else
+        {
+          theArray->AddVertex(aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 1),
+                              aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 2),
+                              aPolyNodes.Value(3 * (aSubIdx == 0 ? 0 : (aNodeIdx + aSubIdx)) + 3));
         }
       }
     }
@@ -917,7 +913,10 @@ void MeshVS_MeshPrsBuilder::AddVolumePrs (const Handle(MeshVS_HArray1OfSequenceO
 
   if (aIsPolygons)
   {
-    ProcessFace (theTopo, theNodes, aCenter, theShrinkCoef, theIsShrinked, theIsShaded, theArray);
+    for (Standard_Integer aFaceIdx = theTopo->Lower(); aFaceIdx <= theTopo->Upper(); ++aFaceIdx)
+    {
+      ProcessFace(theTopo->Value(aFaceIdx), theNodes, aCenter, theShrinkCoef, theIsShrinked, theIsShaded, theArray);
+    }
   }
   else if (theIsSelected)
   {
index a528a91a8f168e3c3c44dcf9cebdf6c9a5bf7935..28a02768afe0289135374d2c75540021b9d01200 100644 (file)
@@ -264,8 +264,8 @@ Standard_Boolean MeshVS_Tool::GetNormal( const TColStd_Array1OfReal& Nodes,
   Standard_Boolean res = Standard_True;
 
 
-  Standard_Real normal[3], first_vec[3], cur_vec[3], xx, yy, zz,
-    conf = Precision::Confusion();
+  Standard_Real normal[3], first_vec[3], cur_vec[3], xx, yy, zz;
+  constexpr Standard_Real conf = Precision::Confusion();
 
   for( i=0; i<3; i++ )
   {
@@ -339,8 +339,8 @@ Standard_Boolean MeshVS_Tool::GetAverageNormal( const TColStd_Array1OfReal& Node
   Standard_Boolean res = Standard_True;
 
 
-  Standard_Real normal[3], first_vec[3], cur_vec[3], xx, yy, zz,
-    conf = Precision::Confusion();
+  Standard_Real normal[3], first_vec[3], cur_vec[3], xx, yy, zz;
+  constexpr Standard_Real conf = Precision::Confusion();
 
   for( i=0; i<3; i++ )
   {
index af709f85e304d735d04fec8a64891262d4ceac0e..f37d535d536805971eb3c4febda7fe5d85c21051 100644 (file)
@@ -729,7 +729,7 @@ void ProjLib_CompProjectedCurve::Init()
   Standard_Boolean FromLastU = Standard_False,
                    isSplitsComputed = Standard_False;
 
-  const Standard_Real aTolExt = Precision::PConfusion();
+  constexpr Standard_Real aTolExt = Precision::PConfusion();
   Extrema_ExtCS CExt (*myCurve, *mySurface, aTolExt, aTolExt);
   if (CExt.IsDone() && CExt.NbExt())
   {
index ec336d94db30b50fb24e22b00807448ac133f802..aea77f5ac4c19c0de7aaf376f53bbd47cd12d9a7 100644 (file)
@@ -252,7 +252,7 @@ static void Function_SetUVBounds(Standard_Real& myU1,
 
     case GeomAbs_Cone:    {
       Standard_Real tol = Epsilon(1.);
-      Standard_Real ptol = Precision::PConfusion();
+      constexpr Standard_Real ptol = Precision::PConfusion();
       gp_Cone Cone = mySurface->Cone();
       VCouture = Standard_False;
       //Calculation of cone parameters for P == ConeApex often produces wrong
index 3fe5728fcca1fb4ced87943f34fd03f0413efa86..976a18ed67eb4fe73b64b2d70e38a0d62f78458b 100644 (file)
@@ -673,7 +673,7 @@ Handle(Geom2d_BSplineCurve) ProjLib_ComputeApproxOnPolarSurface::Perform
 {
   //OCC217
   Standard_Real Tol3d = myTolerance; 
-  Standard_Real ParamTol = Precision::PApproximation();
+  constexpr Standard_Real ParamTol = Precision::PApproximation();
 
   Handle(Adaptor2d_Curve2d) AHC2d = InitialCurve2d;
   Handle(Adaptor3d_Curve) AHC = Curve;
index de4cf1f20a4bb7e890dd222548ca2ac3227fb1a6..954439f6838fde0b534a77f7c0a26d3fac5fc211 100644 (file)
@@ -91,7 +91,7 @@ public:
     myNbPnt2d = 0;
     Standard_Real U = myCurve->FirstParameter();
     gp_Pnt P = myCurve->Value(U);
-    Standard_Real Tol = Precision::PConfusion();
+    constexpr Standard_Real Tol = Precision::PConfusion();
     myExtPS = new Extrema_ExtPS (P, *S, Tol, Tol);
   }
 
index f31bc78d57fcfc0f33eb6f9f335c29578e49a9b9..a975f092fac64d0f921f26f0356721bbe16b29cd 100644 (file)
@@ -191,7 +191,7 @@ static void ExtendC2d (Handle(Geom2d_BSplineCurve)& aRes,
   gp_Dir2d                              aDBnd;
   Handle(Geom2d_TrimmedCurve)           aSegment;
   Geom2dConvert_CompCurveToBSplineCurve aCompCurve(aRes, Convert_RationalC1);
-  Standard_Real                         aTol = Precision::Confusion();
+  constexpr Standard_Real               aTol = Precision::Confusion();
 
   aRes->D1(theParam, aPBnd, aVBnd);
   aDBnd.SetXY(aVBnd.XY());
index ba04e89af53e4ea24614ec3ea17a939f3a1e1b28..6ee7b1f2d3d96df7518c08b91c9bf4500a6997bb 100644 (file)
@@ -140,7 +140,7 @@ void  ProjLib_Sphere::Project(const gp_Circ& C)
   Zs = mySphere.Position().Direction();
   
   Standard_Boolean isIsoU, isIsoV;
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 
   isIsoU = Zc.IsNormal(Zs,Tol) && O.IsEqual(C.Location(),Tol);
   isIsoV = Xc.IsNormal(Zs,Tol) && Yc.IsNormal(Zs,Tol); 
index cea28b70a9ddf5fce1625d55964aee6915ad746f..9add5847011d7b187fbc73c31373398f1bdabd20 100644 (file)
@@ -449,7 +449,7 @@ void PrsDim_EqualDistanceRelation::ComputeTwoEdgesLength( const Handle( Prs3d_Pr
     SecondAttach = ElCLib::Value(ElCLib::Parameter(l2,Position),l2);
   }
 
-  Standard_Real confusion(Precision::Confusion());
+  constexpr Standard_Real confusion(Precision::Confusion());
   if (arrsize < confusion) arrsize = Val*0.1;
   if (Abs(Val) <= confusion) {arrsize = 0.;}
 
@@ -482,7 +482,7 @@ void PrsDim_EqualDistanceRelation::ComputeTwoEdgesLength( const Handle( Prs3d_Pr
     gp_Circ aCirc2 = aCir2->Circ();
 
     //To avoid circles with different orientation
-    Standard_Real aTol = Precision::Confusion();
+    constexpr Standard_Real aTol = Precision::Confusion();
     if(aCirc2.Axis().IsOpposite(aCirc1.Axis(), aTol) ||
        aCirc2.XAxis().IsOpposite(aCirc1.XAxis(), aTol) || 
        aCirc2.YAxis().IsOpposite(aCirc1.YAxis(), aTol) )
@@ -594,7 +594,7 @@ void PrsDim_EqualDistanceRelation::ComputeTwoVerticesLength( const Handle( Prs3d
   PrsDim::ComputeGeometry( FirstVertex, FirstAttach, Plane, isOnPlane1);
   PrsDim::ComputeGeometry( SecondVertex, SecondAttach, Plane, isOnPlane2);
 
-  Standard_Real confusion(Precision::Confusion());
+  constexpr Standard_Real confusion(Precision::Confusion());
   Standard_Boolean samePoint(FirstAttach.IsEqual(SecondAttach,confusion));
 
   if (TypeDist == PrsDim_TypeOfDist_Vertical) DirAttach =  Plane->Pln().XAxis().Direction();
index b75a001d002945dc67f59a51ea0f3d4637e9f977..f9168467caef401f90e1f93a6037236cdbf5a430 100644 (file)
@@ -282,7 +282,7 @@ gp_Pnt PrsDim_FixRelation::ComputePosition(const Handle(Geom_Curve)& curv1,
     
     if (!vec1.IsParallel(vec2, Precision::Angular()) ) {
       gp_Dir dir;
-      Standard_Real conf =Precision::Confusion();
+      constexpr Standard_Real conf =Precision::Confusion();
       if (lastp1.IsEqual(firstp2,conf) || firstp1.IsEqual(lastp2,conf)) dir.SetXYZ(vec1.XYZ() - vec2.XYZ());
       else dir.SetXYZ(vec1.XYZ() + vec2.XYZ());
       gp_Vec transvec = gp_Vec(dir)*myArrowSize;
index 9d64752e6d149ece586b4c73b561bc4126900c17..b3ce9e4206ab30ad8d69877a2f9b1b4057e6b825 100644 (file)
@@ -165,7 +165,7 @@ static Standard_Boolean ComputeAttach(const gp_Circ& thecirc,
 
   // Case of confusion between the current position and the center 
   // of the circle -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   gp_Pnt aCenter = thecirc.Location();
   if ( aCenter.Distance(curpos) <= confusion )
     {
@@ -229,7 +229,7 @@ static Standard_Boolean ComputeAttach(const gp_Elips& theEll,
 
   // Case of confusion between the current position and the center 
   // of the circle -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   gp_Pnt aCenter = theEll.Location();
   if ( aCenter.Distance(curpos) <= confusion )
     {
@@ -364,7 +364,7 @@ void PrsDim_IdenticRelation::ComputeSelection(const Handle(SelectMgr_Selection)&
   Handle(Select3D_SensitiveSegment) seg;
   // attachment point of the segment linking position to the curve
   gp_Pnt attach; 
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
     
   if ( myFAttach.IsEqual(mySAttach, confusion) )
     {
@@ -653,7 +653,7 @@ void PrsDim_IdenticRelation::ComputeTwoLinesPresentation(const Handle(Prs3d_Pres
       Standard_Real dist = thelin->Lin().Distance(curpos);
       gp_Pnt proj = ElCLib::Value( pcurpos, thelin->Lin());
       gp_Vec  trans;
-      Standard_Real confusion(Precision::Confusion());
+      constexpr Standard_Real confusion(Precision::Confusion());
       if ( dist >= confusion ) {
        trans = gp_Vec(proj, curpos);
        trans.Normalize();
@@ -702,7 +702,7 @@ void PrsDim_IdenticRelation::ComputeTwoCirclesPresentation(const Handle(Prs3d_Pr
                                                        const gp_Pnt& firstp2,
                                                        const gp_Pnt& lastp2)
 {
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
 
   // Searching of complete circles
   Standard_Boolean circ1complete = (firstp1.IsEqual(lastp1, confusion));
@@ -983,7 +983,7 @@ void PrsDim_IdenticRelation::ComputeNotAutoCircPresentation(const Handle(Geom_Ci
   
   // Case of confusion between the current position and the center 
   // of the circle -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   if ( myCenter.Distance(curpos) <= confusion )
     {
       gp_Vec vprec(myCenter, myFAttach);
@@ -1057,7 +1057,7 @@ void PrsDim_IdenticRelation::ComputeTwoEllipsesPresentation(const Handle(Prs3d_P
                                                         const gp_Pnt& firstp2,
                                                         const gp_Pnt& lastp2)
 {
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
 
   // Searching of complete ellipses
   Standard_Boolean circ1complete = (firstp1.IsEqual(lastp1, confusion));
@@ -1339,7 +1339,7 @@ void PrsDim_IdenticRelation::ComputeNotAutoElipsPresentation(const Handle(Geom_E
   
   // Case of confusion between the current position and the center 
   // of the ellipse -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   if ( myCenter.Distance(curpos) <= confusion )
     {
       gp_Vec vprec(myCenter, myFAttach);
index 74cec7d3bbc5091980a427cf741365b12dbc0783..043b7f1ca235b989cfcc7d441b6e1d0767341d00 100644 (file)
@@ -442,7 +442,7 @@ void PrsDim_MidPointRelation::ComputePointsOnCirc(const gp_Circ& aCirc,
 
   // Case of confusion between the current position and the center 
   // of the circle -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   gp_Pnt aCenter = aCirc.Location();
   if ( aCenter.Distance(curpos) <= confusion )
     {
@@ -569,7 +569,7 @@ void PrsDim_MidPointRelation::ComputePointsOnElips(const gp_Elips& anEll,
 
   // Case of confusion between the current position and the center 
   // of the circle -> we move the current position
-  Standard_Real confusion (Precision::Confusion());
+  constexpr Standard_Real confusion (Precision::Confusion());
   gp_Pnt aCenter = anEll.Location();
   if ( aCenter.Distance(curpos) <= confusion )
     {
index ddb79f56b2e333c266768261f54f2f896128c5b0..3580d65aa9a78e93328a2b0ff478ba7c30945216 100644 (file)
@@ -213,7 +213,7 @@ static Standard_Integer OCC486(Draw_Interpretor& di, Standard_Integer argc, cons
       if (GS.IsNull()) { di << "OCC486 FAULTY. Null surface /n";return 1;}
       gp_Pnt P3D( Draw::Atof(argv[2]),Draw::Atof(argv[3]),Draw::Atof(argv[4]) );
 
-      Standard_Real Tol = Precision::PConfusion();
+      constexpr Standard_Real Tol = Precision::PConfusion();
       Extrema_ExtPS myExtPS;
       if (argc > 5) du = Draw::Atof(argv[5]);
       if (argc > 6) dv = Draw::Atof(argv[6]);
index d871614a920f3d0aac029e4f0e2f9befd0ead5dd..6750ed5f299f9b627020a55c89c4809b6b7e628d 100644 (file)
@@ -2648,7 +2648,7 @@ static Standard_Integer OCC8169 (Draw_Interpretor& di, Standard_Integer argc, co
 
   Handle(Geom_Surface) thePlane = BRep_Tool::Surface(theFace);
 
-  Standard_Real aConfusion = Precision::Confusion();
+  constexpr Standard_Real aConfusion = Precision::Confusion();
   Standard_Real aP1first, aP1last, aP2first, aP2last;
 
   Handle(Geom_Curve) aCurve1 = BRep_Tool::Curve(theEdge1, aP1first, aP1last);
@@ -4680,7 +4680,7 @@ Standard_Integer OCC22736 (Draw_Interpretor& di, Standard_Integer argc, const ch
   gp_Trsf2d Tcomp;
   Tcomp = M2.Multiplied(M1);
 
-  Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   Standard_Integer aStatus = 0;
 
   //After applying two times the same mirror the point is located on the same location OK
index 59e15d61e5dfaf8b999375785c98109c91298e4d..1437a183d9abacc2baca93c7df8e76615671f374 100644 (file)
@@ -772,7 +772,7 @@ static Standard_Integer OCC817 (Draw_Interpretor& di, Standard_Integer argc, con
     return 1;
   }
 
-  Standard_Real delt = 5.0*Precision::Confusion();
+  constexpr Standard_Real delt = 5.0*Precision::Confusion();
   Standard_Real mesh_delt = Draw::Atof(argv[2]);
   if (mesh_delt <= 0.0)
   {
index c6f3d91c0eed897a28eec3ffbeec685560048f09..418ea4d0211c20c0e9e57abf3574514873779519 100644 (file)
@@ -2013,7 +2013,7 @@ static Standard_Integer OCC24889 (Draw_Interpretor& theDI,
   DrawTrSurf::Set("c_2", aTrim[1]);
 
   // Intersection
-  const Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   Geom2dAPI_InterCurveCurve aIntTool( aTrim[0], aTrim[1], aTol );
 
   const IntRes2d_IntersectionPoint& aIntPnt =
@@ -3871,7 +3871,7 @@ Standard_Integer OCC26446 (Draw_Interpretor& di,
   TColGeom_Array1OfBSplineCurve          aCurves     (0, 1);
   TColStd_Array1OfReal                   aTolerances (0, 0);
   Standard_Real                          aTolConf    = 1.e-3;
-  Standard_Real                          aTolClosure = Precision::Confusion();
+  constexpr Standard_Real                aTolClosure = Precision::Confusion();
   Handle(TColGeom_HArray1OfBSplineCurve) aConcatCurves;
   Handle(TColStd_HArray1OfInteger)       anIndices;
 
index c76a27751feb20eeacd9ab83da7d26a6fe372a26..5ccf50e54b0dab724f5bbe7e1a99638876386e20 100644 (file)
@@ -1613,8 +1613,8 @@ static Standard_Integer OCC27466(Draw_Interpretor& theDI,
     return 1;
   BRepAdaptor_Surface aSurf(aFace);
 
-  Standard_Real aTolU = Precision::PConfusion();
-  Standard_Real aTolV = Precision::PConfusion();
+  constexpr Standard_Real aTolU = Precision::PConfusion();
+  constexpr Standard_Real aTolV = Precision::PConfusion();
 
   Extrema_GenLocateExtPS anExtrema(aSurf, aTolU, aTolV);
   anExtrema.Perform(aPnt, aUV.X(), aUV.Y(), Standard_True);
index 3efe62790c059b6708ae72c6cf9acba4e57764f6..c624af260008db377777a710e744911909c1de6c 100644 (file)
@@ -195,7 +195,7 @@ static Standard_Integer samerange (Draw_Interpretor& di,  Standard_Integer argc,
     Standard_Real oldLast = Draw::Atof(argv[4]);
     Standard_Real current_first = Draw::Atof(argv[5]);
     Standard_Real current_last = Draw::Atof(argv[6]);
-    Standard_Real Tol = Precision::PConfusion();
+    constexpr Standard_Real Tol = Precision::PConfusion();
     Handle(Geom2d_Curve) NewC2d;
     GeomLib::SameRange(Tol, C,  oldFirst,oldLast,
                       current_first, current_last, NewC2d);
index 9b635a45fe59b08d69564fbee5f4b885e9bc23d0..90baefa0c8473c2cb04569abcead6df6385066ec 100644 (file)
@@ -209,7 +209,7 @@ void ShapeAlgo_AlgoContainer::ApproxBSplineCurve (const Handle(Geom_BSplineCurve
        R->Add(POn2S);
       }
       GeomInt_WLApprox theapp3d;
-      Standard_Real Tol = Precision::Approximation();
+      constexpr Standard_Real Tol = Precision::Approximation();
       theapp3d.SetParameters(Tol, Tol, 4, 8, 0, 30, Standard_True);
       Handle(IntPatch_WLine) WL = new IntPatch_WLine(R, Standard_False);
       Standard_Integer indicemin = 1;
@@ -341,7 +341,7 @@ void ShapeAlgo_AlgoContainer::ApproxBSplineCurve (const Handle(Geom2d_BSplineCur
        R->Add(POn2S);
       }
       GeomInt_WLApprox theapp3d;
-      Standard_Real Tol = Precision::PApproximation();
+      constexpr Standard_Real Tol = Precision::PApproximation();
       theapp3d.SetParameters(Tol, Tol, 4, 8, 0, 30, Standard_True);
       Handle(IntPatch_WLine) WL = new IntPatch_WLine(R, Standard_False);
       Standard_Integer indicemin = 1;
index 71830f2c5b5835ebfa120ed2d155a05540473974..f8982cd7aa0be8a2f9bf9474009362c6926c4d30 100644 (file)
@@ -832,7 +832,7 @@ Standard_Boolean ShapeAnalysis_CanonicalRecognition::GetSurfaceByLS(const TopoDS
                  aStartPoint, aFBnd, aLBnd, aRelDev);
 
   //
-  Standard_Real aTol = Precision::Confusion();
+  constexpr Standard_Real aTol = Precision::Confusion();
   math_MultipleVarFunction* aPFunc; 
   GeomConvert_FuncSphereLSDist aFuncSph(aPoints);
   GeomConvert_FuncCylinderLSDist aFuncCyl(aPoints, thePos.Direction());
index 3a77d8d02f54c530e29dd27218ac3d9c67ed403c..81bbc08340b7d889444eb52457b796849b63e3e4 100644 (file)
@@ -978,7 +978,7 @@ Standard_Boolean ShapeAnalysis_Edge::CheckPCurveRange (const Standard_Real theFi
                                                        const Standard_Real theLast,
                                                        const Handle(Geom2d_Curve)& thePC)
 {
-  const Standard_Real eps = Precision::PConfusion();
+  constexpr Standard_Real eps = Precision::PConfusion();
   Standard_Boolean isValid = Standard_True; 
   Standard_Boolean IsPeriodic = thePC->IsPeriodic();
   Standard_Real aPeriod = RealLast();
index 63fbb24801800b56135fa4e6dfab3b1e935b41b5..da99c551d47e56bd3144ce13e94bd65cd5953372 100644 (file)
@@ -988,8 +988,8 @@ Standard_Integer ShapeAnalysis_Surface::SurfaceNewton(const gp_Pnt2d &p2dPrev,
   Standard_Real VF = vf - dv, VL = vl + dv;
 
   //Standard_Integer fail = 0;
-  Standard_Real Tol = Precision::Confusion();
-  Standard_Real Tol2 = Tol * Tol;//, rs2p=1e10;
+  constexpr Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol2 = Tol * Tol;//, rs2p=1e10;
   Standard_Real U = p2dPrev.X(), V = p2dPrev.Y();
   gp_Vec rsfirst = P3D.XYZ() - Value(U, V).XYZ(); //pdn
   for (Standard_Integer i = 0; i < 25; i++) {
@@ -1225,7 +1225,7 @@ gp_Pnt2d ShapeAnalysis_Surface::ValueOfUV(const gp_Pnt& P3D, const Standard_Real
             du = Min(myUDelt, SurfAdapt.UResolution(preci));
             dv = Min(myVDelt, SurfAdapt.VResolution(preci));
           }
-          Standard_Real Tol = Precision::PConfusion();
+          constexpr Standard_Real Tol = Precision::PConfusion();
           myExtPS.SetFlag(Extrema_ExtFlag_MIN);
           myExtPS.Initialize(SurfAdapt, uf - du, ul + du, vf - dv, vl + dv, Tol, Tol);
           myExtOK = Standard_True;
@@ -1273,7 +1273,7 @@ gp_Pnt2d ShapeAnalysis_Surface::ValueOfUV(const gp_Pnt& P3D, const Standard_Real
             }
             if (disSurf < 10 * preci)
               if (mySurf->Continuity() != GeomAbs_C0) {
-                Standard_Real Tol = Precision::Confusion();
+                constexpr Standard_Real Tol = Precision::Confusion();
                 gp_Vec D1U, D1V;
                 gp_Pnt pnt;
                 SurfAdapt.D1(UU, VV, pnt, D1U, D1V);
index e655fd5b0f120ce462bfdd85ef3eba380e00ead2..d770fdc88eebe856ac6009a15b84a8151291f296 100644 (file)
@@ -123,7 +123,7 @@ Handle(TColStd_HSequenceOfReal) ShapeAnalysis_TransferParametersProj::Perform
   Handle(TColStd_HSequenceOfReal) resKnots = new TColStd_HSequenceOfReal;
 
   Standard_Integer len = Knots->Length();
-  Standard_Real preci = 2*Precision::PConfusion();
+  constexpr Standard_Real preci = 2*Precision::PConfusion();
 
   Standard_Real first = (To2d ? myAC3d.FirstParameter() : myFirst);
   Standard_Real last  = (To2d ? myAC3d.LastParameter() : myLast);
@@ -277,7 +277,7 @@ void ShapeAnalysis_TransferParametersProj::TransferRange(TopoDS_Edge& newEdge,
   gp_Pnt p1;
   gp_Pnt p2;
   Standard_Real alpha = 0, beta = 1;
-  Standard_Real preci = Precision::PConfusion();
+  constexpr Standard_Real preci = Precision::PConfusion();
   Standard_Real firstPar, lastPar;
   if(prevPar < currPar) {
     firstPar = prevPar;
index 0b8b34c4f0abd7914c550956105055e120702ded..f3552fef7c69f95371faa7029002a6f1531c5ae1 100644 (file)
@@ -262,8 +262,8 @@ void ShapeAnalysis_WireOrder::Perform (const Standard_Boolean /*closed*/)
   TColStd_Array1OfBoolean isEdgeUsed (1, aNbEdges);
   isEdgeUsed.Init (Standard_False);
 
-  Standard_Real aTol2 = Precision::SquareConfusion();
-  Standard_Real aTolP2 = Precision::SquarePConfusion();
+  constexpr Standard_Real aTol2 = Precision::SquareConfusion();
+  constexpr Standard_Real aTolP2 = Precision::SquarePConfusion();
 
   // take the first edge to the constructed chain
   isEdgeUsed (1) = Standard_True;
index db1e6bedd56000632b9c6a2a8f9bb5e629c195a5..79e1b1a7502bba5bfa6c6f46a7165727486a6b5d 100644 (file)
@@ -2010,7 +2010,7 @@ InsertAdditionalPointOrAdjust(Standard_Boolean& ToAdjust,
   try {    // RAJOUT
     OCC_CATCH_SIGNALS
     
-  Standard_Real prec = Precision::Confusion();//myPreci;
+  constexpr Standard_Real prec = Precision::Confusion();//myPreci;
     
   Standard_Boolean isoParam = Standard_False;
   isoPar2d3d = Standard_False;
index 319d2bd015431a8b954f3b038b35c4f246b80522..2699d447e77b77cd80390f741141ffd2cca719af 100644 (file)
@@ -72,7 +72,7 @@ Standard_Boolean ShapeCustom_Curve2d::IsLinear(const TColgp_Array1OfPnt2d& thePo
       }
     }
   
-  Standard_Real dPreci = Precision::PConfusion()*Precision::PConfusion();
+  constexpr Standard_Real dPreci = Precision::PConfusion()*Precision::PConfusion();
   if(dMax < dPreci)
     return Standard_False;
   
index 45bc2f6e9382c884f338f555c65629dc3b74c9d4..426de169a84bfdf22df6125d45df924e46c6470d 100644 (file)
@@ -2607,7 +2607,7 @@ void ShapeFix_ComposeShell::DispatchWires (TopTools_SequenceOfShape &faces,
           Handle(Geom2d_Curve) c21 =  BRep_Tool::CurveOnSurface(E,myFace,f1,l1);
           TopoDS_Shape dummy = E.Reversed();
           Handle(Geom2d_Curve) c22 =  BRep_Tool::CurveOnSurface(TopoDS::Edge(dummy),myFace,f2,l2);
-          Standard_Real dPreci = ::Precision::PConfusion()*Precision::PConfusion();
+          constexpr Standard_Real dPreci = ::Precision::PConfusion()*Precision::PConfusion();
           gp_Pnt2d pf1 = c21->Value(f1);
           gp_Pnt2d pl1 = c21->Value(l1);
           gp_Pnt2d pf2 = c22->Value(f2);
index dcd5d29a18fd536a7fb1094faae284db2c1603c9..faf56732d6ac488fb7cfaa8fe2f9d6277235df8d 100644 (file)
@@ -390,7 +390,7 @@ static Handle(Geom2d_Curve) TranslatePCurve (const Handle(Geom_Surface)& aSurf,
            Standard_Real oldFirstCurve1 = oldFirst, oldLastCurve1 = oldLast;
            if(Curve2dPtr->IsKind(STANDARD_TYPE(Geom2d_BezierCurve))) {
              
-             Standard_Real preci = Precision::PConfusion();
+             constexpr Standard_Real preci = Precision::PConfusion();
              if ( Abs(oldFirst) > preci || Abs(oldLast-1) > preci ) {
                Handle(Geom2d_BezierCurve) bezier = Handle(Geom2d_BezierCurve)::DownCast(Curve2dPtr->Copy());
                bezier->Segment(oldFirst,oldLast);
@@ -412,7 +412,7 @@ static Handle(Geom2d_Curve) TranslatePCurve (const Handle(Geom_Surface)& aSurf,
            
            if(Curve2dPtr2->IsKind(STANDARD_TYPE(Geom2d_BezierCurve))) {
              
-             Standard_Real preci = Precision::PConfusion();
+             constexpr Standard_Real preci = Precision::PConfusion();
              if ( Abs(oldFirst) > preci || Abs(oldLast-1) > preci ) {
                Handle(Geom2d_BezierCurve) bezier = Handle(Geom2d_BezierCurve)::DownCast(Curve2dPtr2->Copy());
                bezier->Segment(oldFirst,oldLast);
index 1afc7a1a692ea6cbed432fe3e954ed9be34183dc..dcc043b4e78a70925c228b092be5e33d4e2e210a 100644 (file)
@@ -574,7 +574,7 @@ void ShapeFix_EdgeProjAux::UpdateParam2d (const Handle(Geom2d_Curve)& theCurve2d
   Standard_Real cf = theCurve2d->FirstParameter();
   Standard_Real cl = theCurve2d->LastParameter();
 //:S4136  Standard_Real preci = BRepAPI::Precision();
-  Standard_Real preci2d = Precision::PConfusion(); //:S4136: Parametric(preci, 0.01);
+  constexpr Standard_Real preci2d = Precision::PConfusion(); //:S4136: Parametric(preci, 0.01);
 
   // 15.11.2002 PTV OCC966
   if (ShapeAnalysis_Curve::IsPeriodic(theCurve2d)) {
index 353614480254f724ca56a3e630c7ee755f8fa666..3bef390593a1c64f0346f81b02f944157e97b00b 100644 (file)
@@ -548,7 +548,7 @@ TopoDS_Solid ShapeFix_Solid::SolidFromShell (const TopoDS_Shell& shell)
   try {
     OCC_CATCH_SIGNALS
     BRepClass3d_SolidClassifier bsc3d (solid);
-    Standard_Real t = Precision::Confusion();    // tolerance moyenne
+    constexpr Standard_Real t = Precision::Confusion();    // tolerance moyenne
     bsc3d.PerformInfinitePoint(t);
     
     if (bsc3d.State() == TopAbs_IN) {
index 901cbad65dc96432e3b7c456ca8bbb5478848947..45afce5579765bed1c7bdeee7594b057a269f09f 100644 (file)
@@ -750,7 +750,7 @@ static Standard_Real AdjustOnPeriodic2d (const Handle(Geom2d_Curve)& pc,
 
   if (Context().IsNull()) SetContext(new ShapeBuild_ReShape);
 
-  Standard_Real preci = ::Precision::PConfusion();
+  constexpr Standard_Real preci = ::Precision::PConfusion();
   //Standard_Real preci = Precision();
   //GeomAdaptor_Surface& SA = Analyzer().Surface()->Adaptor()->ChangeSurface();
   //preci = Max(SA.UResolution(preci), SA.VResolution(preci));
@@ -1024,7 +1024,7 @@ static Standard_Real AdjustOnPeriodic2d (const Handle(Geom2d_Curve)& pc,
       Standard_Real ipar1 = clast1, ipar2 = cfirst2;
 
       Geom2dInt_GInter Inter;
-      Standard_Real tolint = ::Precision::PConfusion();
+      constexpr Standard_Real tolint = ::Precision::PConfusion();
 
       Geom2dAdaptor_Curve AC1(pc1), AC2(pc2);
 
index 092d54246be178594f50ab552b8005e8494fc2e5..b6c8a218f3d45c8c50eaf9d9719be214eee76805 100644 (file)
@@ -696,7 +696,7 @@ Standard_Boolean ShapeFix_Wireframe::MergeSmallEdges(TopTools_MapOfShape& theSma
                  C2->D1(first2,P,Vec2);
                  if ( edge1.Orientation() == TopAbs_REVERSED ) Vec1.Reverse();
                  if ( edge2.Orientation() == TopAbs_REVERSED ) Vec2.Reverse();
-          Standard_Real tol2 = Precision::SquareConfusion();
+          constexpr Standard_Real tol2 = Precision::SquareConfusion();
                  if ( Vec1.SquareMagnitude() < tol2 ||
                       Vec2.SquareMagnitude() < tol2 ) Ang1 = M_PI/2.;
                  else Ang1 = Abs(Vec1.Angle(Vec2));
@@ -1145,7 +1145,7 @@ Standard_Boolean ShapeFix_Wireframe::MergeSmallEdges(TopTools_MapOfShape& theSma
                  C2->D1(first2,P,Vec2);
                  if ( edge1.Orientation() == TopAbs_REVERSED ) Vec1.Reverse();
                  if ( edge2.Orientation() == TopAbs_REVERSED ) Vec2.Reverse();
-          Standard_Real tol2 = Precision::SquareConfusion();
+          constexpr Standard_Real tol2 = Precision::SquareConfusion();
                  if ( Vec1.SquareMagnitude() < tol2 ||
                       Vec2.SquareMagnitude() < tol2 ) Ang1 = M_PI/2.;
                  else Ang1 = Abs(Vec1.Angle(Vec2));
index 29a3bb64d84b4167e5f814eb7896898d1db6be78..c28e4d79651c205f0226340230ab9c89c7d26c9d 100644 (file)
@@ -61,7 +61,7 @@ void ShapeUpgrade_ConvertCurve2dToBezier::Compute()
 {
   mySegments->Clear();
   mySplitParams->Clear();
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real First =  mySplitValues->Value(1);
   Standard_Real Last = mySplitValues->Value(mySplitValues->Length());
   
@@ -232,7 +232,7 @@ void ShapeUpgrade_ConvertCurve2dToBezier::Compute()
 
 void ShapeUpgrade_ConvertCurve2dToBezier::Build(const Standard_Boolean /*Segment*/)
 {
-  Standard_Real prec = Precision::PConfusion();
+  constexpr Standard_Real prec = Precision::PConfusion();
   Standard_Integer nb = mySplitValues->Length();
   myResultingCurves =  new TColGeom2d_HArray1OfCurve (1,nb-1);
   Standard_Real prevPar =0.;
index d7745ed114805690b8992157fefd8c0913115d7e..eecadf6bab1af621d4f04d477e436e64079b3cdf 100644 (file)
@@ -52,7 +52,7 @@ void ShapeUpgrade_ConvertCurve3dToBezier::Compute()
 {
   mySegments->Clear();
   mySplitParams->Clear();
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real First =  mySplitValues->Value(1);
   Standard_Real Last = mySplitValues->Value(mySplitValues->Length());
   if(myCurve->IsKind(STANDARD_TYPE(Geom_TrimmedCurve))) {
@@ -193,7 +193,7 @@ void ShapeUpgrade_ConvertCurve3dToBezier::Compute()
 
 void ShapeUpgrade_ConvertCurve3dToBezier::Build(const Standard_Boolean /*Segment*/)
 {
-  Standard_Real prec = Precision::PConfusion();
+  constexpr Standard_Real prec = Precision::PConfusion();
   Standard_Integer nb = mySplitValues->Length();
   myResultingCurves =  new TColGeom_HArray1OfCurve (1,nb-1);
   Standard_Real prevPar = 0.;
index 070f06b70aa1bd6e04383f49bf9c71d5be28ac7c..079d73b248b4ae5f033a256a76d94a10e25d1326 100644 (file)
@@ -72,7 +72,7 @@ void ShapeUpgrade_ConvertSurfaceToBezierBasis::Compute(const Standard_Boolean Se
   Standard_Real ULast  = myUSplitValues->Value(myUSplitValues->Length());
   Standard_Real VFirst = myVSplitValues->Value(1);
   Standard_Real VLast  = myVSplitValues->Value(myVSplitValues->Length());
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   
   if (mySurface->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) {
     Handle(Geom_RectangularTrimmedSurface) Surface = Handle(Geom_RectangularTrimmedSurface)::DownCast(mySurface);
@@ -414,7 +414,7 @@ static Handle(Geom_Surface) GetSegment(const Handle(Geom_Surface)& surf,
 {
   if(surf->IsKind(STANDARD_TYPE(Geom_BezierSurface))) {
     Handle(Geom_BezierSurface) bezier = Handle(Geom_BezierSurface)::DownCast(surf->Copy());
-    Standard_Real prec = Precision::PConfusion();
+    constexpr Standard_Real prec = Precision::PConfusion();
     if(U1 < prec && U2 > 1-prec && V1 < prec && V2 > 1-prec)
       return bezier;
     //pdn K4L+ (work around)
@@ -499,7 +499,7 @@ void ShapeUpgrade_ConvertSurfaceToBezierBasis::Build(const Standard_Boolean /*Se
     offsetValue = offSur->Offset();
   }
 
-  Standard_Real prec = Precision::PConfusion();
+  constexpr Standard_Real prec = Precision::PConfusion();
   Handle(TColStd_HArray1OfReal) myUSplitParams = mySegments->UJointValues();
   Handle(TColStd_HArray1OfReal) myVSplitParams = mySegments->VJointValues();
   Standard_Integer nbU = myUSplitValues->Length();
index 58ef035a1c9ba2c2fd51f4566f03b2a61b5ebdc8..2f4eac3cc1193b05e0c307ffc3b16a9ce204525a 100644 (file)
@@ -127,7 +127,7 @@ Standard_Boolean ShapeUpgrade_ShapeConvertToBezier::Perform (const Standard_Bool
     BRep_Builder B;
     ShapeAnalysis_Edge sae;
     ShapeBuild_Edge sbe;
-    Standard_Real preci = Precision::PConfusion();
+    constexpr Standard_Real preci = Precision::PConfusion();
     for(TopExp_Explorer exp(myResult,TopAbs_FACE); exp.More(); exp.Next()) {
       TopoDS_Face face = TopoDS::Face(exp.Current());
       face.Orientation(TopAbs_FORWARD);
index a80af8aeac12ddc55b0123de330838ec66cd21d1..b23361295ac2196eb2198a0ba7dc36b5ce003c77 100644 (file)
@@ -62,7 +62,7 @@ ShapeUpgrade_SplitCurve::ShapeUpgrade_SplitCurve()
 
  void ShapeUpgrade_SplitCurve::SetSplitValues (const Handle(TColStd_HSequenceOfReal)& SplitValues)
 {
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   if(SplitValues.IsNull()) return;
   if(SplitValues->Length()==0) return;
     
index e78e550aa39d3eb0aa042a8f7f4f9f52e73d7a0a..57ded7752316fb3f87b6ca025f6a15b82f744a99 100644 (file)
@@ -63,7 +63,7 @@ ShapeUpgrade_SplitCurve2d::ShapeUpgrade_SplitCurve2d()
   Handle(Geom2d_Curve) CopyOfC = Handle(Geom2d_Curve)::DownCast(C->Copy());
   myCurve = CopyOfC;
   
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real firstPar = First;
   Standard_Real lastPar = Last;
   Handle (Geom2d_Curve) aCurve = myCurve;
index e58fec2990d2b8913ae7a10820d06a7bae4ceed6..2a2f1b9f704661819378fd09474900ac5d32841f 100644 (file)
@@ -79,7 +79,7 @@ void ShapeUpgrade_SplitCurve2dContinuity::Compute()
     myStatus = ShapeExtend::EncodeStatus (ShapeExtend_DONE2);
   if (mySplitValues->Length() > 2)
     myStatus = ShapeExtend::EncodeStatus (ShapeExtend_DONE1);
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real First =  mySplitValues->Value(1);
   Standard_Real Last = mySplitValues->Value(mySplitValues->Length());
   if (myCurve->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) {
index d9e1e931cde1c30f198400196b661d005ea10ed1..5ccd0b6bf82da0e4c9e5af754ea4bbad07a04ac1 100644 (file)
@@ -62,7 +62,7 @@ ShapeUpgrade_SplitCurve3d::ShapeUpgrade_SplitCurve3d()
 //  if (ShapeUpgrade::Debug()) std::cout << "SplitCurve3d::Init"<<std::endl;
   Handle(Geom_Curve) CopyOfC = Handle(Geom_Curve)::DownCast(C->Copy());
   myCurve = CopyOfC;
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real firstPar = First;
   Standard_Real lastPar = Last;
   Handle (Geom_Curve) aCurve = myCurve;
@@ -156,7 +156,7 @@ ShapeUpgrade_SplitCurve3d::ShapeUpgrade_SplitCurve3d()
   // 15.11.2002 PTV OCC966
   if(!ShapeAnalysis_Curve::IsPeriodic(myCurve)) {
     //pdn exceptons only on non periodic curves
-    Standard_Real precision = Precision::PConfusion();
+    constexpr Standard_Real precision = Precision::PConfusion();
     Standard_Real firstPar = myCurve->FirstParameter();
     Standard_Real lastPar  = myCurve->LastParameter();
     if(Abs(First-firstPar) < precision)
index ebaf87e030cf3026b8c3c3dea8c936120ba5a29e..e5827f2a49c78f26986d794a68c46fb5df6446aa 100644 (file)
@@ -77,7 +77,7 @@ void ShapeUpgrade_SplitCurve3dContinuity::Compute()
 {  
   Standard_Real First =  mySplitValues->Value(1);
   Standard_Real Last =  mySplitValues->Value(mySplitValues->Length());
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   if(myCurve->Continuity() < myCriterion) 
     myStatus = ShapeExtend::EncodeStatus (ShapeExtend_DONE2);
   if (mySplitValues->Length() > 2)
index 9bac8b4458621b405dfd8be9bc7e2a95c8cece23..eab19a00c7941c2746a5ca5cc0232bfa5ab25f49 100644 (file)
@@ -102,7 +102,7 @@ void ShapeUpgrade_SplitSurface::Init(const Handle(Geom_Surface)& S,
 
   Standard_Real U1,U2,V1,V2;
   mySurface->Bounds(U1,U2,V1,V2);
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   if ( mySurface->IsUPeriodic() && 
        ULast - UFirst <= U2 - U1 + precision ) { U1 = UFirst; U2 = U1 + mySurface->UPeriod(); }
   if ( mySurface->IsVPeriodic() && 
@@ -168,7 +168,7 @@ void ShapeUpgrade_SplitSurface::Init(const Handle(Geom_Surface)& S,
 void ShapeUpgrade_SplitSurface::SetUSplitValues(const Handle(TColStd_HSequenceOfReal)& UValues)
 {
   if(UValues.IsNull()) return;
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real UFirst = myUSplitValues->Value(1),
   ULast = myUSplitValues->Value(myUSplitValues->Length()); 
   Standard_Integer i =1;
@@ -193,7 +193,7 @@ void ShapeUpgrade_SplitSurface::SetUSplitValues(const Handle(TColStd_HSequenceOf
 void ShapeUpgrade_SplitSurface::SetVSplitValues(const Handle(TColStd_HSequenceOfReal)& VValues) 
 {
   if(VValues.IsNull()) return;
-  Standard_Real precision = Precision::PConfusion();
+  constexpr Standard_Real precision = Precision::PConfusion();
   Standard_Real VFirst = myVSplitValues->Value(1), 
   VLast = myVSplitValues->Value(myVSplitValues->Length()); 
   Standard_Integer i =1;
index 494d5b2db12ad584b1c0b99b0cc3a6e2d49fd86e..a6b25f91a80077e8242e80df37935e1bf798b23d 100644 (file)
@@ -89,7 +89,7 @@ ShapeUpgrade_SplitSurfaceContinuity::ShapeUpgrade_SplitSurfaceContinuity()
   Standard_Real ULast  = myUSplitValues->Value(myUSplitValues->Length());
   Standard_Real VFirst = myVSplitValues->Value(1);
   Standard_Real VLast  = myVSplitValues->Value(myVSplitValues->Length());
-  Standard_Real precision = Precision::Confusion();
+  constexpr Standard_Real precision = Precision::Confusion();
 //  if (ShapeUpgrade::Debug()) std::cout << "SplitSurfaceContinuity::Build" << std::endl;
   if(mySurface->Continuity() < myCriterion) 
     myStatus = ShapeExtend::EncodeStatus (ShapeExtend_DONE2);
index e17fefa111c5635af6dc26258a427da61e56598d..52e8501c45e96670f3372fd9112c80e6e6d23226 100644 (file)
@@ -822,7 +822,7 @@ static Standard_Boolean SameSurf(const Handle(Geom_Surface)& theS1, const Handle
   Standard_Real uf1, ul1, vf1, vl1, uf2, ul2, vf2, vl2;
   theS1->Bounds(uf1, ul1, vf1, vl1);
   theS2->Bounds(uf2, ul2, vf2, vl2);
-  Standard_Real aPTol = Precision::PConfusion();
+  constexpr Standard_Real aPTol = Precision::PConfusion();
   if (Precision::IsNegativeInfinite(uf1))
   {
     if (!Precision::IsNegativeInfinite(uf2))
@@ -3843,7 +3843,7 @@ void ShapeUpgrade_UnifySameDomain::UnifyEdges()
   }
 
   // fix changed faces and replace them in the local context
-  Standard_Real aPrec = Precision::Confusion();
+  constexpr Standard_Real aPrec = Precision::Confusion();
   for (Standard_Integer i = 1; i <= aChangedFaces.Extent(); i++) {
     TopoDS_Face aFace = TopoDS::Face(myContext->Apply(aChangedFaces.FindKey(i)));
     if (aFace.IsNull())
index 63600eaee9567bc4f89354231a358805ba319308..91415b7bba30b5791cffb886d760040328e6ae3b 100644 (file)
@@ -172,7 +172,7 @@ static void CorrectSplitValues(const Handle(TColStd_HSequenceOfReal)& orig3d,
                               Handle(TColStd_HSequenceOfReal) new2d,
                               Handle(TColStd_HSequenceOfReal) new3d)
 {
-  Standard_Real preci = Precision::PConfusion();
+  constexpr Standard_Real preci = Precision::PConfusion();
   Standard_Integer len3d = orig3d->Length();
   Standard_Integer len2d = orig2d->Length();
   TColStd_Array1OfBoolean fixNew2d (1, len3d);
index fe2f667dbaa83aeb51e391400e8e172c3a37c4db..bd807f01c98ed0e74f81210b8743391a6e645137 100644 (file)
@@ -147,7 +147,7 @@ namespace
     Standard_Integer aNbVertices  = 0;
 
     // Precision for compare square distances
-    const Standard_Real aPreci = Precision::SquareConfusion();
+    constexpr Standard_Real aPreci = Precision::SquareConfusion();
 
     TopExp_Explorer aFaceIt(theShape, TopAbs_FACE);
     for (; aFaceIt.More(); aFaceIt.Next())
index 530e6ffd5e5625c86ec725a38e993416af4d23e2..9796774d8c410c4ba8ec7f34e187dd20011af730 100644 (file)
@@ -213,7 +213,7 @@ void TopTrans_SurfaceTransition::Reset(const gp_Dir& Tgt,
 {
   STATIC_DEFINED = Standard_True;
 
-  Standard_Real tola = Precision::Angular();
+  constexpr Standard_Real tola = Precision::Angular();
   Standard_Boolean curismax = (Abs(MaxD.Dot(myTgt)) < tola);
   Standard_Boolean curismin = (Abs(MinD.Dot(myTgt)) < tola);
 
@@ -284,7 +284,7 @@ void TopTrans_SurfaceTransition::Compare
 
   Standard_Real Curv=0.; 
   // ------
-  Standard_Real tola = Precision::Angular();
+  constexpr Standard_Real tola = Precision::Angular();
   Standard_Boolean curismax = (Abs(MaxD.Dot(myTgt)) < tola);
   Standard_Boolean curismin = (Abs(MinD.Dot(myTgt)) < tola);
   if (!curismax && !curismin) {
@@ -365,7 +365,7 @@ void TopTrans_SurfaceTransition::Compare
   // oriented Ang(beafter,dironF), 
   // dironF normal to the curve, oriented INSIDE F, the added oriented support
   Standard_Real Ang = ::FUN_Ang(myNorm,beafter,myTgt,Norm,O);
-  Standard_Real tola = Precision::Angular(); // nyi in arg
+  constexpr Standard_Real tola = Precision::Angular(); // nyi in arg
     
   // i = 0,1,2 : cos = 0,>0,<0
   // j = 0,1,2 : sin = 0,>0,<0
index a28963a606b1f16a3acfb5a35ac68f325891ebc5..300e5bad2079410b7f061f458a2272ee3998eaab 100644 (file)
@@ -2928,7 +2928,7 @@ Handle( Poly_Triangulation ) CalculationOfSphere( double X , double Y , double Z
   Poly_Connect pc (polyTriangulation);
 
   Standard_Integer index[3];
-  Standard_Real Tol = Precision::Confusion();
+  constexpr Standard_Real Tol = Precision::Confusion();
 
   gp_Dir Nor;
   for (i = 1; i <= polyTriangulation->NbNodes(); i++)
index c3644f56fd381bdecf3d9aa0a078fb8cb46cb77a..9014683cf797d4767e0b193b0763184bd38e078e 100644 (file)
@@ -273,7 +273,7 @@ VrmlData_ErrorStatus VrmlData_Material::Write (const char * thePrefix) const
     char buf[128];
     Standard_Real val[3];
     const Quantity_TypeOfColor bidType = Quantity_TOC_sRGB;
-    const Standard_Real aConf (0.001 * Precision::Confusion());
+    constexpr Standard_Real aConf (0.001 * Precision::Confusion());
 
     if (OK(aStatus) && fabs(myAmbientIntensity - 0.2) > aConf) {
       Sprintf (buf, "%.6g", myAmbientIntensity);
@@ -324,7 +324,7 @@ VrmlData_ErrorStatus VrmlData_Material::Write (const char * thePrefix) const
 
 Standard_Boolean VrmlData_Material::IsDefault () const
 {
-  const Standard_Real aConf (0.001 * Precision::Confusion());
+  constexpr Standard_Real aConf (0.001 * Precision::Confusion());
   Standard_Boolean aResult (Standard_False);
   if (fabs(myAmbientIntensity - 0.2) < aConf &&
       fabs(myShininess - 0.2)        < aConf &&
index 6411c778ded45aeee4bf1aa8f866a296e234d20a..90b00de1be26e31d692d14057c4b59e1850769fb 100644 (file)
@@ -414,7 +414,7 @@ Handle(VrmlData_Geometry) VrmlData_ShapeConvert::triToIndexedFaceSet
   Poly_Connect PC(theTri);
   // Create the Normals node (if UV- values are available)
   TopLoc_Location aLoc;
-  const Standard_Real aConf2 = Precision::SquareConfusion();
+  constexpr Standard_Real aConf2 = Precision::SquareConfusion();
   const Handle(Geom_Surface) aSurface = BRep_Tool::Surface (theFace, aLoc);
   if (theTri->HasUVNodes() && aSurface.IsNull() == Standard_False)
   {
index 0e7ffcda00cebdf43d23c21cdccd9eb05410a5de..8f8352f1331ff4aea67c5eb503652fc92c23f952 100644 (file)
@@ -99,7 +99,7 @@ gce_MakeCirc::gce_MakeCirc(const gp_Pnt&  P1 ,
   dir = VDir2.Crossed(Dir3);
   gp_Lin L2(gp_Pnt((P3.XYZ()+P2.XYZ())/2.),dir);
 
-  Standard_Real Tol = Precision::PConfusion();
+  constexpr Standard_Real Tol = Precision::PConfusion();
   Extrema_ExtElC distmin(L1,L2,Tol);
   
   if (!distmin.IsDone()) {