protected:
/// Default constructor
SketchSolver_Constraint() {}
+ /// Constructor based on SketchPlugin constraint
SketchSolver_Constraint(ConstraintPtr theConstraint);
public:
virtual bool remove(ConstraintPtr theConstraint = ConstraintPtr());
/// \brief Update SketchPlugin attributes using the data obtained from SolveSpace entities
- void refresh();
+ virtual void refresh();
/// \brief Returns the type of constraint
virtual int getType() const = 0;
- /// \brief The constraint is made temoparary
+ /// \brief The constraint is made temporary
void makeTemporary() const;
/// \brief Checks the constraint is used by current object
Slvs_hEntity getId(AttributePtr theAttribute) const;
/// \brief Adds a feature to constraint and create its analogue in SolveSpace
- void addFeature(FeaturePtr theFeature);
+ virtual void addFeature(FeaturePtr theFeature);
/// \brief Shows error message
const std::string& error() const
/// \return \c true if some attributes are changed
virtual bool checkAttributesChanged(ConstraintPtr theConstraint);
- /// \brief This method is used in derived objects to check consistence of constraint.
+ /// \brief This method is used in derived objects to check consistency of constraint.
/// E.g. the distance between line and point may be signed.
virtual void adjustConstraint()
{}
class SketchSolver_ConstraintParallel : public SketchSolver_Constraint
{
public:
+ /// Constructor based on SketchPlugin constraint
SketchSolver_ConstraintParallel(ConstraintPtr theConstraint) :
SketchSolver_Constraint(theConstraint)
{}
class SketchSolver_ConstraintPerpendicular : public SketchSolver_Constraint
{
public:
+ /// Constructor based on SketchPlugin constraint
SketchSolver_ConstraintPerpendicular(ConstraintPtr theConstraint) :
SketchSolver_Constraint(theConstraint)
{}
class SketchSolver_ConstraintHorizontal : public SketchSolver_Constraint
{
public:
+ /// Constructor based on SketchPlugin constraint
SketchSolver_ConstraintHorizontal(ConstraintPtr theConstraint) :
SketchSolver_Constraint(theConstraint)
{}
class SketchSolver_ConstraintVertical : public SketchSolver_Constraint
{
public:
+ /// Constructor based on SketchPlugin constraint
SketchSolver_ConstraintVertical(ConstraintPtr theConstraint) :
SketchSolver_Constraint(theConstraint)
{}
class SketchSolver_ConstraintRadius : public SketchSolver_Constraint
{
public:
+ /// Constructor based on SketchPlugin constraint
SketchSolver_ConstraintRadius(ConstraintPtr theConstraint) :
SketchSolver_Constraint(theConstraint)
{}