![]() |
KiCad PCB EDA Suite
|
EDIT_CONSTRAINT for 3 segments: dragged and two adjacent ones, enforcing to keep their slopes and allows only to change ending points. More...
#include <edit_constraints.h>
Public Member Functions | |
EC_CONVERGING (EDIT_LINE &aLine, EDIT_POINTS &aPoints) | |
virtual | ~EC_CONVERGING () |
Correct coordinates of the constrained edit handle. More... | |
virtual void | Apply (EDIT_LINE &aHandle) override |
Correct coordinates of the constrained edit handle. More... | |
void | Apply () |
Correct coordinates of the constrained edit handle. More... | |
Protected Attributes | |
EDIT_LINE & | m_constrained |
Point that is constrained by rules implemented by Apply(). More... | |
Private Attributes | |
EDIT_CONSTRAINT< EDIT_POINT > * | m_originSideConstraint |
< Constraint for origin side segment. More... | |
EDIT_CONSTRAINT< EDIT_POINT > * | m_endSideConstraint |
Additional constraint, applied when at least two points are collinear. More... | |
EDIT_CONSTRAINT< EDIT_POINT > * | m_colinearConstraint |
EDIT_POINTS instance that stores currently modified lines. More... | |
EDIT_POINTS & | m_editPoints |
Vector that represents the initial direction of the dragged segment. More... | |
VECTOR2I | m_draggedVector |
EDIT_CONSTRAINT for 3 segments: dragged and two adjacent ones, enforcing to keep their slopes and allows only to change ending points.
Applied to zones.
Definition at line 197 of file edit_constraints.h.
EC_CONVERGING::EC_CONVERGING | ( | EDIT_LINE & | aLine, |
EDIT_POINTS & | aPoints | ||
) |
Definition at line 95 of file edit_constraints.cpp.
References EDIT_LINE::GetEnd(), EDIT_LINE::GetOrigin(), EDIT_POINT::GetPosition(), m_colinearConstraint, m_draggedVector, m_endSideConstraint, m_originSideConstraint, EDIT_POINTS::Next(), and EDIT_POINTS::Previous().
|
virtual |
Correct coordinates of the constrained edit handle.
Definition at line 126 of file edit_constraints.cpp.
References m_endSideConstraint, and m_originSideConstraint.
|
inlineinherited |
Correct coordinates of the constrained edit handle.
Definition at line 71 of file edit_constraints.h.
|
overridevirtual |
Correct coordinates of the constrained edit handle.
Implements EDIT_CONSTRAINT< EDIT_LINE >.
Definition at line 134 of file edit_constraints.cpp.
References EDIT_CONSTRAINT< EDIT_TYPE >::Apply(), EDIT_LINE::GetEnd(), EDIT_LINE::GetOrigin(), EDIT_POINT::GetPosition(), SEG::Intersect(), EDIT_POINTS::LinesSize(), m_colinearConstraint, m_draggedVector, m_editPoints, m_endSideConstraint, m_originSideConstraint, EDIT_POINTS::Next(), EDIT_POINTS::Previous(), and EDIT_POINT::SetPosition().
|
private |
EDIT_POINTS instance that stores currently modified lines.
Definition at line 216 of file edit_constraints.h.
Referenced by Apply(), and EC_CONVERGING().
|
protectedinherited |
Point that is constrained by rules implemented by Apply().
Definition at line 77 of file edit_constraints.h.
|
private |
Definition at line 222 of file edit_constraints.h.
Referenced by Apply(), and EC_CONVERGING().
|
private |
Vector that represents the initial direction of the dragged segment.
Definition at line 219 of file edit_constraints.h.
Referenced by Apply().
|
private |
Additional constraint, applied when at least two points are collinear.
It is a pointer to m_[origin/end]SideConstraint, so it should not be freed.
Definition at line 212 of file edit_constraints.h.
Referenced by Apply(), EC_CONVERGING(), and ~EC_CONVERGING().
|
private |
< Constraint for origin side segment.
Constraint for end side segment.
Definition at line 209 of file edit_constraints.h.
Referenced by Apply(), EC_CONVERGING(), and ~EC_CONVERGING().