Salome HOME
Remove extra files
[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   if (!myProcessing)
20     delete myValue;
21 }
22
23 void PlaneGCSSolver_ParameterWrapper::setValue(double theValue)
24 {
25   *(myValue) = theValue;
26 }
27
28 double PlaneGCSSolver_ParameterWrapper::value() const
29 {
30   return *(myValue);
31 }
32
33 bool PlaneGCSSolver_ParameterWrapper::isEqual(const ParameterWrapperPtr& theOther)
34 {
35   return fabs(value() - theOther->value()) < tolerance;
36 }
37
38 bool PlaneGCSSolver_ParameterWrapper::update(const ParameterWrapperPtr& theOther)
39 {
40   if (fabs(value() - theOther->value()) < tolerance)
41     return false;
42   setValue(theOther->value());
43   myIsParametric = theOther->isParametric();
44   return true;
45 }