#include "FeaturesPlugin.h"
#include <ModelAPI_Feature.h>
-#include <GeomAPI_Shape.h>
+
#include <GeomAlgoAPI_Boolean.h>
+class GeomAlgoAPI_MakeShapeList;
+
/**\class FeaturesPlugin_Boolean
* \ingroup Plugins
* \brief Feature for applying of Boolean operations on Solids.
return MY_ID;
}
/// attribute name of referenced object
+ inline static const std::string& OBJECT_LIST_ID()
+ {
+ static const std::string MY_OBJECT_LIST_ID("main_objects");
+ return MY_OBJECT_LIST_ID;
+ }
+ /// attribute name of referenced object
inline static const std::string& OBJECT_ID()
{
static const std::string MY_OBJECT_ID("main_object");
static const std::string MY_TOOL_ID("tool_object");
return MY_TOOL_ID;
}
+ /// attribute name of tool object
+ inline static const std::string& TOOL_LIST_ID()
+ {
+ static const std::string MY_TOOL_LIST_ID("tool_objects");
+ return MY_TOOL_LIST_ID;
+ }
/// attribute name of operation type
inline static const std::string& TYPE_ID()
{
}
enum {
- BOOL_CUT,
- BOOL_FUSE,
+ BOOL_CUT,
+ BOOL_FUSE,
BOOL_COMMON
};
private:
std::shared_ptr<GeomAPI_Shape> getShape(const std::string& theAttrName);
-
+
/// Load Naming data structure of the feature to the document
- void LoadNamingDS(GeomAlgoAPI_Boolean* theFeature,
- std::shared_ptr<ModelAPI_ResultBody> theResultBody,
- std::shared_ptr<GeomAPI_Shape> theObject,
- std::shared_ptr<GeomAPI_Shape> theTool,
- int theType);
+ void loadNamingDS(std::shared_ptr<ModelAPI_ResultBody> theResultBody,
+ const std::shared_ptr<GeomAPI_Shape> theBaseShape,
+ const ListOfShape& theTools,
+ const std::shared_ptr<GeomAPI_Shape> theResultShape,
+ GeomAlgoAPI_MakeShape& theMakeShape,
+ GeomAPI_DataMapOfShapeShape& theMapOfShapes);
};
#endif