#include <SketchSolver_ISolver.h>
#include <PlaneGCSSolver_Defs.h>
-////// Need to be defined before including SolveSpace to avoid additional dependences on Windows platform
-////#if defined(WIN32) && !defined(HAVE_C99_INTEGER_TYPES)
-////typedef unsigned int UINT32;
-////#else
-////#include <stdint.h>
-////#endif
-////#include <string.h>
#include <GCS.h>
-////#include <vector>
-
/**
* The main class that performs the high-level operations for connection to the PlaneGCS.
*/
/// \brief Revert solution to initial values
virtual void undo();
+ /// \brief Check the constraint is conflicted with others
+ virtual bool isConflicting(const ConstraintID& theConstraint) const;
+
+private:
+ void collectConflicting();
+
private:
GCS::VEC_pD myParameters; ///< list of unknowns
std::set<GCS::Constraint*> myConstraints; ///< list of constraints already processed by the system
GCS::System myEquationSystem; ///< set of equations for solving in FreeGCS
+
+ GCS::VEC_I myConflictingIDs; ///< list of IDs of conflicting constraints
+ bool myConfCollected; ///< specifies the conflicting constraints are already collected
};
#endif