|
KiCad PCB EDA Suite
|
#include <eda_shape.h>#include <base_units.h>#include <bezier_curves.h>#include <convert_basic_shapes_to_polygon.h>#include <eda_draw_frame.h>#include <geometry/shape_arc.h>#include <geometry/shape_circle.h>#include <geometry/shape_compound.h>#include <geometry/shape_ellipse.h>#include <geometry/shape_line_chain.h>#include <geometry/shape_simple.h>#include <geometry/shape_segment.h>#include <geometry/shape_rect.h>#include <geometry/shape_utils.h>#include <geometry/roundrect.h>#include <geometry/geometry_utils.h>#include <macros.h>#include <algorithm>#include <iterator>#include <properties/property_validators.h>#include <properties/property.h>#include <properties/property_mgr.h>#include <math/util.h>#include <eda_item.h>#include <plotters/plotter.h>#include <api/api_enums.h>#include <api/api_utils.h>#include <api/common/types/base_types.pb.h>Go to the source code of this file.
Classes | |
| struct | EDA_SHAPE_DESC |
Macros | |
| #define | sq(x) |
| #define | SWAPITEM(x) |
| #define | EPSILON 2 |
| #define | TEST(a, b) |
| #define | TEST_E(a, b) |
| #define | TEST_PT(a, b) |
Functions | |
| static bool | hasLineEnding (const LINE_ENDING &aStartEnding, const LINE_ENDING &aEndEnding) |
| static SHAPE_LINE_CHAIN | lineEndingClosedChain (const std::vector< VECTOR2I > &aPolygon) |
| static void | addLineEndingEffectiveShapes (std::vector< SHAPE * > &aShapes, const LINE_ENDING &aEnding, const VECTOR2I &aPoint, const EDA_ANGLE &aTangent, int aLineWidth) |
| static void | addLineEndingPolygon (SHAPE_POLY_SET &aBuffer, const LINE_ENDING &aEnding, const VECTOR2I &aPoint, const EDA_ANGLE &aTangent, int aClearance, int aError, ERROR_LOC aErrorLoc, int aLineWidth) |
| static double | bezierLength (const BEZIER< double > &aBezier, double aT0, double aT1) |
| static double | findBezierTAtLength (const BEZIER< double > &aBezier, double aTargetLength, double aTotalLength) |
| static double | bezierSpeedAt (const BEZIER< double > &aBezier, double aT) |
Variables | |
| static struct EDA_SHAPE_DESC | _EDA_SHAPE_DESC |
| #define EPSILON 2 |
Referenced by ConvertColourToAlphaInPlace(), primitiveNeedsUpdate(), shapeNeedsUpdate(), and zoneNeedsUpdate().
| #define sq | ( | x | ) |
Referenced by EDA_SHAPE::calcEdit().
| #define SWAPITEM | ( | x | ) |
Referenced by EDA_SHAPE::SwapShape().
| #define TEST | ( | a, | |
| b ) |
Referenced by EDA_SHAPE::Compare(), PADSTACK::Compare(), PADSTACK::DRILL_PROPS::Compare(), PADSTACK::POST_MACHINING_PROPS::Compare(), PADSTACK::SHAPE_PROPS::Compare(), FOOTPRINT::FootprintNeedsUpdate(), and KI_TEST::kitest_cmp_drawings::operator()().
| #define TEST_E | ( | a, | |
| b ) |
Referenced by EDA_SHAPE::Compare().
| #define TEST_PT | ( | a, | |
| b ) |
Referenced by EDA_SHAPE::Compare(), and KI_TEST::kitest_cmp_drawings::operator()().
|
static |
Definition at line 2532 of file eda_shape.cpp.
References ARROW_OPEN, SHAPE_LINE_CHAIN::CSegment(), LINE_ENDING::GetShapes(), LINE_ENDING::GetStrokeWidth(), LINE_ENDING::GetStyle(), lineEndingClosedChain(), NONE, SHAPE_LINE_CHAIN::PointCount(), and SHAPE_LINE_CHAIN::SegmentCount().
Referenced by EDA_SHAPE::MakeLineEndingEffectiveShapes().
|
static |
Definition at line 2705 of file eda_shape.cpp.
References SEG::A, SHAPE_POLY_SET::Append(), ARROW_OPEN, SEG::B, SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::CSegment(), ERROR_OUTSIDE, LINE_ENDING::GetShapes(), LINE_ENDING::GetStrokeWidth(), LINE_ENDING::GetStyle(), SHAPE_POLY_SET::Inflate(), lineEndingClosedChain(), SHAPE_POLY_SET::NewOutline(), NONE, SHAPE_LINE_CHAIN::PointCount(), ROUND_ALL_CORNERS, SHAPE_LINE_CHAIN::SegmentCount(), and TransformOvalToPolygon().
Referenced by EDA_SHAPE::TransformLineEndingsToPolygon().
|
static |
Definition at line 4290 of file eda_shape.cpp.
References bezierSpeedAt(), and center.
Referenced by findBezierTAtLength(), EDA_SHAPE::GetEndingTangents(), and EDA_SHAPE::ShortenedBezierCurve().
|
static |
Definition at line 4278 of file eda_shape.cpp.
References BEZIER< NumericType >::C1, BEZIER< NumericType >::C2, BEZIER< NumericType >::End, VECTOR2< T >::EuclideanNorm(), and BEZIER< NumericType >::Start.
Referenced by bezierLength().
|
static |
Definition at line 4323 of file eda_shape.cpp.
References bezierLength().
Referenced by EDA_SHAPE::GetEndingTangents(), and EDA_SHAPE::ShortenedBezierCurve().
|
static |
Definition at line 2526 of file eda_shape.cpp.
References LINE_ENDING::GetStyle(), and NONE.
Referenced by EDA_SHAPE::GetLineEndingsBoundingBox(), SCH_LINE::HitTest(), SCH_LINE::HitTest(), SCH_LINE::HitTest(), EDA_SHAPE::hitTest(), EDA_SHAPE::hitTest(), EDA_SHAPE::hitTest(), EDA_SHAPE::MakeLineEndingEffectiveShapes(), and EDA_SHAPE::TransformLineEndingsToPolygon().
|
static |
Definition at line 2509 of file eda_shape.cpp.
References chain.
Referenced by addLineEndingEffectiveShapes(), and addLineEndingPolygon().
|
static |