1 // File: PartSetPlugin_Part.cxx
2 // Created: 27 Mar 2014
3 // Author: Mikhail PONIKAROV
5 #include "PartSetPlugin_Part.h"
6 #include "ModelAPI_Session.h"
7 #include "ModelAPI_Document.h"
8 #include "ModelAPI_Data.h"
9 #include "ModelAPI_AttributeDocRef.h"
10 #include <ModelAPI_ResultPart.h>
14 PartSetPlugin_Part::PartSetPlugin_Part()
18 void PartSetPlugin_Part::initAttributes()
19 { // all is in part result
22 void PartSetPlugin_Part::execute()
24 ResultPartPtr aResult = boost::dynamic_pointer_cast<ModelAPI_ResultPart>(firstResult());
26 aResult = document()->createPart(data());
30 boost::shared_ptr<ModelAPI_AttributeDocRef> aDocRef = aResult->data()->docRef(
31 ModelAPI_ResultPart::DOC_REF());
33 if (!aDocRef->value()) { // create a document if not yet created
34 boost::shared_ptr<ModelAPI_Document> aPartSetDoc =
35 ModelAPI_Session::get()->moduleDocument();
36 aDocRef->setValue(aPartSetDoc->subDocument(data()->name()));
41 boost::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd()
43 return ModelAPI_Session::get()->moduleDocument();