1 // File: PartSetPlugin_Part.cxx
2 // Created: 27 Mar 2014
3 // Author: Mikhail PONIKAROV
5 #include "PartSetPlugin_Part.h"
6 #include "ModelAPI_PluginManager.h"
7 #include "ModelAPI_Document.h"
8 #include "ModelAPI_Data.h"
9 #include "ModelAPI_AttributeDocRef.h"
13 PartSetPlugin_Part::PartSetPlugin_Part()
17 void PartSetPlugin_Part::initAttributes()
19 data()->addAttribute(PartSetPlugin_Part::DOC_REF(), ModelAPI_AttributeDocRef::type());
22 void PartSetPlugin_Part::execute()
24 boost::shared_ptr<ModelAPI_AttributeDocRef> aDocRef = data()->docRef(PartSetPlugin_Part::DOC_REF());
25 if (!aDocRef->value()) { // create a document if not yet created
26 boost::shared_ptr<ModelAPI_Document> aPartSetDoc =
27 ModelAPI_PluginManager::get()->rootDocument();
28 aDocRef->setValue(aPartSetDoc->subDocument(data()->getName()));
32 boost::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd() {
33 return ModelAPI_PluginManager::get()->rootDocument();