]> SALOME platform Git repositories - modules/shaper.git/blob - src/FeaturesAPI/FeaturesAPI_Partition.cpp
Salome HOME
Added CPP High API for FeaturesPlugin_Partition
[modules/shaper.git] / src / FeaturesAPI / FeaturesAPI_Partition.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 // File:        FeaturesAPI_Partition.cpp
4 // Created:     09 June 2016
5 // Author:      Dmitry Bobylev
6
7 #include "FeaturesAPI_Partition.h"
8
9 #include <ModelHighAPI_Tools.h>
10
11 //==================================================================================================
12 FeaturesAPI_Partition::FeaturesAPI_Partition(const std::shared_ptr<ModelAPI_Feature>& theFeature)
13 : ModelHighAPI_Interface(theFeature)
14 {
15   initialize();
16 }
17
18 //==================================================================================================
19 FeaturesAPI_Partition::FeaturesAPI_Partition(const std::shared_ptr<ModelAPI_Feature>& theFeature,
20                                              const std::list<ModelHighAPI_Selection>& theBaseObjects)
21 : ModelHighAPI_Interface(theFeature)
22 {
23   if(initialize()) {
24     setBase(theBaseObjects);
25   }
26 }
27
28 //==================================================================================================
29 FeaturesAPI_Partition::~FeaturesAPI_Partition()
30 {
31
32 }
33
34 //==================================================================================================
35 void FeaturesAPI_Partition::setBase(const std::list<ModelHighAPI_Selection>& theBaseObjects)
36 {
37   fillAttribute(theBaseObjects, mybaseObjects);
38
39   execute();
40 }
41
42 // TODO(spo): make add* as static functions of the class
43 //==================================================================================================
44 PartitionPtr addPartition(const std::shared_ptr<ModelAPI_Document>& thePart,
45                           const std::list<ModelHighAPI_Selection>& theBaseObjects)
46 {
47   std::shared_ptr<ModelAPI_Feature> aFeature = thePart->addFeature(FeaturesAPI_Partition::ID());
48   return PartitionPtr(new FeaturesAPI_Partition(aFeature, theBaseObjects));
49 }