KiCad PCB EDA Suite
|
Represent a line connecting two EDIT_POINTs. More...
#include <edit_points.h>
Public Member Functions | |
EDIT_LINE (EDIT_POINT &aOrigin, EDIT_POINT &aEnd) | |
virtual VECTOR2I | GetPosition () const override |
Return coordinates of an EDIT_POINT. | |
virtual void | SetPosition (const VECTOR2I &aPosition) override |
Correct coordinates of an EDIT_POINT by applying previously set constraint. | |
virtual void | ApplyConstraint (const GRID_HELPER &aGrid) override |
Correct coordinates of an EDIT_POINT by applying previously set constraint. | |
void | SetConstraint (EDIT_CONSTRAINT< EDIT_LINE > *aConstraint) |
Set a constraint for and EDIT_POINT. | |
EDIT_CONSTRAINT< EDIT_LINE > * | GetConstraint () const |
Return the constraint imposed on an EDIT_POINT. | |
EDIT_POINT & | GetOrigin () |
Return the origin EDIT_POINT. | |
const EDIT_POINT & | GetOrigin () const |
EDIT_POINT & | GetEnd () |
Return the end EDIT_POINT. | |
const EDIT_POINT & | GetEnd () const |
bool | HasCenterPoint () const |
Is the center-point of the line useful to be shown? | |
void | SetHasCenterPoint (bool aHasCenterPoint) |
Set if the center-point of the line should be shown. | |
bool | DrawLine () const |
Should the line itself be drawn, or just the end and/or center points? | |
void | SetDrawLine (bool aShowLine) |
Set if the line itself should be drawn. | |
bool | operator== (const EDIT_POINT &aOther) const |
bool | operator== (const EDIT_LINE &aOther) const |
virtual std::pair< EDA_ITEM *, int > | GetConnected () const |
Return a connected item record comprising an EDA_ITEM* and a STARTPOINT/ENDPOINT flag. | |
int | GetX () const |
Return X coordinate of an EDIT_POINT. | |
int | GetY () const |
Return Y coordinate of an EDIT_POINT. | |
virtual void | SetPosition (int x, int y) |
bool | WithinPoint (const VECTOR2I &aPoint, unsigned int aSize) const |
Check if given point is within a square centered in the EDIT_POINT position. | |
void | SetConstraint (EDIT_CONSTRAINT< EDIT_POINT > *aConstraint) |
Set a constraint for and EDIT_POINT. | |
void | ClearConstraint () |
Remove previously set constraint. | |
bool | IsConstrained () const |
Check if point is constrained. | |
bool | IsActive () const |
void | SetActive (bool aActive=true) |
bool | IsHover () const |
void | SetHover (bool aHover=true) |
GRID_CONSTRAINT_TYPE | GetGridConstraint () const |
void | SetGridConstraint (GRID_CONSTRAINT_TYPE aConstraint) |
SNAP_CONSTRAINT_TYPE | GetSnapConstraint () const |
void | SetSnapConstraint (SNAP_CONSTRAINT_TYPE aConstraint) |
Static Public Attributes | |
static const int | POINT_SIZE = 8 |
static const int | BORDER_SIZE = 2 |
Border size when not hovering. | |
static const int | HOVER_SIZE = 5 |
Border size when hovering. | |
Private Attributes | |
EDIT_POINT & | m_origin |
Origin point for a line. | |
EDIT_POINT & | m_end |
End point for a line. | |
bool | m_hasCenterPoint = true |
True if the line has a (useful) center point. | |
bool | m_showLine = false |
True if the line itself should be drawn. | |
std::shared_ptr< EDIT_CONSTRAINT< EDIT_LINE > > | m_constraint |
VECTOR2I | m_position |
Position of EDIT_POINT. | |
bool | m_isActive |
True if this point is being manipulated. | |
bool | m_isHover |
True if this point is being hovered over. | |
GRID_CONSTRAINT_TYPE | m_gridConstraint |
Describe the grid snapping behavior. | |
SNAP_CONSTRAINT_TYPE | m_snapConstraint |
Describe the object snapping behavior. | |
std::pair< EDA_ITEM *, int > | m_connected |
Constraint for the point, NULL if none. | |
Represent a line connecting two EDIT_POINTs.
This allows one to move them both by dragging the EDIT_POINT in the middle. It uses references to EDIT_POINTs, all coordinates are automatically synchronized.
Definition at line 222 of file edit_points.h.
|
inline |
aOrigin | is the origin of EDIT_LINE. |
aEnd | is the end of EDIT_LINE. Return coordinates of an EDIT_POINT. |
Definition at line 229 of file edit_points.h.
References EDIT_POINT::SetGridConstraint(), and SNAP_BY_GRID.
|
inlineoverridevirtual |
Correct coordinates of an EDIT_POINT by applying previously set constraint.
Reimplemented from EDIT_POINT.
Definition at line 253 of file edit_points.h.
References EDIT_POINT::ApplyConstraint(), m_constraint, m_end, and m_origin.
|
inlineinherited |
Remove previously set constraint.
Definition at line 148 of file edit_points.h.
References EDIT_POINT::m_constraint.
|
inline |
Should the line itself be drawn, or just the end and/or center points?
Definition at line 320 of file edit_points.h.
References m_showLine.
|
inlinevirtualinherited |
Return a connected item record comprising an EDA_ITEM* and a STARTPOINT/ENDPOINT flag.
Definition at line 79 of file edit_points.h.
References EDIT_POINT::m_connected.
Referenced by LINE_POINT_EDIT_BEHAVIOR::UpdateItem().
|
inline |
Return the constraint imposed on an EDIT_POINT.
If there are no constraints, NULL is returned.
Definition at line 276 of file edit_points.h.
References m_constraint.
|
inline |
Return the end EDIT_POINT.
Definition at line 297 of file edit_points.h.
References m_end.
Referenced by EC_CONVERGING::Apply(), EC_PERPLINE::Apply(), EC_CONVERGING::EC_CONVERGING(), and EC_PERPLINE::EC_PERPLINE().
|
inline |
Definition at line 302 of file edit_points.h.
References m_end.
|
inlineinherited |
Definition at line 178 of file edit_points.h.
References EDIT_POINT::m_gridConstraint.
Referenced by EC_VERTICAL::Apply(), EC_HORIZONTAL::Apply(), EC_45DEGREE::Apply(), EC_LINE::Apply(), and PCB_POINT_EDITOR::OnSelectionChange().
|
inline |
Return the origin EDIT_POINT.
Definition at line 284 of file edit_points.h.
References m_origin.
Referenced by EC_CONVERGING::Apply(), EC_PERPLINE::Apply(), EC_CONVERGING::EC_CONVERGING(), and EC_PERPLINE::EC_PERPLINE().
|
inline |
Definition at line 289 of file edit_points.h.
References m_origin.
|
inlineoverridevirtual |
Return coordinates of an EDIT_POINT.
Reimplemented from EDIT_POINT.
Definition at line 238 of file edit_points.h.
References EDIT_POINT::GetPosition(), m_end, and m_origin.
Referenced by EC_PERPLINE::Apply(), EC_PERPLINE::EC_PERPLINE(), operator==(), and SetPosition().
|
inlineinherited |
Definition at line 181 of file edit_points.h.
References EDIT_POINT::m_snapConstraint.
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
inlineinherited |
Return X coordinate of an EDIT_POINT.
Definition at line 87 of file edit_points.h.
References EDIT_POINT::GetPosition(), and VECTOR2< T >::x.
Referenced by SCH_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), and PCB_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem().
|
inlineinherited |
Return Y coordinate of an EDIT_POINT.
Definition at line 95 of file edit_points.h.
References EDIT_POINT::GetPosition(), and VECTOR2< T >::y.
Referenced by SCH_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), and PCB_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem().
|
inline |
Is the center-point of the line useful to be shown?
Definition at line 310 of file edit_points.h.
References m_hasCenterPoint.
|
inlineinherited |
Definition at line 172 of file edit_points.h.
References EDIT_POINT::m_isActive.
Referenced by PCB_TUNING_PATTERN::UpdateFromEditPoints(), and EDIT_POINTS::ViewDraw().
|
inlineinherited |
Check if point is constrained.
Definition at line 158 of file edit_points.h.
References EDIT_POINT::m_constraint.
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
inlineinherited |
Definition at line 175 of file edit_points.h.
References EDIT_POINT::m_isHover.
Referenced by EDIT_POINTS::ViewDraw().
|
inline |
Definition at line 332 of file edit_points.h.
|
inline |
Definition at line 327 of file edit_points.h.
References EDIT_POINT::GetPosition(), and GetPosition().
|
inlineinherited |
Definition at line 173 of file edit_points.h.
References EDIT_POINT::m_isActive.
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
inline |
Set a constraint for and EDIT_POINT.
aConstraint | is the constraint to be set. |
Definition at line 267 of file edit_points.h.
References m_constraint.
Referenced by POLYGON_POINT_EDIT_BEHAVIOR::BuildForPolyOutline(), SHEET_POINT_EDIT_BEHAVIOR::MakePoints(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), SHEET_POINT_EDIT_BEHAVIOR::UpdateItem(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), and POLYGON_POINT_EDIT_BEHAVIOR::UpdateOutlineFromPoints().
|
inlineinherited |
Set a constraint for and EDIT_POINT.
aConstraint | is the constraint to be set. |
Definition at line 131 of file edit_points.h.
References EDIT_POINT::m_constraint.
Referenced by ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::MakePoints(), DIM_CENTER_POINT_EDIT_BEHAVIOR::MakePoints(), DIM_RADIAL_POINT_EDIT_BEHAVIOR::MakePoints(), DIM_LEADER_POINT_EDIT_BEHAVIOR::MakePoints(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::updateAlignedDimension(), and DIM_RADIAL_POINT_EDIT_BEHAVIOR::UpdateItem().
|
inline |
Set if the line itself should be drawn.
Definition at line 325 of file edit_points.h.
References m_showLine.
Referenced by EDIT_POINTS::AddIndicatorLine().
|
inlineinherited |
Definition at line 179 of file edit_points.h.
References EDIT_POINT::m_gridConstraint.
Referenced by EDIT_LINE(), and PCB_TUNING_PATTERN::MakeEditPoints().
|
inline |
Set if the center-point of the line should be shown.
Definition at line 315 of file edit_points.h.
References m_hasCenterPoint.
Referenced by EDIT_POINTS::AddIndicatorLine().
|
inlineinherited |
Definition at line 176 of file edit_points.h.
References EDIT_POINT::m_isHover.
Referenced by PCB_POINT_EDITOR::updateEditedPoint().
|
inlineoverridevirtual |
Correct coordinates of an EDIT_POINT by applying previously set constraint.
Reimplemented from EDIT_POINT.
Definition at line 244 of file edit_points.h.
References EDIT_POINT::GetPosition(), GetPosition(), m_end, m_origin, and EDIT_POINT::SetPosition().
Referenced by EC_PERPLINE::Apply().
|
inlinevirtualinherited |
Definition at line 112 of file edit_points.h.
References EDIT_POINT::m_position, VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineinherited |
Definition at line 182 of file edit_points.h.
References EDIT_POINT::m_snapConstraint.
Referenced by ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::MakePoints(), DIM_CENTER_POINT_EDIT_BEHAVIOR::MakePoints(), DIM_RADIAL_POINT_EDIT_BEHAVIOR::MakePoints(), and DIM_LEADER_POINT_EDIT_BEHAVIOR::MakePoints().
|
inherited |
Check if given point is within a square centered in the EDIT_POINT position.
aPoint | is point to be checked. |
aSize | is length of the square side. |
Definition at line 33 of file edit_points.cpp.
References EDIT_POINT::GetPosition(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
staticinherited |
Border size when not hovering.
Definition at line 196 of file edit_points.h.
Referenced by EDIT_POINTS::ViewDraw().
|
staticinherited |
Border size when hovering.
Definition at line 197 of file edit_points.h.
Referenced by EDIT_POINTS::ViewDraw().
|
privateinherited |
Constraint for the point, NULL if none.
Definition at line 209 of file edit_points.h.
Referenced by EDIT_POINT::GetConnected().
|
private |
Definition at line 345 of file edit_points.h.
Referenced by ApplyConstraint(), GetConstraint(), and SetConstraint().
|
private |
End point for a line.
Definition at line 339 of file edit_points.h.
Referenced by ApplyConstraint(), GetEnd(), GetPosition(), operator==(), and SetPosition().
|
privateinherited |
Describe the grid snapping behavior.
Definition at line 204 of file edit_points.h.
Referenced by EDIT_POINT::GetGridConstraint(), and EDIT_POINT::SetGridConstraint().
|
private |
True if the line has a (useful) center point.
Definition at line 341 of file edit_points.h.
Referenced by HasCenterPoint(), and SetHasCenterPoint().
|
privateinherited |
True if this point is being manipulated.
Definition at line 202 of file edit_points.h.
Referenced by EDIT_POINT::IsActive(), and EDIT_POINT::SetActive().
|
privateinherited |
True if this point is being hovered over.
Definition at line 203 of file edit_points.h.
Referenced by EDIT_POINT::IsHover(), and EDIT_POINT::SetHover().
|
private |
Origin point for a line.
Definition at line 338 of file edit_points.h.
Referenced by ApplyConstraint(), GetOrigin(), GetPosition(), operator==(), and SetPosition().
|
privateinherited |
Position of EDIT_POINT.
Definition at line 201 of file edit_points.h.
Referenced by EDIT_POINT::GetPosition(), EDIT_POINT::operator==(), and EDIT_POINT::SetPosition().
|
private |
True if the line itself should be drawn.
Constraint for the point, NULL if none
Definition at line 342 of file edit_points.h.
Referenced by DrawLine(), and SetDrawLine().
|
privateinherited |
Describe the object snapping behavior.
An optional connected item record used to mimic polyLine behavior with individual line segments.
Definition at line 205 of file edit_points.h.
Referenced by EDIT_POINT::GetSnapConstraint(), and EDIT_POINT::SetSnapConstraint().
|
staticinherited |
Definition at line 190 of file edit_points.h.
Referenced by EE_POINT_EDITOR::addCornerCondition(), EDIT_POINTS::FindPoint(), EDIT_POINTS::ViewDraw(), and PCB_TUNING_PATTERN::ViewDraw().