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 > *aIntersectPoints) |
bool | segments_intersect (VECTOR2I p1, VECTOR2I q1, VECTOR2I p2, VECTOR2I q2, std::vector< VECTOR2I > *aIntersectPoints) |
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 (VECTOR2I p1, VECTOR2I p2, VECTOR2I center, 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) |
bool | CheckPathValidity (VECTOR2I aP1, VECTOR2I aP2, std::vector< BOARD_ITEM * > aBe, std::vector< const BOARD_ITEM * > aDontTestAgainst) |
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 94 of file drc_creepage_utils.cpp.
References CREEP_SHAPE::GetPos(), CREEP_SHAPE::GetRadius(), and CREEP_SHAPE::GetType().
Referenced by CreepageGraph::RemoveDuplicatedShapes().
bool CheckPathValidity | ( | VECTOR2I | aP1, |
VECTOR2I | aP2, | ||
std::vector< BOARD_ITEM * > | aBe, | ||
std::vector< const BOARD_ITEM * > | aDontTestAgainst | ||
) |
Definition at line 1916 of file drc_creepage_utils.cpp.
Definition at line 1477 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 65 of file drc_creepage_utils.cpp.
References CREEP_SHAPE::GetPos(), CREEP_SHAPE::GetRadius(), and CREEP_SHAPE::GetType().
Referenced by CreepageGraph::RemoveDuplicatedShapes().
std::vector< PATH_CONNECTION > GetPaths | ( | CREEP_SHAPE * | aS1, |
CREEP_SHAPE * | aS2, | ||
double | aMaxWeight | ||
) |
Definition at line 1922 of file drc_creepage_utils.cpp.
References CU_SHAPE_SEGMENT::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), BE_SHAPE_POINT::Paths(), BE_SHAPE_CIRCLE::Paths(), and BE_SHAPE_ARC::Paths().
Referenced by CreepageGraph::GeneratePaths().
bool segmentIntersectsArc | ( | const VECTOR2I & | p1, |
const VECTOR2I & | p2, | ||
const VECTOR2I & | center, | ||
double | radius, | ||
EDA_ANGLE | startAngle, | ||
EDA_ANGLE | endAngle, | ||
std::vector< VECTOR2I > * | aIntersectPoints | ||
) |
Definition at line 837 of file drc_creepage_utils.cpp.
References EDA_ANGLE::AsRadians().
Referenced by CU_SHAPE_SEGMENT::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::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 1763 of file drc_creepage_utils.cpp.
References ARC, EDA_SHAPE::CalcArcAngles(), CIRCLE, EDA_SHAPE::DupPolyPointsList(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), POLY, RECTANGLE, SEGMENT, segmentIntersectsArc(), segmentIntersectsCircle(), segments_intersect(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PATH_CONNECTION::isValid().
bool segmentIntersectsCircle | ( | VECTOR2I | p1, |
VECTOR2I | p2, | ||
VECTOR2I | center, | ||
double | radius, | ||
std::vector< VECTOR2I > * | aIntersectPoints | ||
) |
Definition at line 1739 of file drc_creepage_utils.cpp.
Referenced by SegmentIntersectsBoard().
bool segments_intersect | ( | VECTOR2I | p1, |
VECTOR2I | q1, | ||
VECTOR2I | p2, | ||
VECTOR2I | q2, | ||
std::vector< VECTOR2I > * | aIntersectPoints | ||
) |
Definition at line 35 of file drc_creepage_utils.cpp.
Referenced by SegmentIntersectsBoard().