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>
15 * Wrapper providing operations with parameters in SolveSpace.
17 class SolveSpaceSolver_ParameterWrapper : public SketchSolver_IParameterWrapper
20 SolveSpaceSolver_ParameterWrapper(const Slvs_Param& theParam);
22 /// \brief Return SolveSpace parameter
23 const Slvs_Param& parameter() const
24 { return myParameter; }
25 /// \brief Return SolveSpace parameter to change
26 Slvs_Param& changeParameter()
27 { return myParameter; }
29 /// \brief Return ID of current parameter
30 virtual ParameterID id() const;
32 /// \brief Change group for the parameter
33 virtual void setGroup(const GroupID& theGroup)
34 { myParameter.group = (Slvs_hGroup)theGroup; }
36 /// \brief Return identifier of the group the parameter belongs to
37 virtual const GroupID& group() const
38 { return (GroupID)myParameter.group; }
40 /// \brief Change value of parameter
41 virtual void setValue(double theValue);
42 /// \brief Return value of parameter
43 virtual double value() const;
45 /// \brief Compare current parameter with other
46 virtual bool isEqual(const ParameterWrapperPtr& theOther);
48 /// \brief Update value of parameter by the given one
49 /// \return \c true if the value of parameter is changed
50 virtual bool update(const std::shared_ptr<SketchSolver_IParameterWrapper>& theOther);
53 Slvs_Param myParameter;