KiCad PCB EDA Suite
|
Go to the source code of this file.
Functions | |
static PCB_SHAPE * | findNext (PCB_SHAPE *aShape, const VECTOR2I &aPoint, const std::vector< PCB_SHAPE * > &aList, unsigned aLimit) |
Searches for a PCB_SHAPE matching a given end point or start point in a list. | |
void | ConnectBoardShapes (std::vector< PCB_SHAPE * > &aShapeList, std::vector< std::unique_ptr< PCB_SHAPE > > &aNewShapes, int aChainingEpsilon) |
Connects shapes to each other, making continious contours (adjacent shapes will have a common vertex) aChainingEpsilon is the max distance between vertices of different shapes to connect. | |
void ConnectBoardShapes | ( | std::vector< PCB_SHAPE * > & | aShapeList, |
std::vector< std::unique_ptr< PCB_SHAPE > > & | aNewShapes, | ||
int | aChainingEpsilon | ||
) |
Connects shapes to each other, making continious contours (adjacent shapes will have a common vertex) aChainingEpsilon is the max distance between vertices of different shapes to connect.
Modifies original shapes, or creates new line segments and stores them in aNewShapes.
Definition at line 86 of file fix_board_shape.cpp.
References SEG::A, addSegment(), SEG::Angle(), ANGLE_360, ANGLE_45, ARC, SEG::B, BEZIER, EDA_ITEM::ClearFlags(), close_enough(), closer_to_first(), DEGREES_T, SEG::Distance(), findNext(), EDA_SHAPE::GetArcMid(), SHAPE_ARC::GetArcMid(), SHAPE_ARC::GetCenter(), SHAPE_ARC::GetCentralAngle(), EDA_SHAPE::GetEnd(), PCB_SHAPE::GetLayer(), SHAPE_ARC::GetP0(), SHAPE_ARC::GetP1(), SHAPE_ARC::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), PCB_SHAPE::GetWidth(), SHAPE_ARC::IntersectLine(), SEG::IntersectLines(), SEG::Intersects(), SHAPE_ARC::IsClockwise(), SEG::LineProject(), CIRCLE::NearestPoint(), RotatePoint(), SEGMENT, EDA_SHAPE::SetArcGeometry(), EDA_SHAPE::SetEnd(), EDA_ITEM::SetFlags(), EDA_SHAPE::SetStart(), SKIP_STRUCT, SEG::Square(), and SEG::SquaredDistance().
Referenced by GRAPHICS_CLEANER::fixBoardOutlines(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_EASYEDA_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_PARSER::ParseFootprint(), PCB_IO_EASYEDA_PARSER::ParseFootprint(), and DRAWING_TOOL::PlaceImportedGraphics().
|
static |
Searches for a PCB_SHAPE matching a given end point or start point in a list.
aShape | The starting shape. |
aPoint | The starting or ending point to search for. |
aList | The list to remove from. |
aLimit | is the distance from aPoint that still constitutes a valid find. |
Definition at line 41 of file fix_board_shape.cpp.
References SKIP_STRUCT, and SEG::Square().
Referenced by ConnectBoardShapes().