20 #ifndef FeaturesPlugin_Pipe_H_
21 #define FeaturesPlugin_Pipe_H_
23 #include "FeaturesPlugin.h"
25 #include <GeomAlgoAPI_Pipe.h>
27 #include <ModelAPI_Feature.h>
28 #include <ModelAPI_ResultBody.h>
43 inline static const std::string&
ID()
45 static const std::string MY_FEATURE_ID(
"Pipe");
52 static const std::string MY_CREATION_METHOD(
"creation_method");
53 return MY_CREATION_METHOD;
59 static const std::string MY_CREATION_METHOD(
"simple");
60 return MY_CREATION_METHOD;
66 static const std::string MY_CREATION_METHOD(
"binormal");
67 return MY_CREATION_METHOD;
73 static const std::string MY_CREATION_METHOD(
"locations");
74 return MY_CREATION_METHOD;
80 static const std::string MY_BASE_OBJECTS_ID(
"base_objects");
81 return MY_BASE_OBJECTS_ID;
87 static const std::string MY_PATH_OBJECT_ID(
"path_object");
88 return MY_PATH_OBJECT_ID;
94 static const std::string MY_BINORMAL_ID(
"binormal");
95 return MY_BINORMAL_ID;
101 static const std::string MY_LOCATIONS_ID(
"locations_objects");
102 return MY_LOCATIONS_ID;
106 FEATURESPLUGIN_EXPORT
virtual const std::string&
getKind()
113 FEATURESPLUGIN_EXPORT
virtual void execute();
122 void storeResult(
const std::shared_ptr<GeomAPI_Shape> theBaseShape,
123 const std::shared_ptr<GeomAPI_Shape> thePathShape,
124 const std::shared_ptr<GeomAlgoAPI_Pipe> thePipeAlgo,
125 const int theResultIndex = 0);
127 void storeResult(
const ListOfShape& theBaseShapes,
128 const std::shared_ptr<GeomAPI_Shape> thePathShape,
129 const std::shared_ptr<GeomAlgoAPI_Pipe> thePipeAlgo,
130 const int theResultIndex = 0);
132 void storeShapes(ResultBodyPtr theResultBody,
134 const ListOfShape& theShapes,
135 const std::string theName);
Feature for creation of extrusion along a path.
Definition: FeaturesPlugin_Pipe.h:40
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_Pipe.h:43
static const std::string & LOCATIONS_ID()
Attribute name of locations.
Definition: FeaturesPlugin_Pipe.h:99
virtual const std::string & getKind()
Definition: FeaturesPlugin_Pipe.h:106
static const std::string & CREATION_METHOD_BINORMAL()
Attribute name for creation method.
Definition: FeaturesPlugin_Pipe.h:64
FeaturesPlugin_Pipe()
Use plugin manager for features creation.
Definition: FeaturesPlugin_Pipe.cpp:47
static const std::string & BASE_OBJECTS_ID()
Attribute name of base objects.
Definition: FeaturesPlugin_Pipe.h:78
static const std::string & BINORMAL_ID()
Attribute name of Bi-Normal.
Definition: FeaturesPlugin_Pipe.h:92
static const std::string & CREATION_METHOD()
Attribute name for creation method.
Definition: FeaturesPlugin_Pipe.h:50
virtual void execute()
Performs the algorithm and stores results it in the data structure.
Definition: FeaturesPlugin_Pipe.cpp:66
static const std::string & PATH_OBJECT_ID()
Attribute name of path object.
Definition: FeaturesPlugin_Pipe.h:85
static const std::string & CREATION_METHOD_LOCATIONS()
Attribute name for creation method.
Definition: FeaturesPlugin_Pipe.h:71
static const std::string & CREATION_METHOD_SIMPLE()
Attribute name for creation method.
Definition: FeaturesPlugin_Pipe.h:57
virtual void initAttributes()
Request for initialization of data model of the feature: adding all attributes.
Definition: FeaturesPlugin_Pipe.cpp:52
ShapeType
Shape type enum.
Definition: GeomAPI_Shape.h:46
Feature function that represents the particular functionality of this operation.
Definition: ModelAPI_Feature.h:39