20 #ifndef FeaturesAPI_Fillet_H_
21 #define FeaturesAPI_Fillet_H_
23 #include "FeaturesAPI.h"
25 #include <FeaturesPlugin_Fillet.h>
26 #include <FeaturesPlugin_Fillet1D.h>
28 #include <ModelHighAPI_Double.h>
29 #include <ModelHighAPI_Interface.h>
30 #include <ModelHighAPI_Macro.h>
43 virtual std::shared_ptr<ModelAPI_AttributeDouble> radius()
const = 0;
46 virtual void setBase(
const std::list<ModelHighAPI_Selection>& theBaseObjects) = 0;
56 typedef std::shared_ptr<FeaturesAPI_Fillet> FilletPtr;
72 const std::list<ModelHighAPI_Selection>& theBaseObjects,
95 virtual void setBase(
const std::list<ModelHighAPI_Selection>& theBaseObjects);
106 void execIfBaseNotEmpty();
123 const std::list<ModelHighAPI_Selection>& theBaseObjects,
129 const std::list<ModelHighAPI_Selection>& theBaseObjects,
156 virtual void setBase(
const std::list<ModelHighAPI_Selection>& theBaseObjects);
171 void execIfBaseNotEmpty();
178 FilletPtr
addFillet(
const std::shared_ptr<ModelAPI_Document>& thePart,
179 const std::list<ModelHighAPI_Selection>& theBaseObjects,
182 const bool keepSubResults =
false);
Interface for Fillet1D feature - fillet on vertices of a wire.
Definition: FeaturesAPI_Fillet.h:63
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > baseWires() const
Base objects.
Definition: FeaturesAPI_Fillet.h:91
virtual void dump(ModelHighAPI_Dumper &theDumper) const
Dump wrapped feature.
Definition: FeaturesAPI_Fillet.cpp:95
virtual std::shared_ptr< ModelAPI_AttributeString > creationMethod() const
Creation method.
Definition: FeaturesAPI_Fillet.h:91
FeaturesAPI_Fillet1D(const std::shared_ptr< ModelAPI_Feature > &theFeature)
Constructor without values.
Definition: FeaturesAPI_Fillet.cpp:43
virtual std::shared_ptr< ModelAPI_AttributeDouble > radius() const
Value of the fixed radius fillet.
Definition: FeaturesAPI_Fillet.h:91
virtual void setRadius(const ModelHighAPI_Double &theRadius)
Modify fillet to have fixed radius.
Definition: FeaturesAPI_Fillet.cpp:83
virtual void setBase(const std::list< ModelHighAPI_Selection > &theBaseObjects)
Modify base objects of the fillet.
Definition: FeaturesAPI_Fillet.cpp:66
virtual ~FeaturesAPI_Fillet1D()
Destructor.
Definition: FeaturesAPI_Fillet.cpp:62
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > baseVertices() const
Base objects.
Definition: FeaturesAPI_Fillet.h:91
Interface for Fillet feature - fillet edges on a solid.
Definition: FeaturesAPI_Fillet.h:114
virtual void setRadius(const ModelHighAPI_Double &theRadius)
Modify fillet to have fixed radius.
Definition: FeaturesAPI_Fillet.cpp:167
virtual std::shared_ptr< ModelAPI_AttributeSelectionList > baseObjects() const
Base objects.
Definition: FeaturesAPI_Fillet.h:152
virtual void setBase(const std::list< ModelHighAPI_Selection > &theBaseObjects)
Modify base objects of the fillet.
Definition: FeaturesAPI_Fillet.cpp:159
virtual ~FeaturesAPI_Fillet2D()
Destructor.
Definition: FeaturesAPI_Fillet.cpp:155
virtual std::shared_ptr< ModelAPI_AttributeDouble > radius() const
Value of the fixed radius fillet.
Definition: FeaturesAPI_Fillet.h:152
virtual std::shared_ptr< ModelAPI_AttributeString > creationMethod() const
Creation method.
Definition: FeaturesAPI_Fillet.h:152
virtual std::shared_ptr< ModelAPI_AttributeDouble > startRadius() const
Start radius of the varying radius fillet.
Definition: FeaturesAPI_Fillet.h:152
virtual std::shared_ptr< ModelAPI_AttributeDouble > endRadius() const
End radius of the varying radius fillet.
Definition: FeaturesAPI_Fillet.h:152
virtual void dump(ModelHighAPI_Dumper &theDumper) const
Dump wrapped feature.
Definition: FeaturesAPI_Fillet.cpp:185
FeaturesAPI_Fillet2D(const std::shared_ptr< ModelAPI_Feature > &theFeature)
Constructor without values.
Definition: FeaturesAPI_Fillet.cpp:119
Interface for Fillet feature.
Definition: FeaturesAPI_Fillet.h:38
virtual void setRadius(const ModelHighAPI_Double &theRadius)=0
Modify fillet to have fixed radius.
virtual void setBase(const std::list< ModelHighAPI_Selection > &theBaseObjects)=0
Modify base objects of the fillet.
virtual ~FeaturesAPI_Fillet()
Destructor.
Definition: FeaturesAPI_Fillet.h:41
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_Fillet1D.h:39
static const std::string & RADIUS_ID()
Attribute name of radius.
Definition: FeaturesPlugin_Fillet1D.h:85
static const std::string & WIRE_LIST_ID()
Attribute name of selected wires.
Definition: FeaturesPlugin_Fillet1D.h:71
static const std::string & VERTEX_LIST_ID()
Attribute name of selected vertices.
Definition: FeaturesPlugin_Fillet1D.h:78
static const std::string & OBJECT_LIST_ID()
Attribute name of main objects.
Definition: FeaturesPlugin_Fillet.h:65
static const std::string & RADIUS_ID()
Attribute name of a radius for fillet with fixed radius.
Definition: FeaturesPlugin_Fillet.h:86
static const std::string & END_RADIUS_ID()
Attribute name of end radius.
Definition: FeaturesPlugin_Fillet.h:79
static const std::string & START_RADIUS_ID()
Attribute name of start radius.
Definition: FeaturesPlugin_Fillet.h:72
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_Fillet.h:33
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
API for the attribute that contains std (null terminated) string.
Definition: ModelAPI_AttributeString.h:33
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
FilletPtr addFillet(const std::shared_ptr< ModelAPI_Document > &thePart, const std::list< ModelHighAPI_Selection > &theBaseObjects, const ModelHighAPI_Double &theRadius1, const ModelHighAPI_Double &theRadius2=ModelHighAPI_Double(-1.0), const bool keepSubResults=false)
Create Fillet feature.
Definition: FeaturesAPI_Fillet.cpp:221