| 
    KiCad PCB EDA Suite
    
   | 
 
Go to the source code of this file.
Functions | |
| bool | segmentIntersectsArc (const VECTOR2I &p1, const VECTOR2I &p2, const VECTOR2I ¢er, double radius, EDA_ANGLE startAngle, EDA_ANGLE endAngle, std::vector< VECTOR2I > *aIntersectionPoints=nullptr) | 
| bool | segments_intersect (const VECTOR2I &p1, const VECTOR2I &q1, const VECTOR2I &p2, const VECTOR2I &q2, std::vector< VECTOR2I > &aIntersectionPoints) | 
| bool | compareShapes (const CREEP_SHAPE *a, const CREEP_SHAPE *b) | 
| bool | areEquivalent (const CREEP_SHAPE *a, const CREEP_SHAPE *b) | 
| VECTOR2I | closestPointOnSegment (const VECTOR2I &A, const VECTOR2I &B, const VECTOR2I &P) | 
| bool | segmentIntersectsCircle (const VECTOR2I &p1, const VECTOR2I &p2, const VECTOR2I ¢er, double radius, std::vector< VECTOR2I > *aIntersectPoints) | 
| bool | SegmentIntersectsBoard (const VECTOR2I &aP1, const VECTOR2I &aP2, const std::vector< BOARD_ITEM * > &aBe, const std::vector< const BOARD_ITEM * > &aDontTestAgainst, int aMinGrooveWidth) | 
| std::vector< PATH_CONNECTION > | GetPaths (CREEP_SHAPE *aS1, CREEP_SHAPE *aS2, double aMaxWeight) | 
| bool areEquivalent | ( | const CREEP_SHAPE * | a, | 
| const CREEP_SHAPE * | b ) | 
Definition at line 107 of file drc_creepage_utils.cpp.
References CREEP_SHAPE::GetPos(), CREEP_SHAPE::GetRadius(), and CREEP_SHAPE::GetType().
Referenced by CREEPAGE_GRAPH::RemoveDuplicatedShapes().
Definition at line 1393 of file drc_creepage_utils.cpp.
References VECTOR2< T >::Dot(), and VECTOR2< T >::SquaredEuclideanNorm().
Referenced by CU_SHAPE_SEGMENT::Paths().
| bool compareShapes | ( | const CREEP_SHAPE * | a, | 
| const CREEP_SHAPE * | b ) | 
Definition at line 83 of file drc_creepage_utils.cpp.
References CREEP_SHAPE::GetPos(), CREEP_SHAPE::GetRadius(), and CREEP_SHAPE::GetType().
Referenced by CREEPAGE_GRAPH::RemoveDuplicatedShapes().
| std::vector< PATH_CONNECTION > GetPaths | ( | CREEP_SHAPE * | aS1, | 
| CREEP_SHAPE * | aS2, | ||
| double | aMaxWeight ) | 
Definition at line 1817 of file drc_creepage_utils.cpp.
References BE_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_SEGMENT::Paths(), and result.
Referenced by CREEPAGE_GRAPH::GeneratePaths().
| bool segmentIntersectsArc | ( | const VECTOR2I & | p1, | 
| const VECTOR2I & | p2, | ||
| const VECTOR2I & | center, | ||
| double | radius, | ||
| EDA_ANGLE | startAngle, | ||
| EDA_ANGLE | endAngle, | ||
| std::vector< VECTOR2I > * | aIntersectionPoints = nullptr ) | 
Definition at line 28 of file drc_creepage_utils.cpp.
References EDA_ANGLE::AsRadians(), center, and radius.
Referenced by BE_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_SEGMENT::Paths(), and SegmentIntersectsBoard().
| bool SegmentIntersectsBoard | ( | const VECTOR2I & | aP1, | 
| const VECTOR2I & | aP2, | ||
| const std::vector< BOARD_ITEM * > & | aBe, | ||
| const std::vector< const BOARD_ITEM * > & | aDontTestAgainst, | ||
| int | aMinGrooveWidth ) | 
Definition at line 1663 of file drc_creepage_utils.cpp.
References ARC, EDA_SHAPE::CalcArcAngles(), center, CIRCLE, PCB_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetPolyPoints(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), POLY, radius, RECTANGLE, SEGMENT, segmentIntersectsArc(), segmentIntersectsCircle(), segments_intersect(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PATH_CONNECTION::isValid().
| bool segmentIntersectsCircle | ( | const VECTOR2I & | p1, | 
| const VECTOR2I & | p2, | ||
| const VECTOR2I & | center, | ||
| double | radius, | ||
| std::vector< VECTOR2I > * | aIntersectPoints ) | 
Definition at line 1641 of file drc_creepage_utils.cpp.
References center, circle(), and radius.
Referenced by SegmentIntersectsBoard().
| bool segments_intersect | ( | const VECTOR2I & | p1, | 
| const VECTOR2I & | q1, | ||
| const VECTOR2I & | p2, | ||
| const VECTOR2I & | q2, | ||
| std::vector< VECTOR2I > & | aIntersectionPoints ) | 
Definition at line 62 of file drc_creepage_utils.cpp.
Referenced by SegmentIntersectsBoard().