20 #ifndef FeaturesAPI_RevolutionBoolean_H_
21 #define FeaturesAPI_RevolutionBoolean_H_
23 #include "FeaturesAPI.h"
25 #include <FeaturesPlugin_CompositeBoolean.h>
26 #include <FeaturesPlugin_RevolutionCut.h>
27 #include <FeaturesPlugin_RevolutionFuse.h>
29 #include <ModelHighAPI_Interface.h>
30 #include <ModelHighAPI_Macro.h>
113 void execIfBaseNotEmpty();
124 virtual std::string getID() {
return ID(); }
133 const std::list<ModelHighAPI_Selection>& theBaseObjects,
135 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
140 const std::list<ModelHighAPI_Selection>& theBaseObjects,
143 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
148 const std::list<ModelHighAPI_Selection>& theBaseObjects,
152 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
157 const std::list<ModelHighAPI_Selection>& theBaseObjects,
163 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
167 typedef std::shared_ptr<FeaturesAPI_RevolutionCut> RevolutionCutPtr;
172 RevolutionCutPtr
addRevolutionCut(
const std::shared_ptr<ModelAPI_Document>& thePart,
173 const std::list<ModelHighAPI_Selection>& theBaseObjects,
175 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
180 RevolutionCutPtr
addRevolutionCut(
const std::shared_ptr<ModelAPI_Document>& thePart,
181 const std::list<ModelHighAPI_Selection>& theBaseObjects,
184 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
189 RevolutionCutPtr
addRevolutionCut(
const std::shared_ptr<ModelAPI_Document>& thePart,
190 const std::list<ModelHighAPI_Selection>& theBaseObjects,
194 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
199 RevolutionCutPtr
addRevolutionCut(
const std::shared_ptr<ModelAPI_Document>& thePart,
200 const std::list<ModelHighAPI_Selection>& theBaseObjects,
206 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
216 virtual std::string getID() {
return ID(); }
225 const std::list<ModelHighAPI_Selection>& theBaseObjects,
227 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
232 const std::list<ModelHighAPI_Selection>& theBaseObjects,
235 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
240 const std::list<ModelHighAPI_Selection>& theBaseObjects,
244 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
249 const std::list<ModelHighAPI_Selection>& theBaseObjects,
255 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
259 typedef std::shared_ptr<FeaturesAPI_RevolutionFuse> RevolutionFusePtr;
264 RevolutionFusePtr
addRevolutionFuse(
const std::shared_ptr<ModelAPI_Document>& thePart,
265 const std::list<ModelHighAPI_Selection>& theBaseObjects,
267 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
272 RevolutionFusePtr
addRevolutionFuse(
const std::shared_ptr<ModelAPI_Document>& thePart,
273 const std::list<ModelHighAPI_Selection>& theBaseObjects,
276 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
281 RevolutionFusePtr
addRevolutionFuse(
const std::shared_ptr<ModelAPI_Document>& thePart,
282 const std::list<ModelHighAPI_Selection>& theBaseObjects,
286 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
291 RevolutionFusePtr
addRevolutionFuse(
const std::shared_ptr<ModelAPI_Document>& thePart,
292 const std::list<ModelHighAPI_Selection>& theBaseObjects,
298 const std::list<ModelHighAPI_Selection>& theBooleanObjects);
Interface for RevolutionBoolean feature.
Definition: FeaturesAPI_RevolutionBoolean.h:41
void setAngles(const ModelHighAPI_Double &theToAngle, const ModelHighAPI_Double &theFromAngle)
Modify CreationMethod, to_angle, from_angle attributes of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:78
virtual std::shared_ptr< ModelAPI_AttributeSelection > fromObject() const
From object.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > booleanObjects() const
Boolean objects.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual std::shared_ptr< ModelAPI_AttributeDouble > toAngle() const
To angle.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual std::shared_ptr< ModelAPI_AttributeReference > sketch() const
Sketch launcher.
Definition: FeaturesAPI_RevolutionBoolean.h:69
void setAngle(const ModelHighAPI_Double &theAngle)
Modify creation_method, to_angle, from_angle attributes of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:89
void setBooleanObjects(const std::list< ModelHighAPI_Selection > &theBooleanObjects)
Modiyfy main_objects attribute of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:110
virtual std::shared_ptr< ModelAPI_AttributeDouble > toOffset() const
To offset.
Definition: FeaturesAPI_RevolutionBoolean.h:69
void setAxis(const ModelHighAPI_Selection &theAxis)
Modify axis_object attribute of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:70
void setNestedSketch(const ModelHighAPI_Reference &theSketch)
Modify base attribute of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:40
virtual std::shared_ptr< ModelAPI_AttributeDouble > fromOffset() const
From offset.
Definition: FeaturesAPI_RevolutionBoolean.h:69
void setBase(const std::list< ModelHighAPI_Selection > &theBaseObjects)
Modify base attribute of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:60
virtual std::shared_ptr< ModelAPI_AttributeDouble > fromAngle() const
From angle.
Definition: FeaturesAPI_RevolutionBoolean.h:69
void setPlanesAndOffsets(const ModelHighAPI_Selection &theToObject, const ModelHighAPI_Double &theToOffset, const ModelHighAPI_Selection &theFromObject, const ModelHighAPI_Double &theFromOffset)
Modify creation_method, to_object, to_offset, from_object, from_offset attributes of the feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:95
virtual ~FeaturesAPI_RevolutionBoolean()
Destructor.
Definition: FeaturesAPI_RevolutionBoolean.cpp:35
virtual std::shared_ptr< ModelAPI_AttributeString > creationMethod() const
Creation method.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual std::shared_ptr< ModelAPI_AttributeSelection > toObject() const
To object.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual void dump(ModelHighAPI_Dumper &theDumper) const
Dump wrapped feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:119
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > baseObjects() const
Base objects.
Definition: FeaturesAPI_RevolutionBoolean.h:69
virtual std::shared_ptr< ModelAPI_AttributeSelection > axis() const
Axis.
Definition: FeaturesAPI_RevolutionBoolean.h:69
Interface for RevolutionCut feature.
Definition: FeaturesAPI_RevolutionBoolean.h:120
Interface for RevolutionFuse feature.
Definition: FeaturesAPI_RevolutionBoolean.h:212
static const std::string & OBJECTS_ID()
Attribute name of main objects.
Definition: FeaturesPlugin_CompositeBoolean.h:44
static const std::string & BASE_OBJECTS_ID()
Attribute name of base objects.
Definition: FeaturesPlugin_CompositeSketch.h:43
static const std::string & SKETCH_ID()
Attribute name of sketch feature.
Definition: FeaturesPlugin_CompositeSketch.h:36
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_RevolutionCut.h:36
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_RevolutionFuse.h:36
static const std::string & TO_ANGLE_ID()
Attribute name of revolution to angle.
Definition: FeaturesPlugin_Revolution.h:80
static const std::string & CREATION_METHOD()
Attribute name for creation method.
Definition: FeaturesPlugin_Revolution.h:45
static const std::string & TO_OBJECT_ID()
Attribute name of an object to which the revolution grows.
Definition: FeaturesPlugin_Revolution.h:94
static const std::string & FROM_ANGLE_ID()
Attribute name of revolution from angle.
Definition: FeaturesPlugin_Revolution.h:87
static const std::string & FROM_OBJECT_ID()
Attribute name of an object from which the revolution grows.
Definition: FeaturesPlugin_Revolution.h:108
static const std::string & TO_OFFSET_ID()
Attribute name of revolution offset.
Definition: FeaturesPlugin_Revolution.h:101
static const std::string & FROM_OFFSET_ID()
Attribute name of revolution offset.
Definition: FeaturesPlugin_Revolution.h:115
static const std::string & AXIS_OBJECT_ID()
Attribute name of an revolution axis.
Definition: FeaturesPlugin_Revolution.h:73
Attribute that contains real value with double precision.
Definition: ModelAPI_AttributeDouble.h:34
Attribute that contains reference to feature (located in the same document).
Definition: ModelAPI_AttributeReference.h:32
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
Feature function that represents the particular functionality of this operation.
Definition: ModelAPI_Feature.h:41
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_AttributeReference.
Definition: ModelHighAPI_Reference.h:41
Class for filling ModelAPI_AttributeSelection.
Definition: ModelHighAPI_Selection.h:49
RevolutionCutPtr addRevolutionCut(const std::shared_ptr< ModelAPI_Document > &thePart, const std::list< ModelHighAPI_Selection > &theBaseObjects, const ModelHighAPI_Selection &theAxis, const std::list< ModelHighAPI_Selection > &theBooleanObjects)
Create RevolutionCut feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:268
RevolutionFusePtr addRevolutionFuse(const std::shared_ptr< ModelAPI_Document > &thePart, const std::list< ModelHighAPI_Selection > &theBaseObjects, const ModelHighAPI_Selection &theAxis, const std::list< ModelHighAPI_Selection > &theBooleanObjects)
Create RevolutionFuse feature.
Definition: FeaturesAPI_RevolutionBoolean.cpp:421