KiCad PCB EDA Suite
|
Go to the source code of this file.
Functions | |
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().