1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: SolveSpaceSolver_ParameterWrapper.h
5 // Author: Artem ZHIDKOV
7 #ifndef SolveSpaceSolver_ParameterWrapper_H_
8 #define SolveSpaceSolver_ParameterWrapper_H_
10 #include <SketchSolver_IParameterWrapper.h>
11 #include <SolveSpaceSolver_Solver.h>
14 * Wrapper providing operations with parameters in SolveSpace.
16 class SolveSpaceSolver_ParameterWrapper : public SketchSolver_IParameterWrapper
19 SolveSpaceSolver_ParameterWrapper(const Slvs_Param& theParam);
21 /// \brief Return SolveSpace parameter
22 const Slvs_Param& parameter() const
23 { return myParameter; }
24 /// \brief Return SolveSpace parameter to change
25 Slvs_Param& changeParameter()
26 { return myParameter; }
28 /// \brief Return ID of current parameter
29 virtual ParameterID id() const;
31 /// \brief Change group for the parameter
32 virtual void setGroup(const GroupID& theGroup)
33 { myParameter.group = (Slvs_hGroup)theGroup; }
35 /// \brief Return identifier of the group the parameter belongs to
36 virtual GroupID group() const
37 { return (GroupID)myParameter.group; }
39 /// \brief Change value of parameter
40 virtual void setValue(double theValue);
41 /// \brief Return value of parameter
42 virtual double value() const;
44 /// \brief Compare current parameter with other
45 virtual bool isEqual(const ParameterWrapperPtr& theOther);
47 /// \brief Update value of parameter by the given one
48 /// \return \c true if the value of parameter is changed
49 virtual bool update(const std::shared_ptr<SketchSolver_IParameterWrapper>& theOther);
52 Slvs_Param myParameter;