|
KiCad PCB EDA Suite
|
#include <functional>#include <memory>#include <algorithm>#include <limits>#include <advanced_config.h>#include <kiplatform/ui.h>#include <view/view_controls.h>#include <gal/graphics_abstraction_layer.h>#include <geometry/corner_operations.h>#include <geometry/geometry_utils.h>#include <geometry/seg.h>#include <geometry/vector_utils.h>#include <math/util.h>#include <confirm.h>#include <tool/tool_manager.h>#include <tool/point_editor_behavior.h>#include <tool/selection_conditions.h>#include <preview_items/angle_item.h>#include <tools/pcb_actions.h>#include <tools/pcb_selection_tool.h>#include <tools/pcb_point_editor.h>#include <tools/pcb_grid_helper.h>#include <tools/generator_tool.h>#include <dialogs/dialog_unit_entry.h>#include <board_commit.h>#include <pcb_edit_frame.h>#include <pcb_reference_image.h>#include <pcb_generator.h>#include <pcb_group.h>#include <pcb_dimension.h>#include <pcb_barcode.h>#include <pcb_textbox.h>#include <pcb_tablecell.h>#include <pcb_table.h>#include <pad.h>#include <zone.h>#include <footprint.h>#include <footprint_editor_settings.h>#include <connectivity/connectivity_data.h>#include <progress_reporter.h>#include <layer_ids.h>#include <preview_items/preview_utils.h>Go to the source code of this file.
Classes | |
| class | RECT_RADIUS_TEXT_ITEM |
| class | RECTANGLE_POINT_EDIT_BEHAVIOR |
| class | ZONE_POINT_EDIT_BEHAVIOR |
| class | REFERENCE_IMAGE_POINT_EDIT_BEHAVIOR |
| class | BARCODE_POINT_EDIT_BEHAVIOR |
| class | PCB_TABLECELL_POINT_EDIT_BEHAVIOR |
| class | PAD_POINT_EDIT_BEHAVIOR |
| class | GENERATOR_POINT_EDIT_BEHAVIOR |
| Point editor behavior for the PCB_GENERATOR class. More... | |
| class | DIM_ALIGNED_TEXT_UPDATER |
| Class to help update the text position of a dimension when the crossbar changes. More... | |
| class | ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR |
| This covers both aligned and the orthogonal sub-type. More... | |
| class | DIM_CENTER_POINT_EDIT_BEHAVIOR |
| class | DIM_RADIAL_POINT_EDIT_BEHAVIOR |
| class | DIM_LEADER_POINT_EDIT_BEHAVIOR |
| class | TEXTBOX_POINT_EDIT_BEHAVIOR |
| A textbox is edited as a rectnagle when it is orthogonally aligned. More... | |
| class | SHAPE_GROUP_POINT_EDIT_BEHAVIOR |
Enumerations | |
| enum | RECT_POINTS { RECT_TOP_LEFT , RECT_TOP_RIGHT , RECT_BOT_RIGHT , RECT_BOT_LEFT , RECT_CENTER , RECT_RADIUS , RECT_MAX_POINTS } |
| enum | RECT_LINES { RECT_TOP , RECT_RIGHT , RECT_BOT , RECT_LEFT } |
| enum | DIMENSION_POINTS { DIM_START , DIM_END , DIM_TEXT , DIM_CROSSBARSTART , DIM_CROSSBAREND , DIM_KNEE = DIM_CROSSBARSTART , DIM_ALIGNED_MAX = DIM_CROSSBAREND + 1 , DIM_CENTER_MAX = DIM_END + 1 , DIM_RADIAL_MAX = DIM_KNEE + 1 , DIM_LEADER_MAX = DIM_TEXT + 1 } |
| enum | TEXTBOX_POINT_COUNT { WHEN_RECTANGLE = RECT_MAX_POINTS , WHEN_POLYGON = 0 } |
Functions | |
| static void | appendDirection (std::vector< VECTOR2I > &aDirections, const VECTOR2I &aDirection) |
| static std::vector< VECTOR2I > | getConstraintDirections (EDIT_CONSTRAINT< EDIT_POINT > *aConstraint) |
| static bool | canAddCorner (const EDA_ITEM &aItem) |
| Condition to check if a point editor can add a corner to the given item. | |
| static bool | canChamferCorner (const EDA_ITEM &aItem) |
| Condition to check if a point editor can add a chamfer to a corner of the given item. | |
| static VECTOR2I | snapCorner (const VECTOR2I &aPrev, const VECTOR2I &aNext, const VECTOR2I &aGuess, double aAngleDeg) |
| static std::pair< bool, SHAPE_POLY_SET::VERTEX_INDEX > | findVertex (SHAPE_POLY_SET &aPolySet, const EDIT_POINT &aPoint) |
| enum DIMENSION_POINTS |
| Enumerator | |
|---|---|
| DIM_START | |
| DIM_END | |
| DIM_TEXT | |
| DIM_CROSSBARSTART | |
| DIM_CROSSBAREND | |
| DIM_KNEE | |
| DIM_ALIGNED_MAX | |
| DIM_CENTER_MAX | |
| DIM_RADIAL_MAX | |
| DIM_LEADER_MAX | |
Definition at line 134 of file pcb_point_editor.cpp.
| enum RECT_LINES |
| Enumerator | |
|---|---|
| RECT_TOP | |
| RECT_RIGHT | |
| RECT_BOT | |
| RECT_LEFT | |
Definition at line 128 of file pcb_point_editor.cpp.
| enum RECT_POINTS |
| Enumerator | |
|---|---|
| RECT_TOP_LEFT | |
| RECT_TOP_RIGHT | |
| RECT_BOT_RIGHT | |
| RECT_BOT_LEFT | |
| RECT_CENTER | |
| RECT_RADIUS | |
| RECT_MAX_POINTS | |
Definition at line 115 of file pcb_point_editor.cpp.
| enum TEXTBOX_POINT_COUNT |
| Enumerator | |
|---|---|
| WHEN_RECTANGLE | |
| WHEN_POLYGON | |
Definition at line 151 of file pcb_point_editor.cpp.
|
static |
Definition at line 73 of file pcb_point_editor.cpp.
References VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by getConstraintDirections().
|
static |
Condition to check if a point editor can add a corner to the given item.
Definition at line 1791 of file pcb_point_editor.cpp.
References ARC, EDA_SHAPE::GetShape(), PCB_SHAPE_T, PCB_ZONE_T, POLY, SEGMENT, and EDA_ITEM::Type().
Referenced by PCB_POINT_EDITOR::addCorner(), and PCB_POINT_EDITOR::Init().
|
static |
Condition to check if a point editor can add a chamfer to a corner of the given item.
Definition at line 1812 of file pcb_point_editor.cpp.
References EDA_SHAPE::GetShape(), PCB_SHAPE_T, PCB_ZONE_T, POLY, and EDA_ITEM::Type().
Referenced by PCB_POINT_EDITOR::Init().
|
static |
Definition at line 2878 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 |
Definition at line 79 of file pcb_point_editor.cpp.
References appendDirection().
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
static |
Definition at line 1831 of file pcb_point_editor.cpp.
References center, VECTOR2< T >::EuclideanNorm(), KiROUND(), M_PI, next(), normal, project, radius, VECTOR2< T >::Resize(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_POINT_EDITOR::OnSelectionChange().