KiCad PCB EDA Suite
|
#include "tool/point_editor_behavior.h"
#include <advanced_config.h>
#include <geometry/shape_poly_set.h>
Go to the source code of this file.
Functions | |
static void | editArcEndpointKeepTangent (EDA_SHAPE &aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) |
Move an end point of the arc, while keeping the tangent at the other endpoint. | |
static void | editArcCenterKeepEndpoints (EDA_SHAPE &aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd) |
Move the arc center but keep endpoint locations. | |
static void | editArcEndpointKeepCenter (EDA_SHAPE &aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) |
Move an end point of the arc around the circumference. | |
static void | editArcEndpointKeepCenterAndRadius (EDA_SHAPE &aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd) |
static void | editArcMidKeepCenter (EDA_SHAPE &aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) |
Move the mid point of the arc, while keeping the two endpoints. | |
static void | editArcMidKeepEndpoints (EDA_SHAPE &aArc, const VECTOR2I &aStart, const VECTOR2I &aEnd, const VECTOR2I &aCursor) |
Move the mid point of the arc, while keeping the angle. | |
ARC_EDIT_MODE | IncrementArcEditMode (ARC_EDIT_MODE aMode) |
|
static |
Move the arc center but keep endpoint locations.
Definition at line 392 of file point_editor_behavior.cpp.
References SEG::A, SEG::B, VECTOR2< int32_t >::ECOORD_MAX, SEG::IntersectLines(), VECTOR2< T >::Resize(), EDA_SHAPE::SetCenter(), and SEG::SquaredDistance().
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
|
static |
Move an end point of the arc around the circumference.
Definition at line 440 of file point_editor_behavior.cpp.
References VECTOR2< T >::EuclideanNorm(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, radius, VECTOR2< T >::Resize(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
|
static |
Definition at line 497 of file point_editor_behavior.cpp.
References EDA_SHAPE::GetRadius(), EDA_SHAPE::GetStart(), VECTOR2< T >::Resize(), EDA_SHAPE::SetEnd(), and EDA_SHAPE::SetStart().
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
|
static |
Move an end point of the arc, while keeping the tangent at the other endpoint.
Definition at line 242 of file point_editor_behavior.cpp.
References center, delta, VECTOR2< T >::EuclideanNorm(), VECTOR3< T >::EuclideanNorm(), ADVANCED_CFG::GetCfg(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), ADVANCED_CFG::m_DrawArcCenterMaxAngle, EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), v1, v2, v3, v4, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, and VECTOR3< T >::y.
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
|
static |
Move the mid point of the arc, while keeping the two endpoints.
Definition at line 535 of file point_editor_behavior.cpp.
References end, EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, radius, VECTOR2< T >::Resize(), EDA_SHAPE::SetEnd(), and EDA_SHAPE::SetStart().
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
|
static |
Move the mid point of the arc, while keeping the angle.
Definition at line 566 of file point_editor_behavior.cpp.
References EDA_SHAPE::GetArcMid(), SEG::NearestPoint(), VECTOR2< T >::Resize(), and EDA_SHAPE::SetArcGeometry().
Referenced by EDA_ARC_POINT_EDIT_BEHAVIOR::UpdateItem().
ARC_EDIT_MODE IncrementArcEditMode | ( | ARC_EDIT_MODE | aMode | ) |
Definition at line 702 of file point_editor_behavior.cpp.
References KEEP_CENTER_ADJUST_ANGLE_RADIUS, KEEP_CENTER_ENDS_ADJUST_ANGLE, and KEEP_ENDPOINTS_OR_START_DIRECTION.
Referenced by SCH_POINT_EDITOR::changeArcEditMode(), and PCB_POINT_EDITOR::changeArcEditMode().