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 'master' of newgeom:newgeom
[modules/shaper.git]
/
src
/
Model
/
Model_AttributeDouble.cpp
diff --git
a/src/Model/Model_AttributeDouble.cpp
b/src/Model/Model_AttributeDouble.cpp
index 88b4352a56d288dd8b3b0c81a7acfdc28e5ce82f..13b976c2e1e57e74e19cd51a0168e4ddb6dbd611 100644
(file)
--- a/
src/Model/Model_AttributeDouble.cpp
+++ b/
src/Model/Model_AttributeDouble.cpp
@@
-3,18
+3,16
@@
// Author: Mikhail PONIKAROV
#include "Model_AttributeDouble.h"
// 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(owner(), anEvent);
- Events_Loop::loop()->send(aMsg);
+ owner()->data()->sendAttributeUpdated(this);
}
}
}
}
@@
-26,7
+24,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.);
}