STATUS_OK,
STATUS_INCONSISTENT,
STATUS_EMPTYSET,
- STATUS_FAILED // set if no one other status is applicable
+ STATUS_FAILED, // set if no one other status is applicable
+ STATUS_UNKNOWN // set for newly created groups
};
/// \brief Revert solution to initial values
virtual void undo() = 0;
+ /// \brief Check the constraint is conflicted with others
+ virtual bool isConflicting(const ConstraintID& theConstraint) const = 0;
+
+ /// \brief Degrees of freedom
+ virtual int dof() const = 0;
+
protected:
GroupID myGroup; ///< ID of the group to be solved
bool myFindFaileds; ///< flag to find conflicting or inappropriate constraints