]> OCCT Git - occt.git/commit
Foundation Classes, gp - Add constexpr/noexcept constructors and standard direction...
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Tue, 4 Nov 2025 16:21:59 +0000 (16:21 +0000)
committerGitHub <noreply@github.com>
Tue, 4 Nov 2025 16:21:59 +0000 (16:21 +0000)
commit2cc2bfdd2721a129c4ca76cbb26ab14ee0b39a8c
tree4055421cd690a42e327e15b7a05b2a15b9faadf4
parent0763d962096e6ca4715144341e12f6cd4a4aeab3
Foundation Classes, gp - Add constexpr/noexcept constructors and standard direction enums (#803)

- Addition of `gp_Dir::D` and `gp_Dir2d::D` enums for standard directions (X, Y, Z, NX, NY, NZ)
- Constexpr/noexcept constructors for geometric primitives (circles, cones, cylinders, etc.)
- Enhanced axis placement classes with enum-based constructors
- Replacement of hardcoded direction values throughout the codebase
203 files changed:
src/DataExchange/TKDEIGES/BRepToIGES/BRepToIGES_BRShell.cxx
src/DataExchange/TKDEIGES/GeomToIGES/GeomToIGES_GeomSurface.cxx
src/DataExchange/TKDEIGES/IGESGeom/IGESGeom_CircularArc.cxx
src/DataExchange/TKDEIGES/IGESGeom/IGESGeom_ConicArc.cxx
src/DataExchange/TKDEIGES/IGESGeom/IGESGeom_ToolConicArc.cxx
src/DataExchange/TKDEIGES/IGESToBRep/IGESToBRep_TopoSurface.cxx
src/DataExchange/TKDESTEP/GeomToStep/GeomToStep_MakeAxis2Placement3d.cxx
src/DataExchange/TKDESTEP/STEPControl/STEPControl_ActorRead.cxx
src/DataExchange/TKDESTEP/StepToGeom/StepToGeom.cxx
src/DataExchange/TKDESTL/GTests/DESTL_Provider_Test.cxx
src/DataExchange/TKDEVRML/GTests/DEVRML_Provider_Test.cxx
src/DataExchange/TKDEVRML/VrmlConverter/VrmlConverter_Projector.cxx
src/DataExchange/TKDEVRML/VrmlData/VrmlData_Geometry.cxx
src/Draw/TKDCAF/DNaming/DNaming_SphereDriver.cxx
src/Draw/TKDraw/DBRep/DBRep_IsoBuilder.cxx
src/Draw/TKDraw/Draw/Draw_Axis2D.cxx
src/Draw/TKDraw/Draw/Draw_View.cxx
src/Draw/TKQADraw/QABugs/QABugs_10.cxx
src/Draw/TKQADraw/QABugs/QABugs_11.cxx
src/Draw/TKQADraw/QABugs/QABugs_14.cxx
src/Draw/TKQADraw/QABugs/QABugs_16.cxx
src/Draw/TKQADraw/QABugs/QABugs_17.cxx
src/Draw/TKQADraw/QABugs/QABugs_19.cxx
src/Draw/TKQADraw/QABugs/QABugs_20.cxx
src/Draw/TKQADraw/QABugs/QABugs_3.cxx
src/Draw/TKQADraw/QABugs/QABugs_9.cxx
src/Draw/TKQADraw/QABugs/QABugs_PresentableObject.cxx
src/Draw/TKTopTest/BRepTest/BRepTest_CurveCommands.cxx
src/Draw/TKTopTest/BRepTest/BRepTest_HelixCommands.cxx
src/Draw/TKTopTest/GeometryTest/GeometryTest_CurveCommands.cxx
src/Draw/TKTopTest/GeometryTest/GeometryTest_CurveTanCommands.cxx
src/Draw/TKTopTest/GeomliteTest/GeomliteTest_CurveCommands.cxx
src/Draw/TKTopTest/GeomliteTest/GeomliteTest_SurfaceCommands.cxx
src/Draw/TKViewerTest/ViewerTest/ViewerTest_ObjectCommands.cxx
src/Draw/TKViewerTest/ViewerTest/ViewerTest_RelationCommands.cxx
src/Draw/TKViewerTest/ViewerTest/ViewerTest_ViewerCommands.cxx
src/FoundationClasses/TKMath/Bnd/Bnd_OBB.cxx
src/FoundationClasses/TKMath/GTests/Bnd_BoundSortBox_Test.cxx
src/FoundationClasses/TKMath/GTests/Bnd_Box_Test.cxx
src/FoundationClasses/TKMath/GTests/ElCLib_Test.cxx
src/FoundationClasses/TKMath/gp/gp.cxx
src/FoundationClasses/TKMath/gp/gp.hxx
src/FoundationClasses/TKMath/gp/gp_Ax1.hxx
src/FoundationClasses/TKMath/gp/gp_Ax2.hxx
src/FoundationClasses/TKMath/gp/gp_Ax22d.hxx
src/FoundationClasses/TKMath/gp/gp_Ax2d.hxx
src/FoundationClasses/TKMath/gp/gp_Ax3.hxx
src/FoundationClasses/TKMath/gp/gp_Circ.hxx
src/FoundationClasses/TKMath/gp/gp_Circ2d.hxx
src/FoundationClasses/TKMath/gp/gp_Cone.hxx
src/FoundationClasses/TKMath/gp/gp_Cylinder.hxx
src/FoundationClasses/TKMath/gp/gp_Dir.hxx
src/FoundationClasses/TKMath/gp/gp_Dir2d.hxx
src/FoundationClasses/TKMath/gp/gp_Elips.hxx
src/FoundationClasses/TKMath/gp/gp_Elips2d.hxx
src/FoundationClasses/TKMath/gp/gp_Hypr.hxx
src/FoundationClasses/TKMath/gp/gp_Hypr2d.hxx
src/FoundationClasses/TKMath/gp/gp_Lin.hxx
src/FoundationClasses/TKMath/gp/gp_Parab.hxx
src/FoundationClasses/TKMath/gp/gp_Parab2d.hxx
src/FoundationClasses/TKMath/gp/gp_Pln.hxx
src/FoundationClasses/TKMath/gp/gp_Sphere.hxx
src/FoundationClasses/TKMath/gp/gp_Torus.hxx
src/FoundationClasses/TKernel/GTests/Standard_Dump_Test.cxx
src/ModelingAlgorithms/TKBO/BOPAlgo/BOPAlgo_WireSplitter_1.cxx
src/ModelingAlgorithms/TKBO/BOPTools/BOPTools_AlgoTools3D.cxx
src/ModelingAlgorithms/TKBO/GTests/BOPTest_Utilities.pxx
src/ModelingAlgorithms/TKBO/GTests/BRepAlgoAPI_Cut_Test.cxx
src/ModelingAlgorithms/TKBO/GTests/BRepAlgoAPI_Cut_Test_1.cxx
src/ModelingAlgorithms/TKBO/GTests/BRepAlgoAPI_Fuse_Test.cxx
src/ModelingAlgorithms/TKBO/IntTools/IntTools_FaceFace.cxx
src/ModelingAlgorithms/TKBool/BRepFill/BRepFill.cxx
src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_Evolved.cxx
src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_Generator.cxx
src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_ShapeLaw.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepBuild/TopOpeBRepBuild_GridSS.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepBuild/TopOpeBRepBuild_WireEdgeSet.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepDS/TopOpeBRepDS_BuildTool.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepDS/TopOpeBRepDS_FaceInterferenceTool.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepTool/TopOpeBRepTool_CurveTool.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepTool/TopOpeBRepTool_GEOMETRY.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepTool/TopOpeBRepTool_ShapeTool.cxx
src/ModelingAlgorithms/TKBool/TopOpeBRepTool/TopOpeBRepTool_matter.cxx
src/ModelingAlgorithms/TKFeat/BRepFeat/BRepFeat_RibSlot.cxx
src/ModelingAlgorithms/TKFillet/BlendFunc/BlendFunc.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_1.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_10.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_11.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_2.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_3.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_4.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_5.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_6.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_7.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_8.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanOn_9.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad_1.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad_2.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad_3.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad_4.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d2TanRad_5.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_1.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_2.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_3.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_4.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_5.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_6.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_7.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_8.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2d3Tan_9.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dBisec.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanCen.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad_1.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad_2.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad_3.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad_4.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_Circ2dTanOnRad_5.cxx
src/ModelingAlgorithms/TKGeomAlgo/GccAna/GccAna_CircPnt2dBisec.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2d2TanOnGeo.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2d2TanOnIter.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2d2TanRadGeo.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2d3TanIter.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2dTanCenGeo.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dGcc/Geom2dGcc_Circ2dTanOnRadGeo.cxx
src/ModelingAlgorithms/TKGeomAlgo/Geom2dHatch/Geom2dHatch_Elements.cxx
src/ModelingAlgorithms/TKGeomAlgo/GeomFill/GeomFill.cxx
src/ModelingAlgorithms/TKGeomAlgo/GeomFill/GeomFill_Sweep.cxx
src/ModelingAlgorithms/TKGeomAlgo/GeomInt/GeomInt_IntSS_1.cxx
src/ModelingAlgorithms/TKGeomAlgo/Hatch/Hatch_Hatcher.cxx
src/ModelingAlgorithms/TKGeomAlgo/IntWalk/IntWalk_PWalking.cxx
src/ModelingAlgorithms/TKGeomAlgo/Intf/Intf_Tool.cxx
src/ModelingAlgorithms/TKHLR/Contap/Contap_ArcFunction.cxx
src/ModelingAlgorithms/TKHLR/Contap/Contap_SurfFunction.cxx
src/ModelingAlgorithms/TKHLR/HLRAlgo/HLRAlgo_Projector.cxx
src/ModelingAlgorithms/TKHLR/HLRBRep/HLRBRep_Data.cxx
src/ModelingAlgorithms/TKHLR/HLRTopoBRep/HLRTopoBRep_FaceIsoLiner.cxx
src/ModelingAlgorithms/TKHelix/GTests/HelixBRep_BuilderHelix_Integration_Test.cxx
src/ModelingAlgorithms/TKHelix/GTests/HelixBRep_BuilderHelix_Test.cxx
src/ModelingAlgorithms/TKHelix/GTests/HelixGeom_BuilderHelix_Test.cxx
src/ModelingAlgorithms/TKOffset/BRepOffset/BRepOffset_Inter2d.cxx
src/ModelingAlgorithms/TKOffset/BRepOffset/BRepOffset_MakeOffset.cxx
src/ModelingAlgorithms/TKOffset/BRepOffset/BRepOffset_MakeSimpleOffset.cxx
src/ModelingAlgorithms/TKOffset/BRepOffset/BRepOffset_Offset.cxx
src/ModelingAlgorithms/TKOffset/BRepOffset/BRepOffset_Tool.cxx
src/ModelingAlgorithms/TKOffset/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_Cone.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_Cylinder.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_FaceBuilder.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_OneAxis.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_Sphere.cxx
src/ModelingAlgorithms/TKPrim/BRepPrim/BRepPrim_Torus.cxx
src/ModelingAlgorithms/TKPrim/BRepPrimAPI/BRepPrimAPI_MakeBox.cxx
src/ModelingAlgorithms/TKPrim/BRepPrimAPI/BRepPrimAPI_MakeRevolution.cxx
src/ModelingAlgorithms/TKPrim/BRepPrimAPI/BRepPrimAPI_MakeSphere.cxx
src/ModelingAlgorithms/TKPrim/BRepPrimAPI/BRepPrimAPI_MakeWedge.cxx
src/ModelingAlgorithms/TKPrim/BRepSweep/BRepSweep_Translation.cxx
src/ModelingAlgorithms/TKShHealing/GTests/ShapeAnalysis_CanonicalRecognition_Test.cxx
src/ModelingAlgorithms/TKShHealing/ShapeBuild/ShapeBuild_Edge.cxx
src/ModelingAlgorithms/TKShHealing/ShapeFix/ShapeFix_ComposeShell.cxx
src/ModelingAlgorithms/TKShHealing/ShapeFix/ShapeFix_EdgeProjAux.cxx
src/ModelingAlgorithms/TKShHealing/ShapeFix/ShapeFix_Face.cxx
src/ModelingAlgorithms/TKShHealing/ShapeFix/ShapeFix_Wire.cxx
src/ModelingAlgorithms/TKTopAlgo/BRepBuilderAPI/BRepBuilderAPI_FastSewing.cxx
src/ModelingAlgorithms/TKTopAlgo/BRepClass/BRepClass_FaceExplorer.cxx
src/ModelingAlgorithms/TKTopAlgo/BRepLib/BRepLib_MakeFace.cxx
src/ModelingAlgorithms/TKTopAlgo/BRepLib/BRepLib_MakeShell.cxx
src/ModelingAlgorithms/TKTopAlgo/Bisector/Bisector_BisecAna.cxx
src/ModelingData/TKBRep/BinTools/BinTools_Curve2dSet.cxx
src/ModelingData/TKBRep/BinTools/BinTools_CurveSet.cxx
src/ModelingData/TKBRep/BinTools/BinTools_SurfaceSet.cxx
src/ModelingData/TKG2d/GTests/Geom2d_OffsetCurve_Test.cxx
src/ModelingData/TKG3d/Adaptor3d/Adaptor3d_TopolTool.cxx
src/ModelingData/TKG3d/GTests/Geom_OffsetCurve_Test.cxx
src/ModelingData/TKG3d/GTests/Geom_OffsetSurface_Test.cxx
src/ModelingData/TKGeomBase/BndLib/BndLib.cxx
src/ModelingData/TKGeomBase/Extrema/Extrema_ExtElC.cxx
src/ModelingData/TKGeomBase/GTests/IntAna_IntQuadQuad_Test.cxx
src/ModelingData/TKGeomBase/Geom2dConvert/Geom2dConvert_ApproxArcsSegments.cxx
src/ModelingData/TKGeomBase/GeomConvert/GeomConvert_Units.cxx
src/ModelingData/TKGeomBase/GeomTools/GeomTools_Curve2dSet.cxx
src/ModelingData/TKGeomBase/GeomTools/GeomTools_CurveSet.cxx
src/ModelingData/TKGeomBase/GeomTools/GeomTools_SurfaceSet.cxx
src/ModelingData/TKGeomBase/IntAna/IntAna_IntConicQuad.cxx
src/ModelingData/TKGeomBase/ProjLib/ProjLib_CompProjectedCurve.cxx
src/ModelingData/TKGeomBase/ProjLib/ProjLib_ComputeApprox.cxx
src/ModelingData/TKGeomBase/gce/gce_MakeCirc.cxx
src/ModelingData/TKGeomBase/gce/gce_MakeCirc2d.cxx
src/Visualization/TKMeshVS/MeshVS/MeshVS_NodalColorPrsBuilder.cxx
src/Visualization/TKMeshVS/MeshVS/MeshVS_VectorPrsBuilder.cxx
src/Visualization/TKService/GTests/Graphic3d_BndBox_Test.cxx
src/Visualization/TKService/Graphic3d/Graphic3d_Camera.cxx
src/Visualization/TKV3d/AIS/AIS_Manipulator.cxx
src/Visualization/TKV3d/AIS/AIS_TextLabel.cxx
src/Visualization/TKV3d/DsgPrs/DsgPrs_EqualDistancePresentation.cxx
src/Visualization/TKV3d/Prs3d/Prs3d_ToolDisk.hxx
src/Visualization/TKV3d/Prs3d/Prs3d_ToolSector.hxx
src/Visualization/TKV3d/SelectMgr/SelectMgr_TriangularFrustumSet.cxx
src/Visualization/TKV3d/V3d/V3d_Viewer.cxx
tests/lowalgos/intss/bug24676