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
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git]
/
src
/
Model
/
Model_AttributeDouble.cpp
diff --git
a/src/Model/Model_AttributeDouble.cpp
b/src/Model/Model_AttributeDouble.cpp
index 13b4c97c650b8984971a2e0fdb7689432304a463..4764420f7c515a0184b7471f416ae4a328e5bdaa 100644
(file)
--- a/
src/Model/Model_AttributeDouble.cpp
+++ b/
src/Model/Model_AttributeDouble.cpp
@@
-1,20
+1,20
@@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: ModelAPI_AttributeDouble.cxx
// Created: 2 Apr 2014
// Author: Mikhail PONIKAROV
#include "Model_AttributeDouble.h"
// File: ModelAPI_AttributeDouble.cxx
// Created: 2 Apr 2014
// Author: Mikhail PONIKAROV
#include "Model_AttributeDouble.h"
-#include
"Model_Events.h"
-#include <
Events_Loop
.h>
+#include
<ModelAPI_Feature.h>
+#include <
ModelAPI_Data
.h>
using namespace std;
void Model_AttributeDouble::setValue(const double theValue)
{
using namespace std;
void Model_AttributeDouble::setValue(const double theValue)
{
- if (myReal->Get() != theValue) {
+ if (
!myIsInitialized ||
myReal->Get() != theValue) {
myReal->Set(theValue);
myReal->Set(theValue);
- static Events_ID anEvent = Events_Loop::eventByName(EVENT_FEATURE_UPDATED);
- Model_FeatureUpdatedMessage aMsg(feature(), anEvent);
- Events_Loop::loop()->send(aMsg);
+ owner()->data()->sendAttributeUpdated(this);
}
}
}
}
@@
-26,7
+26,8
@@
double Model_AttributeDouble::value()
Model_AttributeDouble::Model_AttributeDouble(TDF_Label& theLabel)
{
// check the attribute could be already presented in this doc (after load document)
Model_AttributeDouble::Model_AttributeDouble(TDF_Label& theLabel)
{
// check the attribute could be already presented in this doc (after load document)
- if (!theLabel.FindAttribute(TDataStd_Real::GetID(), myReal)) {
+ myIsInitialized = theLabel.FindAttribute(TDataStd_Real::GetID(), myReal) == Standard_True;
+ if (!myIsInitialized) {
// create attribute: not initialized by value yet, just zero
myReal = TDataStd_Real::Set(theLabel, 0.);
}
// create attribute: not initialized by value yet, just zero
myReal = TDataStd_Real::Set(theLabel, 0.);
}