![]() |
KiCad PCB EDA Suite
|
#include <functional>
#include <memory>
#include <advanced_config.h>
#include <tool/tool_manager.h>
#include <view/view_controls.h>
#include <geometry/seg.h>
#include <confirm.h>
#include "pcb_actions.h"
#include "pcb_selection_tool.h"
#include "pcb_point_editor.h"
#include "pcb_grid_helper.h"
#include <board_commit.h>
#include <bitmaps.h>
#include <status_popup.h>
#include <pcb_edit_frame.h>
#include <fp_shape.h>
#include <pcb_dimension.h>
#include <pad.h>
#include <zone.h>
#include <connectivity/connectivity_data.h>
#include <progress_reporter.h>
Go to the source code of this file.
Enumerations | |
enum | SEG_POINTS { SEG_START, SEG_END } |
enum | RECT_POINTS { RECT_TOP_LEFT, RECT_TOP_RIGHT, RECT_BOT_RIGHT, RECT_BOT_LEFT } |
enum | RECT_LINES { RECT_TOP, RECT_RIGHT, RECT_BOT, RECT_LEFT } |
enum | ARC_POINTS { ARC_CENTER, ARC_START, ARC_END, ARC_CENTER, ARC_START, ARC_MID, ARC_END } |
enum | CIRCLE_POINTS { CIRC_CENTER, CIRC_END, CIRC_CENTER, CIRC_END } |
enum | BEZIER_CURVE_POINTS { BEZIER_CURVE_START, BEZIER_CURVE_CONTROL_POINT1, BEZIER_CURVE_CONTROL_POINT2, BEZIER_CURVE_END } |
enum | DIMENSION_POINTS { DIM_START, DIM_END, DIM_TEXT, DIM_CROSSBARSTART, DIM_CROSSBAREND } |
Functions | |
static void | pinEditedCorner (int aEditedPointIndex, int aMinWidth, int aMinHeight, VECTOR2I &aTopLeft, VECTOR2I &aTopRight, VECTOR2I &aBotLeft, VECTOR2I &aBotRight, VECTOR2I &aHole, VECTOR2I &aHoleSize) |
Update the coordinates of 4 corners of a rectangle, according to pad constraints and the moved corner. More... | |
static std::pair< bool, SHAPE_POLY_SET::VERTEX_INDEX > | findVertex (SHAPE_POLY_SET &aPolySet, const EDIT_POINT &aPoint) |
enum ARC_POINTS |
Enumerator | |
---|---|
ARC_CENTER | |
ARC_START | |
ARC_END | |
ARC_CENTER | |
ARC_START | |
ARC_MID | |
ARC_END |
Definition at line 70 of file pcb_point_editor.cpp.
enum BEZIER_CURVE_POINTS |
Enumerator | |
---|---|
BEZIER_CURVE_START | |
BEZIER_CURVE_CONTROL_POINT1 | |
BEZIER_CURVE_CONTROL_POINT2 | |
BEZIER_CURVE_END |
Definition at line 82 of file pcb_point_editor.cpp.
enum CIRCLE_POINTS |
Enumerator | |
---|---|
CIRC_CENTER | |
CIRC_END | |
CIRC_CENTER | |
CIRC_END |
Definition at line 76 of file pcb_point_editor.cpp.
enum DIMENSION_POINTS |
Enumerator | |
---|---|
DIM_START | |
DIM_END | |
DIM_TEXT | |
DIM_CROSSBARSTART | |
DIM_CROSSBAREND |
Definition at line 91 of file pcb_point_editor.cpp.
enum RECT_LINES |
Enumerator | |
---|---|
RECT_TOP | |
RECT_RIGHT | |
RECT_BOT | |
RECT_LEFT |
Definition at line 64 of file pcb_point_editor.cpp.
enum RECT_POINTS |
Enumerator | |
---|---|
RECT_TOP_LEFT | |
RECT_TOP_RIGHT | |
RECT_BOT_RIGHT | |
RECT_BOT_LEFT |
Definition at line 58 of file pcb_point_editor.cpp.
enum SEG_POINTS |
Enumerator | |
---|---|
SEG_START | |
SEG_END |
Definition at line 52 of file pcb_point_editor.cpp.
|
static |
Definition at line 1905 of file pcb_point_editor.cpp.
References SHAPE_POLY_SET::CVertex(), EDIT_POINT::GetPosition(), and SHAPE_POLY_SET::IterateWithHoles().
Referenced by PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), and PNS::LINE::Walkaround().
|
static |
Update the coordinates of 4 corners of a rectangle, according to pad constraints and the moved corner.
aEditedPointIndex | is the corner id |
aMinWidth | is the minimal width constraint |
aMinHeight | is the minimal height constraint |
aTopLeft | [in/out] is the RECT_TOPLEFT to constraint |
aTopRight | [in/out] is the RECT_TOPRIGHT to constraint |
aBotLeft | [in/out] is the RECT_BOTLEFT to constraint |
aBotRight | [in/out] is the RECT_BOTRIGHT to constraint |
aHole | the location of the pad's hole |
aHoleSize | the pad's hole size (or {0,0} if it has no hole) |
Definition at line 786 of file pcb_point_editor.cpp.
References RECT_BOT_LEFT, RECT_BOT_RIGHT, RECT_TOP_LEFT, RECT_TOP_RIGHT, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_POINT_EDITOR::updateItem().