Salome HOME
updated copyright message
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_ConstraintWrapper.h
index db2972db1b4e3da837947fd2da7564470bed7e00..95b83aa7415671a8bf528ed69f066fb7969f0aac 100644 (file)
@@ -1,45 +1,53 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
-
-// File:    PlaneGCSSolver_ConstraintWrapper.h
-// Created: 14 Dec 2015
-// Author:  Artem ZHIDKOV
+// Copyright (C) 2014-2023  CEA, EDF
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef PlaneGCSSolver_ConstraintWrapper_H_
 #define PlaneGCSSolver_ConstraintWrapper_H_
 
 #include <PlaneGCSSolver_Defs.h>
-#include <PlaneGCSSolver_Solver.h>
-#include <SketchSolver_IConstraintWrapper.h>
+#include <PlaneGCSSolver_ScalarWrapper.h>
 
+#include <list>
 
 /**
- *  Wrapper providing operations with SovleSpace constraints.
+ *  Wrapper providing operations with PlaneGCS constraints.
  */
-class PlaneGCSSolver_ConstraintWrapper : public SketchSolver_IConstraintWrapper
+class PlaneGCSSolver_ConstraintWrapper
 {
 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 Change list of constraints
+  void setConstraints(const std::list<GCSConstraintPtr>& theConstraints)
+  { myGCSConstraints = theConstraints; }
 
-  /// \brief Return ID of current entity
-  virtual ConstraintID id() const
+  /// \brief Return ID of current constraint
+  const ConstraintID& id() const
   { return myID; }
   /// \brief Change constraint ID
-  void setId( const ConstraintID& theID);
-
-  /// \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; }
+  virtual void setId(const ConstraintID& theID);
 
   /// \brief Return type of current entity
   virtual SketchSolver_ConstraintType type() const
@@ -47,31 +55,22 @@ 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;
+  ConstraintID                myID;
   SketchSolver_ConstraintType myType;
-  ParameterWrapperPtr myValueParam;
+  ScalarWrapperPtr            myValueParam;
   std::list<GCSConstraintPtr> myGCSConstraints;
 };
 
+typedef std::shared_ptr<PlaneGCSSolver_ConstraintWrapper> ConstraintWrapperPtr;
+
 #endif