1 // File: PartSetPlugin_Duplicate.h
2 // Created: 20 May 2014
3 // Author: Mikhail PONIKAROV
5 #ifndef PartSetPlugin_Duplicate_H_
6 #define PartSetPlugin_Duplicate_H_
8 #include "PartSetPlugin_Part.h"
10 /**\class PartSetPlugin_Duplicate
12 * \brief Duplicates the active part (not root). Creates a new "part" feature.
14 class PartSetPlugin_Duplicate : public PartSetPlugin_Part
18 inline static const std::string& ID()
20 static const std::string MY_DUPLICATE_KIND("Duplicate");
21 return MY_DUPLICATE_KIND;
24 /// the reference to copy: reference to the attribute
25 inline static const std::string& ORIGIN_REF()
27 static const std::string MY_DUPLICATE_ID("Origin");
28 return MY_DUPLICATE_ID;
30 /// Makes a new part, copy of active
31 PartSetPlugin_Duplicate();
33 /// Request for initialization of data model of the feature: adding all attributes
34 PARTSETPLUGIN_EXPORT virtual void initAttributes();
36 /// doesn't call creation of new document, just does nothing if document was not copied
37 PARTSETPLUGIN_EXPORT virtual void execute();