X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConstructionPlugin%2FConstructionPlugin_Axis.h;h=afd1e45fc6b793277fc7cf64d72a30bbf97976a0;hb=1c2adfe0086cd45aba64d8188c9f55d52d408a2d;hp=4c51a1d40f9fedbdab675eb61a8721becda16dd6;hpb=f2337211db0c2b449dd065dd195ffe76d5fd7116;p=modules%2Fshaper.git diff --git a/src/ConstructionPlugin/ConstructionPlugin_Axis.h b/src/ConstructionPlugin/ConstructionPlugin_Axis.h index 4c51a1d40..afd1e45fc 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Axis.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Axis.h @@ -1,9 +1,11 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D +// Copyright (C) 2014-2016 CEA/DEN, EDF R&D // File: ConstructionPlugin_Axis.h // Created: 12 Dec 2014 // Author: Vitaly Smetannikov +// Modified by CEA (delegation to Alyotech) : 29 Mar 2016 + #ifndef ConstructionPlugin_Axis_H #define ConstructionPlugin_Axis_H @@ -39,6 +41,56 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP static const std::string METHOD_ATTR("CreationMethod"); return METHOD_ATTR; } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_TWO_POINTS() + { + static const std::string METHOD_ATTR("AxisByPointsCase"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_CYLINDRICAL_FACE() + { + static const std::string METHOD_ATTR("AxisByCylindricalFaceCase"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_POINT_AND_DIRECTION() + { + static const std::string METHOD_ATTR("AxisByPointAndDirection"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_DIMENSIONS() + { + static const std::string METHOD_ATTR("AxisByDimensionsCase"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_LINE() + { + static const std::string METHOD_ATTR("by_line"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_PLANE_AND_POINT() + { + static const std::string METHOD_ATTR("by_plane_and_point"); + return METHOD_ATTR; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_BY_TWO_PLANES() + { + static const std::string METHOD_ATTR("by_two_planes"); + return METHOD_ATTR; + } + /// attribute name for first point inline static const std::string& POINT_FIRST() { @@ -57,6 +109,24 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP static const std::string CYLINDRICAL_FACE_ATTR("CylindricalFace"); return CYLINDRICAL_FACE_ATTR; } + /// attribute name for the X dimension + inline static const std::string& DX() + { + static const std::string DX_ATTR("DX"); + return DX_ATTR; + } + /// attribute name for the Y dimension + inline static const std::string& DY() + { + static const std::string DY_ATTR("DY"); + return DY_ATTR; + } + /// attribute name for the Z dimension + inline static const std::string& DZ() + { + static const std::string DZ_ATTR("DZ"); + return DZ_ATTR; + } /// attribute name for X direction inline static const std::string& X_DIRECTION() @@ -79,6 +149,83 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP return ATTR_Z_DIRECTION; } + /// Attribute name for line. + inline static const std::string& LINE() + { + static const std::string ATTR_ID("line"); + return ATTR_ID; + } + + /// Attribute name for plane. + inline static const std::string& PLANE() + { + static const std::string ATTR_ID("plane"); + return ATTR_ID; + } + + /// Attribute name for point. + inline static const std::string& POINT() + { + static const std::string ATTR_ID("point"); + return ATTR_ID; + } + + /// Attribute name for plane 1. + inline static const std::string& PLANE1() + { + static const std::string ATTR_ID("plane1"); + return ATTR_ID; + } + + /// Attribute name for use offset for plane 1. + inline static const std::string& USE_OFFSET1() + { + static const std::string ATTR_ID("use_offset1"); + return ATTR_ID; + } + + /// Attribute name for offset for plane 1. + inline static const std::string& OFFSET1() + { + static const std::string ATTR_ID("offset1"); + return ATTR_ID; + } + + /// Attribute name for reverse offset for plane 1. + inline static const std::string& REVERSE_OFFSET1() + { + static const std::string ATTR_ID("reverse_offset1"); + return ATTR_ID; + } + + /// Attribute name for plane 2. + inline static const std::string& PLANE2() + { + static const std::string ATTR_ID("plane2"); + return ATTR_ID; + } + + /// Attribute name for use offset for plane 2. + inline static const std::string& USE_OFFSET2() + { + static const std::string ATTR_ID("use_offset2"); + return ATTR_ID; + } + + /// Attribute name for offset for plane 2. + inline static const std::string& OFFSET2() + { + static const std::string ATTR_ID("offset2"); + return ATTR_ID; + } + + /// Attribute name for reverse offset for plane 2. + inline static const std::string& REVERSE_OFFSET2() + { + static const std::string ATTR_ID("reverse_offset2"); + return ATTR_ID; + } + /// Returns a minimal length for axis inline static const double MINIMAL_LENGTH() { return 1.e-5; } @@ -101,10 +248,15 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP protected: /// Creates a new axis by two defined points void createAxisByTwoPoints(); + /// Creates a new axis using three dimensions + void createAxisByDimensions(); /// Creates a new axis as copy of cylindrical face axis void createAxisByCylindricalFace(); /// Creates a new axis by point and direction void createAxisByPointAndDirection(); + void createAxisByLine(); + void createAxisByPlaneAndPoint(); + void createAxisByTwoPlanes(); };