X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Placement.h;h=498a771b22b3e339277fc6fd1458308cf7303175;hb=85b662214060cf733b44ac7822e3e4db49e2da4b;hp=3cfd358874a21a7d361df35dbe086aae70c3206b;hpb=7bf19255421b34594c7b0a76d0ce28166d0ce895;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Placement.h b/src/FeaturesPlugin/FeaturesPlugin_Placement.h index 3cfd35887..498a771b2 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Placement.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Placement.h @@ -10,10 +10,19 @@ #include "FeaturesPlugin.h" #include #include +#include class ModelAPI_ResultBody; class GeomAPI_Shape; +/**\class FeaturesPlugin_Placement + * \ingroup Plugins + * \brief Feature for applying of placement operation: relative movement of Solid. + * + * Locates the selected placement_attractable_object (face, edge, vertex) of the solid into + * the selected placement_base_object. Faces must be planar, edges must be linear. + * Orientation of the placed solid depends on the underlied planes of both faces. + */ class FeaturesPlugin_Placement : public ModelAPI_Feature { public: @@ -23,17 +32,38 @@ class FeaturesPlugin_Placement : public ModelAPI_Feature static const std::string MY_PLACEMENT_ID("Placement"); return MY_PLACEMENT_ID; } - /// attribute name of referenced face - inline static const std::string& BASE_FACE_ID() + + /// attribute name of references sketch entities list, it should contain a sketch result or + /// a pair a sketch result to sketch face + inline static const std::string& OBJECTS_LIST_ID() + { + static const std::string MY_OBJECTS_LIST_ID("placement_objects_list"); + return MY_OBJECTS_LIST_ID; + } + + /// attribute name of referenced object + inline static const std::string& START_SHAPE_ID() { - static const std::string MY_BASE_FACE_ID("placement_base_face"); - return MY_BASE_FACE_ID; + static const std::string MY_START_SHAPE_ID("placement_start_shape"); + return MY_START_SHAPE_ID; } /// attribute name of attractable face - inline static const std::string& ATTRACT_FACE_ID() + inline static const std::string& END_SHAPE_ID() + { + static const std::string MY_END_SHAPE_ID("placement_end_shape"); + return MY_END_SHAPE_ID; + } + /// attribute name of flag of reverse direction + inline static const std::string& REVERSE_ID() + { + static const std::string MY_REVERSE_ID("placement_reverse_direction"); + return MY_REVERSE_ID; + } + /// attribute name of flag of centering position + inline static const std::string& CENTERING_ID() { - static const std::string MY_ATTRACT_FACE_ID("placement_attractable_face"); - return MY_ATTRACT_FACE_ID; + static const std::string MY_CENTERING_ID("placement_centering"); + return MY_CENTERING_ID; } /// Returns the kind of a feature @@ -53,7 +83,7 @@ class FeaturesPlugin_Placement : public ModelAPI_Feature FeaturesPlugin_Placement(); private: /// Load Naming data structure of the feature to the document - void LoadNamingDS(GeomAlgoAPI_Placement& theFeature, + void LoadNamingDS(GeomAlgoAPI_Transform& theTransformAlgo, std::shared_ptr theResultBody, std::shared_ptr theSlaveObject); };