#include "SketchSolver.h"
#include <SketchSolver_Solver.h>
+#include <list>
#include <memory>
#include <set>
#include <vector>
bool removeConstraint(const Slvs_hConstraint& theConstraintID);
/// \brief Returns the constraint by its ID
const Slvs_Constraint& getConstraint(const Slvs_hConstraint& theConstraintID) const;
+ /// \brief Returns list of constraints of specified type
+ std::list<Slvs_Constraint> getConstraintsByType(int theConstraintType) const;
/// \brief Attach temporary constraint to this storage. It need to make precise calculations
void addTemporaryConstraint(const Slvs_hConstraint& theConstraintID);
/// \brief Remove point from lists of coincidence
void removeCoincidentPoint(const Slvs_hEntity& thePoint);
+public:
+ /// \brief Check two points are coincident
+ bool isCoincident(const Slvs_hEntity& thePoint1, const Slvs_hEntity& thePoint2) const;
+
private:
Slvs_hParam myParamMaxID; ///< current parameter index (may differs with the number of parameters)
std::vector<Slvs_Param> myParameters; ///< list of parameters used in the current group of constraints (sorted by the identifier)