FeaturesPlugin_CompositeBoolean.h
FeaturesPlugin_ExtrusionBoolean.h
FeaturesPlugin_ExtrusionCut.h
+ FeaturesPlugin_ExtrusionFuse.h
)
SET(PROJECT_SOURCES
plugin-Features.xml
extrusion_widget.xml
extrusioncut_widget.xml
+ extrusionfuse_widget.xml
revolution_widget.xml
rotation_widget.xml
movement_widget.xml
--- /dev/null
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File: FeaturesPlugin_ExtrusionFuse.h
+// Created: 11 June 2015
+// Author: Dmitry Bobylev
+
+#ifndef FeaturesPlugin_ExtrusionFuse_H_
+#define FeaturesPlugin_ExtrusionFuse_H_
+
+#include <FeaturesPlugin_ExtrusionBoolean.h>
+
+/** \class FeaturesPlugin_ExtrusionFuse
+ * \ingroup Plugins
+ */
+class FeaturesPlugin_ExtrusionFuse : public FeaturesPlugin_ExtrusionBoolean
+{
+ public:
+ /// Feature kind.
+ inline static const std::string& ID()
+ {
+ static const std::string MY_REVOLUTION_ID("ExtrusionFuse");
+ return MY_REVOLUTION_ID;
+ }
+
+ /// \return the kind of a feature
+ FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
+ {
+ static std::string MY_KIND = FeaturesPlugin_ExtrusionFuse::ID();
+ return MY_KIND;
+ }
+
+ /// Use plugin manager for features creation.
+ FeaturesPlugin_ExtrusionFuse()
+ {
+ myBooleanOperationType = GeomAlgoAPI_Boolean::BOOL_FUSE;
+ }
+};
+
+#endif
#include <FeaturesPlugin_Boolean.h>
#include <FeaturesPlugin_Extrusion.h>
#include <FeaturesPlugin_ExtrusionCut.h>
+#include <FeaturesPlugin_ExtrusionFuse.h>
#include <FeaturesPlugin_Group.h>
#include <FeaturesPlugin_Movement.h>
#include <FeaturesPlugin_Placement.h>
return FeaturePtr(new FeaturesPlugin_Placement);
} else if (theFeatureID == FeaturesPlugin_ExtrusionCut::ID()) {
return FeaturePtr(new FeaturesPlugin_ExtrusionCut);
+ } else if (theFeatureID == FeaturesPlugin_ExtrusionFuse::ID()) {
+ return FeaturePtr(new FeaturesPlugin_ExtrusionFuse);
}
// feature of such kind is not found
return FeaturePtr();
--- /dev/null
+<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+<source>
+ <groupbox title="Extrusion">
+ <sketch_launcher id="sketch"
+ label="Sketch"
+ icon=":icons/sketch.png"
+ tooltip="Create or edit a sketch">/>
+ </sketch_launcher>
+ <groupbox title="From">
+ <shape_selector id="from_object"
+ icon=":icons/plane.png"
+ label="Plane face"
+ tooltip="Select a planar face"
+ shape_types="face"
+ default="<sketch>">
+ <validator id="GeomValidators_Face" parameters="plane"/>
+ </shape_selector>
+ <doublevalue id="from_size" label="Size"
+ min="0" step="1.0" default="0"
+ icon=":icons/dimension_down.png"
+ tooltip="Height">
+ </doublevalue>
+ </groupbox>
+ <groupbox title="To">
+ <shape_selector id="to_object"
+ icon=":icons/plane_inverted.png"
+ label="Plane face"
+ tooltip="Select a planar face"
+ shape_types="face"
+ default="<sketch>">
+ <validator id="GeomValidators_Face" parameters="plane"/>
+ </shape_selector>
+ <doublevalue id="to_size"
+ label="Size" min="0" step="1.0" default="0"
+ icon=":icons/dimension_up.png"
+ tooltip="Height">
+ </doublevalue>
+ </groupbox>
+ </groupbox>
+ <multi_selector id="boolean_objects"
+ label="Fuse with:"
+ icon=":icons/cut_shape.png"
+ tooltip="Objects to fuse"
+ type_choice="Solids"
+ concealment="true">
+ </multi_selector>
+</source>
<feature id="ExtrusionCut" title="ExtrusionCut" tooltip="" icon=":icons/extrusion_cut.png">
<source path="extrusioncut_widget.xml"/>
</feature>
+ <feature id="ExtrusionFuse" title="ExtrusionFuse" tooltip="" icon=":icons/extrusion_fuse.png">
+ <source path="extrusionfuse_widget.xml"/>
+ </feature>
</group>
<group id="Collections">
<feature id="Group"