Salome HOME
Define guards are corrected according to the code style
[modules/shaper.git] / src / PartSetPlugin / PartSetPlugin_Duplicate.h
1 // File:        PartSetPlugin_Duplicate.h
2 // Created:     20 May 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef PartSetPlugin_Duplicate_H_
6 #define PartSetPlugin_Duplicate_H_
7
8 #include "PartSetPlugin_Part.h"
9
10 /**\class PartSetPlugin_Duplicate
11  * \ingroup DataModel
12  * \brief Duplicates the active part (not root). Creates a new "part" feature.
13  */
14 class PartSetPlugin_Duplicate: public PartSetPlugin_Part
15 {
16 public:
17   /// the reference to copy: reference to the attribute
18   inline static const std::string& ORIGIN_REF()
19   {
20     static const std::string MY_DUPLICATE_ID("Origin");
21     return MY_DUPLICATE_ID;
22   }
23   /// Makes a new part, copy of active
24   PartSetPlugin_Duplicate();
25
26   /// Request for initialization of data model of the feature: adding all attributes
27   PARTSETPLUGIN_EXPORT virtual void initAttributes();
28
29   /// doesn't call creation of new document, just does nothing if document was not copied
30   PARTSETPLUGIN_EXPORT virtual void execute();
31 };
32
33 #endif