1 // Name : PartSetAPI_Part.h
5 // 16/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_PARTSETAPI_PARTSETAPI_PART_H_
8 #define SRC_PARTSETAPI_PARTSETAPI_PART_H_
10 //--------------------------------------------------------------------------------------
11 #include "PartSetAPI.h"
13 #include <PartSetPlugin_Part.h>
15 #include <ModelHighAPI_Interface.h>
16 #include <ModelHighAPI_Macro.h>
17 //--------------------------------------------------------------------------------------
18 class ModelAPI_Document;
19 //--------------------------------------------------------------------------------------
20 /**\class PartSetAPI_Part
22 * \brief Interface for Part feature
24 class PartSetAPI_Part : public ModelHighAPI_Interface
27 /// Constructor without values
29 explicit PartSetAPI_Part(const std::shared_ptr<ModelAPI_Feature> & theFeature);
32 virtual ~PartSetAPI_Part();
34 INTERFACE_0(PartSetPlugin_Part::ID())
38 std::shared_ptr<ModelAPI_Document> document() const;
40 /// Dump wrapped feature
42 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
45 //! Pointer on Part object
46 typedef std::shared_ptr<PartSetAPI_Part> PartPtr;
48 /**\ingroup CPPHighAPI
49 * \brief Create Part feature
52 PartPtr addPart(const std::shared_ptr<ModelAPI_Document> & thePartSet);
54 /**\ingroup CPPHighAPI
55 * \brief Duplicate Part feature
58 PartPtr duplicatePart(const std::shared_ptr<ModelAPI_Document> & thePart);
60 /**\ingroup CPPHighAPI
61 * \brief Remove Part feature
64 void removePart(const std::shared_ptr<ModelAPI_Document> & thePart);
66 //--------------------------------------------------------------------------------------
67 //--------------------------------------------------------------------------------------
68 #endif /* SRC_PARTSETAPI_PARTSETAPI_PART_H_ */