Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom.git into Dev_1.1.0
[modules/shaper.git] / src / Model / Model_AttributeDouble.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModelAPI_AttributeDouble.cxx
4 // Created:     2 Apr 2014
5 // Author:      Mikhail PONIKAROV
6
7 #include "Model_AttributeDouble.h"
8 #include <ModelAPI_Feature.h>
9 #include <ModelAPI_Data.h>
10
11 using namespace std;
12
13 void Model_AttributeDouble::setValue(const double theValue)
14 {
15   if (!myIsInitialized || myReal->Get() != theValue) {
16     myReal->Set(theValue);
17     owner()->data()->sendAttributeUpdated(this);
18   }
19 }
20
21 double Model_AttributeDouble::value()
22 {
23   return myReal->Get();
24 }
25
26 Model_AttributeDouble::Model_AttributeDouble(TDF_Label& theLabel)
27 {
28   // check the attribute could be already presented in this doc (after load document)
29   myIsInitialized = theLabel.FindAttribute(TDataStd_Real::GetID(), myReal) == Standard_True;
30   if (!myIsInitialized) {
31     // create attribute: not initialized by value yet, just zero
32     myReal = TDataStd_Real::Set(theLabel, 0.);
33   }
34 }