Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Erroneous cases in SALOME mode: Sketch, start sub-feature operation[some control...
[modules/shaper.git]
/
src
/
PartSetPlugin
/
PartSetPlugin_Duplicate.cpp
diff --git
a/src/PartSetPlugin/PartSetPlugin_Duplicate.cpp
b/src/PartSetPlugin/PartSetPlugin_Duplicate.cpp
index f92c0e912a895a79b195896df95811709a704f39..462a7366bdab45a2b9ebef798aa12ccf0bc41bdf 100644
(file)
--- a/
src/PartSetPlugin/PartSetPlugin_Duplicate.cpp
+++ b/
src/PartSetPlugin/PartSetPlugin_Duplicate.cpp
@@
-1,3
+1,5
@@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: PartSetPlugin_Duplicate.cxx
// Created: 20 May 2014
// Author: Mikhail PONIKAROV
// File: PartSetPlugin_Duplicate.cxx
// Created: 20 May 2014
// Author: Mikhail PONIKAROV
@@
-19,7
+21,6
@@
PartSetPlugin_Duplicate::PartSetPlugin_Duplicate()
void PartSetPlugin_Duplicate::initAttributes()
{
PartSetPlugin_Part::initAttributes();
void PartSetPlugin_Duplicate::initAttributes()
{
PartSetPlugin_Part::initAttributes();
- data()->addAttribute(ORIGIN_REF(), ModelAPI_AttributeRefAttr::type());
std::shared_ptr<ModelAPI_Session> aPManager = ModelAPI_Session::get();
std::shared_ptr<ModelAPI_Document> aRoot = aPManager->moduleDocument();
std::shared_ptr<ModelAPI_Session> aPManager = ModelAPI_Session::get();
std::shared_ptr<ModelAPI_Document> aRoot = aPManager->moduleDocument();
@@
-35,12
+36,19
@@
void PartSetPlugin_Duplicate::initAttributes()
if (aSource) {
std::shared_ptr<ModelAPI_Document> aCopy = aPManager->copy(
aSource->data()->document(ModelAPI_ResultPart::DOC_REF())->value(), data()->name());
if (aSource) {
std::shared_ptr<ModelAPI_Document> aCopy = aPManager->copy(
aSource->data()->document(ModelAPI_ResultPart::DOC_REF())->value(), data()->name());
- data()->refattr(ORIGIN_REF())->setObject(aSource);
+ } else { // invalid part copy: do nothing, keep this in empty name
+ data()->setName("");
}
}
void PartSetPlugin_Duplicate::execute()
{
}
}
void PartSetPlugin_Duplicate::execute()
{
- if (
data()->refattr(ORIGIN_REF())->object
())
+ if (
!data()->name().empty
())
PartSetPlugin_Part::execute();
}
PartSetPlugin_Part::execute();
}
+
+const std::string& PartSetPlugin_Duplicate::documentToAdd()
+{
+ // part must be added only to the module document
+ return ModelAPI_Session::get()->moduleDocument()->kind();
+}