20 #ifndef FEATURESAPI_SCALE_H_
21 #define FEATURESAPI_SCALE_H_
23 #include "FeaturesAPI.h"
25 #include <FeaturesPlugin_Scale.h>
27 #include <ModelHighAPI_Double.h>
28 #include <ModelHighAPI_Interface.h>
29 #include <ModelHighAPI_Macro.h>
47 const std::list<ModelHighAPI_Selection>& theMainObjects,
54 const std::list<ModelHighAPI_Selection>& theMainObjects,
116 const
bool keepSubResults = false);
Interface for Scale feature.
Definition: FeaturesAPI_Scale.h:38
void setCenterPoint(const ModelHighAPI_Selection &theCenterPoint)
Modify center_point attribute of the feature.
Definition: FeaturesAPI_Scale.cpp:75
virtual std::shared_ptr< ModelAPI_AttributeString > creationMethod() const
Creation method.
Definition: FeaturesAPI_Scale.h:78
virtual void dump(ModelHighAPI_Dumper &theDumper) const
Dump wrapped feature.
Definition: FeaturesAPI_Scale.cpp:102
virtual std::shared_ptr< ModelAPI_AttributeDouble > scaleFactor() const
Scale factor.
Definition: FeaturesAPI_Scale.h:78
virtual std::shared_ptr< ModelAPI_AttributeDouble > scaleFactorY() const
Scale factor in Y.
Definition: FeaturesAPI_Scale.h:78
void setMainObjects(const std::list< ModelHighAPI_Selection > &theMainObjects)
Set main objects.
Definition: FeaturesAPI_Scale.cpp:68
virtual ~FeaturesAPI_Scale()
Destructor.
Definition: FeaturesAPI_Scale.cpp:63
FeaturesAPI_Scale(const std::shared_ptr< ModelAPI_Feature > &theFeature)
Constructor without values.
Definition: FeaturesAPI_Scale.cpp:26
void setScaleFactor(const ModelHighAPI_Double &theScaleFactor)
Modify Creation Method and scale_factor attribute of the feature.
Definition: FeaturesAPI_Scale.cpp:82
virtual std::shared_ptr< ModelAPI_AttributeSelection > centerPoint() const
Center point.
Definition: FeaturesAPI_Scale.h:78
virtual std::shared_ptr< ModelAPI_AttributeDouble > scaleFactorX() const
Scale factor in X.
Definition: FeaturesAPI_Scale.h:78
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > mainObjects() const
Main objects.
Definition: FeaturesAPI_Scale.h:78
void setDimensions(const ModelHighAPI_Double &theScaleFactorX, const ModelHighAPI_Double &theScaleFactorY, const ModelHighAPI_Double &theScaleFactorZ)
Modify Creation Method and scale_factor_x, scale_factor_y and scale_factor_z attributes of the featur...
Definition: FeaturesAPI_Scale.cpp:90
virtual std::shared_ptr< ModelAPI_AttributeDouble > scaleFactorZ() const
Scale factor in Z.
Definition: FeaturesAPI_Scale.h:78
static const std::string & CREATION_METHOD()
Attribute name for creation method.
Definition: FeaturesPlugin_Scale.h:42
static const std::string & CENTER_POINT_ID()
Attribute name of center point.
Definition: FeaturesPlugin_Scale.h:70
static const std::string & SCALE_FACTOR_Z_ID()
Attribute name of scale factor in Z.
Definition: FeaturesPlugin_Scale.h:98
static const std::string & ID()
Scale kind.
Definition: FeaturesPlugin_Scale.h:35
static const std::string & OBJECTS_LIST_ID()
Attribute name of referenced objects.
Definition: FeaturesPlugin_Scale.h:63
static const std::string & SCALE_FACTOR_X_ID()
Attribute name of scale factor in X.
Definition: FeaturesPlugin_Scale.h:84
static const std::string & SCALE_FACTOR_Y_ID()
Attribute name of scale factor in Y.
Definition: FeaturesPlugin_Scale.h:91
static const std::string & SCALE_FACTOR_ID()
Attribute name of scale factor.
Definition: FeaturesPlugin_Scale.h:77
Attribute that contains real value with double precision.
Definition: ModelAPI_AttributeDouble.h:34
Attribute that contains list of references to the sub-shapes with possibility to manage them.
Definition: ModelAPI_AttributeSelectionList.h:37
Attribute that contains reference to the sub-shape of some result, the selected shape.
Definition: ModelAPI_AttributeSelection.h:35
API for the attribute that contains std (null terminated) string.
Definition: ModelAPI_AttributeString.h:33
Document for internal data structure of any object storage.
Definition: ModelAPI_Document.h:53
Class for filling ModelAPI_AttributeDouble.
Definition: ModelHighAPI_Double.h:37
Dump engine for the model.
Definition: ModelHighAPI_Dumper.h:81
Base class for feature interfaces.
Definition: ModelHighAPI_Interface.h:46
Class for filling ModelAPI_AttributeSelection.
Definition: ModelHighAPI_Selection.h:49
ScalePtr addScale(const std::shared_ptr< ModelAPI_Document > &thePart, const std::list< ModelHighAPI_Selection > &theMainObjects, const ModelHighAPI_Selection &theCenterPoint, const ModelHighAPI_Double &theScaleFactorX, const ModelHighAPI_Double &theScaleFactorY=ModelHighAPI_Double(0.0), const ModelHighAPI_Double &theScaleFactorZ=ModelHighAPI_Double(0.0), const bool keepSubResults=false)
Create Scale feature.
Definition: FeaturesAPI_Scale.cpp:140