Salome HOME
Pipe validator fix
[modules/shaper.git] / src / SketchSolver / SketchSolver_Constraint.h
index 6f8a6fd7942f1f6a34753f1f0bbf05ac6c650dae..dbb64762394677943d612f1cf8faa6e13257b0f1 100644 (file)
@@ -57,13 +57,18 @@ public:
   virtual SketchSolver_ConstraintType getType() const
   { return myType; }
 
-  /// \brief The constraint is made temporary
-  void makeTemporary() const;
+  /// \brief Returns list of attributes of constraint
+  const std::list<EntityWrapperPtr>& attributes() const
+  { return myAttributes; }
 
   /// \brief Verify the feature or any its attribute is used by constraint
-  bool isUsed(FeaturePtr theFeature) const;
+  virtual bool isUsed(FeaturePtr theFeature) const;
   /// \brief Verify the attribute is used by constraint
-  bool isUsed(AttributePtr theAttribute) const;
+  virtual bool isUsed(AttributePtr theAttribute) const;
+
+  /// \brief Notify constraint, that coincidence appears or removed
+  virtual void notifyCoincidenceChanged(EntityWrapperPtr theCoincAttr1, EntityWrapperPtr theCoincAttr2)
+  { /* implement in derived class */ }
 
   /// \brief Shows error message
   const std::string& error() const
@@ -93,6 +98,7 @@ protected:
   ConstraintPtr myBaseConstraint; ///< base SketchPlugin constraint
   StoragePtr    myStorage; ///< storage, which contains all information about entities and constraints
   SketchSolver_ConstraintType myType; ///< type of constraint
+  std::list<EntityWrapperPtr> myAttributes; ///< attributes of constraint
 
   std::string   myErrorMsg; ///< error message
 };