+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
// File: FeaturesPlugin_Boolean.h
// Created: 02 Sept 2014
// Author: Vitaly SMETANNIKOV
#include "FeaturesPlugin.h"
#include <ModelAPI_Feature.h>
#include <GeomAPI_Shape.h>
+#include <GeomAlgoAPI_Boolean.h>
class FeaturesPlugin_Boolean : public ModelAPI_Feature
{
/// Extrusion kind
inline static const std::string& ID()
{
- static const std::string MY_CUT_ID("Boolean");
- return MY_CUT_ID;
+ static const std::string MY_ID("Boolean");
+ return MY_ID;
}
/// attribute name of referenced object
inline static const std::string& OBJECT_ID()
/// attribute name of operation type
inline static const std::string& TYPE_ID()
{
- static const std::string MY_TOOL_ID("bool_type");
- return MY_TOOL_ID;
+ static const std::string MY_TYPE_ID("bool_type");
+ return MY_TYPE_ID;
}
+ enum {
+ BOOL_CUT,
+ BOOL_FUSE,
+ BOOL_COMMON
+ };
/// Returns the kind of a feature
FeaturesPlugin_Boolean();
private:
- boost::shared_ptr<GeomAPI_Shape> getShape(const std::string& theAttrName);
-
+ 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);
};
#endif