return mySketch->data() && mySketch->data()->isValid();
}
- /// \brief Verifies the constraint is complex, i.e. it needs another constraints to be created before
- static bool isComplexConstraint(FeaturePtr theConstraint);
+ /// \brief Check the group has conflicting constraints
+ inline bool isFailed() const
+ {
+ return !myConflictingConstraints.empty();
+ }
/** \brief Adds or updates a constraint in the group
* \param[in] theConstraint constraint to be changed
/// \brief Verifies is the feature valid
bool checkFeatureValidity(FeaturePtr theFeature);
- /// \brief Update just changed constraints
- void updateConstraints();
-
private:
GroupID myID; ///< Index of the group
EntityID myWorkplaneID; ///< Index of workplane, the group is based on
ConstraintConstraintMap myConstraints; ///< List of constraints
std::set<SolverConstraintPtr> myTempConstraints; ///< List of temporary constraints
std::map<AttributePtr, SolverConstraintPtr> myParametricConstraints; ///< List of parametric constraints
- std::set<ConstraintPtr> myChangedConstraints; ///< List of just updated constraints
StoragePtr myStorage; ///< Container for the set of SolveSpace constraints and their entities
SolverPtr mySketchSolver; ///< Solver for set of equations obtained by constraints
SketchSolver_SolveStatus myPrevResult; ///< Result of previous solution of the set of constraints
+ std::set<ObjectPtr> myConflictingConstraints; ///< List of conflicting constraints
};
#endif