+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: PartSetPlugin_Part.cxx
// Created: 27 Mar 2014
// Author: Mikhail PONIKAROV
#include "PartSetPlugin_Part.h"
-#include "ModelAPI_PluginManager.h"
+#include "ModelAPI_Session.h"
#include "ModelAPI_Document.h"
#include "ModelAPI_Data.h"
#include "ModelAPI_AttributeDocRef.h"
}
void PartSetPlugin_Part::initAttributes()
-{
- data()->addAttribute(PART_ATTR_DOC_REF, ModelAPI_AttributeDocRef::type());
+{ // all is in part result
}
-void PartSetPlugin_Part::execute()
+void PartSetPlugin_Part::execute()
{
- boost::shared_ptr<ModelAPI_AttributeDocRef> aDocRef = data()->docRef(PART_ATTR_DOC_REF);
- if (!aDocRef->value()) { // create a document if not yet created
- boost::shared_ptr<ModelAPI_Document> aPartSetDoc =
- ModelAPI_PluginManager::get()->rootDocument();
- aDocRef->setValue(aPartSetDoc->subDocument(data()->name()));
- }
- // create a result only once
- if (results().empty()) {
- boost::shared_ptr<ModelAPI_ResultPart> aResult = document()->createPart(data());
+ ResultPartPtr aResult = std::dynamic_pointer_cast<ModelAPI_ResultPart>(firstResult());
+ if (!aResult) {
+ aResult = document()->createPart(data());
setResult(aResult);
+ aResult->activate();
}
}
-boost::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd() {
- return ModelAPI_PluginManager::get()->rootDocument();
+std::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd()
+{
+ return ModelAPI_Session::get()->moduleDocument();
}