20 #ifndef FEATURESPLUGIN_MULTITRANSLATION_H_
21 #define FEATURESPLUGIN_MULTITRANSLATION_H_
23 #include <FeaturesPlugin.h>
25 #include <ModelAPI_Feature.h>
38 inline static const std::string&
ID()
40 static const std::string MY_MULTITRANSLATION_ID(
"LinearCopy");
41 return MY_MULTITRANSLATION_ID;
47 static const std::string MY_OBJECTS_LIST_ID(
"main_objects");
48 return MY_OBJECTS_LIST_ID;
54 static const std::string MY_AXIS_FIRST_DIR_ID(
"axis_first_dir");
55 return MY_AXIS_FIRST_DIR_ID;
61 static const std::string MY_STEP_FIRST_DIR_ID(
"step_first_dir");
62 return MY_STEP_FIRST_DIR_ID;
68 static const std::string MY_NB_COPIES_FIRST_DIR_ID(
"nb_first_dir");
69 return MY_NB_COPIES_FIRST_DIR_ID;
75 static const std::string MY_USE_SECOND_DIR_ID(
"use_second_dir");
76 return MY_USE_SECOND_DIR_ID;
82 static const std::string MY_AXIS_SECOND_DIR_ID(
"axis_second_dir");
83 return MY_AXIS_SECOND_DIR_ID;
89 static const std::string MY_STEP_SECOND_DIR_ID(
"step_second_dir");
90 return MY_STEP_SECOND_DIR_ID;
96 static const std::string MY_NB_COPIES_SECOND_DIR_ID(
"nb_second_dir");
97 return MY_NB_COPIES_SECOND_DIR_ID;
101 FEATURESPLUGIN_EXPORT
virtual const std::string&
getKind()
108 FEATURESPLUGIN_EXPORT
virtual void execute();
119 bool paramsAlongDirection(
const int theIndex,
120 std::shared_ptr<GeomAPI_Dir>& theDir,
Feature for movement objects along one or two axes an arbitrary number of times, making a copy every ...
Definition: FeaturesPlugin_MultiTranslation.h:35
virtual FEATURESPLUGIN_EXPORT const std::string & getKind()
Definition: FeaturesPlugin_MultiTranslation.h:101
static const std::string & AXIS_SECOND_DIR_ID()
Attribute name of a second direction.
Definition: FeaturesPlugin_MultiTranslation.h:80
static const std::string & AXIS_FIRST_DIR_ID()
Attribute name of a first direction.
Definition: FeaturesPlugin_MultiTranslation.h:52
static const std::string & OBJECTS_LIST_ID()
Attribute name of referenced objects.
Definition: FeaturesPlugin_MultiTranslation.h:45
static const std::string & STEP_FIRST_DIR_ID()
Attribute name of step for the first direction.
Definition: FeaturesPlugin_MultiTranslation.h:59
FeaturesPlugin_MultiTranslation()
Use plugin manager for features creation.
Definition: FeaturesPlugin_MultiTranslation.cpp:47
static const std::string & NB_COPIES_FIRST_DIR_ID()
Attribute name of number of copies for the first direction.
Definition: FeaturesPlugin_MultiTranslation.h:66
virtual FEATURESPLUGIN_EXPORT void initAttributes()
Request for initialization of data model of the feature: adding all attributes.
Definition: FeaturesPlugin_MultiTranslation.cpp:52
static const std::string & NB_COPIES_SECOND_DIR_ID()
Attribute name of number of copies for the second direction.
Definition: FeaturesPlugin_MultiTranslation.h:94
static const std::string & STEP_SECOND_DIR_ID()
Attribute name of step for the second direction.
Definition: FeaturesPlugin_MultiTranslation.h:87
virtual FEATURESPLUGIN_EXPORT void execute()
Performs the algorithm and stores results it in the data structure.
Definition: FeaturesPlugin_MultiTranslation.cpp:82
static const std::string & ID()
Multi-translation kind.
Definition: FeaturesPlugin_MultiTranslation.h:38
static const std::string & USE_SECOND_DIR_ID()
Attribute name for use second dir.
Definition: FeaturesPlugin_MultiTranslation.h:73
3D direction defined by three normalized coordinates
Definition: GeomAPI_Dir.h:34
Feature function that represents the particular functionality of this operation.
Definition: ModelAPI_Feature.h:41