X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Placement.h;h=498a771b22b3e339277fc6fd1458308cf7303175;hb=85b662214060cf733b44ac7822e3e4db49e2da4b;hp=bf74f1364ce4c7f56d42f5485a25d6d9edad51c7;hpb=7b9e257dacdb4564754c3bcd0c35817e73a3989c;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Placement.h b/src/FeaturesPlugin/FeaturesPlugin_Placement.h index bf74f1364..498a771b2 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Placement.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Placement.h @@ -10,6 +10,7 @@ #include "FeaturesPlugin.h" #include #include +#include class ModelAPI_ResultBody; class GeomAPI_Shape; @@ -18,9 +19,9 @@ class GeomAPI_Shape; * \ingroup Plugins * \brief Feature for applying of placement operation: relative movement of Solid. * - * Locates the selected attractable_face of the solid in the middle of the selected - * placement_base face. Faces must be planar. Orientation of the placed solid is - * depended on the underlied planes of both faces. + * 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 { @@ -31,17 +32,26 @@ 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_ATTRACT_FACE_ID("placement_attractable_face"); - return MY_ATTRACT_FACE_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() @@ -73,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); };