Salome HOME
Fix compilation on Linux
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_ParameterWrapper.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    PlaneGCSSolver_ParameterWrapper.cpp
4 // Created: 14 Dec 2015
5 // Author:  Artem ZHIDKOV
6
7 #include <PlaneGCSSolver_ParameterWrapper.h>
8
9 #include <math.h>
10
11 PlaneGCSSolver_ParameterWrapper::PlaneGCSSolver_ParameterWrapper(double *const theParam)
12   : myValue(theParam),
13     myProcessing(false)
14 {
15 }
16
17 PlaneGCSSolver_ParameterWrapper::~PlaneGCSSolver_ParameterWrapper()
18 {
19   delete myValue;
20 }
21
22 void PlaneGCSSolver_ParameterWrapper::setValue(double theValue)
23 {
24   *(myValue) = theValue;
25 }
26
27 double PlaneGCSSolver_ParameterWrapper::value() const
28 {
29   return *(myValue);
30 }
31
32 bool PlaneGCSSolver_ParameterWrapper::isEqual(const ParameterWrapperPtr& theOther)
33 {
34   return fabs(value() - theOther->value()) < tolerance;
35 }
36
37 bool PlaneGCSSolver_ParameterWrapper::update(const ParameterWrapperPtr& theOther)
38 {
39   if (fabs(value() - theOther->value()) < tolerance)
40     return false;
41   setValue(theOther->value());
42   myIsParametric = theOther->isParametric();
43   return true;
44 }