Salome HOME
SketchSolver Refactoring: Eliminate SolveSpace as a sketch solver.
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_ConstraintWrapper.h
index 74341b5894261c447d894ea205b0f89a14ab0d6f..216905155dd2e30354da5f05b6b3b77983dd2896 100644 (file)
@@ -9,38 +9,30 @@
 
 #include <PlaneGCSSolver_Defs.h>
 #include <PlaneGCSSolver_Solver.h>
+#include <PlaneGCSSolver_ScalarWrapper.h>
 #include <SketchSolver_IConstraintWrapper.h>
 
 
 /**
- *  Wrapper providing operations with SovleSpace constraints.
+ *  Wrapper providing operations with PlaneGCS constraints.
  */
 class PlaneGCSSolver_ConstraintWrapper : public SketchSolver_IConstraintWrapper
 {
 public:
-  PlaneGCSSolver_ConstraintWrapper(const ConstraintPtr& theOriginal,
-                                   const GCSConstraintPtr& theConstraint,
+  PlaneGCSSolver_ConstraintWrapper(const GCSConstraintPtr&            theConstraint,
                                    const SketchSolver_ConstraintType& theType);
-  PlaneGCSSolver_ConstraintWrapper(const ConstraintPtr& theOriginal,
-                                   const std::list<GCSConstraintPtr>& theConstraints,
+  PlaneGCSSolver_ConstraintWrapper(const std::list<GCSConstraintPtr>& theConstraints,
                                    const SketchSolver_ConstraintType& theType);
 
   /// \brief Return list of constraints
   const std::list<GCSConstraintPtr>& constraints() const
   { return myGCSConstraints; }
-////  /// \brief Return SolveSpace constraint to change
-////  GCSConstraintPtr& changeConstraint()
-////  { return myGCSConstraint; }
+  /// \brief Change list of constraints
+  void setConstraints(const std::list<GCSConstraintPtr>& theConstraints)
+  { myGCSConstraints = theConstraints; }
 
-  /// \brief Return ID of current entity
-  virtual ConstraintID id() const
-  { return myID; }
-
-  /// \brief Change group for the constraint
-  virtual void setGroup(const GroupID& theGroup);
-  /// \brief Return identifier of the group the constraint belongs to
-  virtual GroupID group() const
-  { return myGroup; }
+  /// \brief Change constraint ID
+  virtual void setId(const ConstraintID& theID);
 
   /// \brief Return type of current entity
   virtual SketchSolver_ConstraintType type() const
@@ -48,30 +40,18 @@ public:
 
   /// \brief Assign numeric parameter of constraint
   virtual void setValue(const double& theValue);
+  /// \brief Return numeric parameter of constraint
+  virtual double value() const;
 
   /// \brief Change parameter representing the value of constraint
-  void setValueParameter(const ParameterWrapperPtr& theValue);
+  void setValueParameter(const ScalarWrapperPtr& theValue);
   /// \brief Return parametric representation of constraint value
-  const ParameterWrapperPtr& valueParameter() const
+  const ScalarWrapperPtr& valueParameter() const
   { return myValueParam; }
 
-  /// \brief Verify the feature is used in the constraint
-  virtual bool isUsed(FeaturePtr theFeature) const;
-  /// \brief Verify the attribute is used in the constraint
-  virtual bool isUsed(AttributePtr theAttribute) const;
-
-  /// \brief Compare current constraint with other
-  virtual bool isEqual(const ConstraintWrapperPtr& theOther);
-
-  /// \brief Update values of parameters of this constraint by the parameters of given one
-  /// \return \c true if some parameters change their values
-  virtual bool update(const std::shared_ptr<SketchSolver_IConstraintWrapper>& theOther);
-
 private:
-  ConstraintID     myID;
-  GroupID          myGroup;
   SketchSolver_ConstraintType myType;
-  ParameterWrapperPtr myValueParam;
+  ScalarWrapperPtr            myValueParam;
   std::list<GCSConstraintPtr> myGCSConstraints;
 };