KiCad PCB EDA Suite
|
Creepage: a conductive arc. More...
#include <drc_creepage_utils.h>
Public Types | |
enum class | TYPE { UNDEFINED = 0 , POINT , CIRCLE , ARC } |
Public Member Functions | |
CU_SHAPE_ARC (VECTOR2I aPos, double aRadius, EDA_ANGLE aStartAngle, EDA_ANGLE aEndAngle, VECTOR2D aStartPoint, VECTOR2D aEndPoint) | |
std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_POINT &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_CIRCLE &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_ARC &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_SEGMENT &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_CIRCLE &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_ARC &aS2, double aMaxWeight, double aMaxSquaredWeight) const override |
EDA_ANGLE | GetStartAngle () const override |
EDA_ANGLE | GetEndAngle () const override |
int | GetRadius () const override |
VECTOR2I | GetStartPoint () const override |
VECTOR2I | GetEndPoint () const override |
EDA_ANGLE | AngleBetweenStartAndEnd (const VECTOR2I aPoint) const |
double | GetWidth () const |
void | SetWidth (double aW) |
VECTOR2I | GetPos () const |
std::vector< PATH_CONNECTION > | Paths (const CREEP_SHAPE &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
CREEP_SHAPE::TYPE | GetType () const |
const BOARD_ITEM * | GetParent () const |
void | SetParent (BOARD_ITEM *aParent) |
virtual void | ConnectChildren (std::shared_ptr< GRAPH_NODE > &a1, std::shared_ptr< GRAPH_NODE > &a2, CREEPAGE_GRAPH &aG) const |
std::vector< PATH_CONNECTION > | ReversePaths (const std::vector< PATH_CONNECTION > &aV) const |
bool | IsConductive () |
Protected Attributes | |
VECTOR2I | m_pos = VECTOR2I( 0, 0 ) |
double | m_radius = 1 |
bool | m_conductive |
BOARD_ITEM * | m_parent |
CREEP_SHAPE::TYPE | m_type |
Private Attributes | |
int | m_width |
EDA_ANGLE | m_startAngle |
EDA_ANGLE | m_endAngle |
VECTOR2I | m_startPoint |
VECTOR2I | m_endPoint |
Creepage: a conductive arc.
Definition at line 379 of file drc_creepage_utils.h.
|
stronginherited |
Enumerator | |
---|---|
UNDEFINED | |
POINT | |
CIRCLE | |
ARC |
Definition at line 164 of file drc_creepage_utils.h.
|
inline |
Definition at line 382 of file drc_creepage_utils.h.
References CU_SHAPE_CIRCLE::CU_SHAPE_CIRCLE(), m_endAngle, m_endPoint, m_startAngle, m_startPoint, CREEP_SHAPE::m_type, and m_width.
Referenced by Paths().
Definition at line 425 of file drc_creepage_utils.h.
References ANGLE_360, GetEndAngle(), GetStartAngle(), and CU_SHAPE_CIRCLE::m_pos.
Referenced by Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
virtualinherited |
Reimplemented in BE_SHAPE_ARC, BE_SHAPE_CIRCLE, and BE_SHAPE_POINT.
Definition at line 672 of file drc_creepage_utils.cpp.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 419 of file drc_creepage_utils.h.
References m_endAngle.
Referenced by AngleBetweenStartAndEnd(), Paths(), Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 423 of file drc_creepage_utils.h.
References m_endPoint.
Referenced by Paths(), Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineinherited |
Definition at line 189 of file drc_creepage_utils.h.
References m_parent.
|
inlineinherited |
Definition at line 350 of file drc_creepage_utils.h.
References m_pos.
Referenced by CU_SHAPE_ARC::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_ARC::Paths(), Paths(), Paths(), Paths(), Paths(), CU_SHAPE_SEGMENT::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 420 of file drc_creepage_utils.h.
References CU_SHAPE_CIRCLE::m_radius.
Referenced by Paths(), Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 418 of file drc_creepage_utils.h.
References m_startAngle.
Referenced by AngleBetweenStartAndEnd(), and Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 422 of file drc_creepage_utils.h.
References m_startPoint.
Referenced by Paths(), Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineinherited |
Definition at line 188 of file drc_creepage_utils.h.
References m_type.
Referenced by areEquivalent(), and compareShapes().
|
inline |
Definition at line 438 of file drc_creepage_utils.h.
References m_width.
Referenced by Paths(), Paths(), Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineinherited |
Definition at line 259 of file drc_creepage_utils.h.
References m_conductive.
|
inlineinherited |
Definition at line 209 of file drc_creepage_utils.h.
References CREEP_SHAPE().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1095 of file drc_creepage_utils.cpp.
References BE_SHAPE_ARC::AngleBetweenStartAndEnd(), BE_SHAPE_ARC::GetEndAngle(), BE_SHAPE_ARC::GetEndPoint(), CREEP_SHAPE::GetPos(), BE_SHAPE_ARC::GetRadius(), BE_SHAPE_ARC::GetStartAngle(), BE_SHAPE_ARC::GetStartPoint(), Paths(), result, and segmentIntersectsArc().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1064 of file drc_creepage_utils.cpp.
References AngleBetweenStartAndEnd(), CU_SHAPE_CIRCLE::CU_SHAPE_CIRCLE(), GetEndAngle(), GetEndPoint(), CU_SHAPE_CIRCLE::GetPos(), GetRadius(), GetStartPoint(), GetWidth(), Paths(), and result.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1531 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, ANGLE_360, circle(), CU_SHAPE_CIRCLE::CU_SHAPE_CIRCLE(), GetEndAngle(), GetEndPoint(), CREEP_SHAPE::GetPos(), CU_SHAPE_CIRCLE::GetPos(), GetRadius(), GetStartAngle(), GetStartPoint(), GetWidth(), radius, result, and PATH_CONNECTION::weight.
Referenced by GetPaths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_POINT::Paths(), Paths(), Paths(), and Paths().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1590 of file drc_creepage_utils.cpp.
References AngleBetweenStartAndEnd(), CU_SHAPE_ARC(), CU_SHAPE_CIRCLE::CU_SHAPE_CIRCLE(), GetEndAngle(), GetEndPoint(), CU_SHAPE_CIRCLE::GetPos(), GetRadius(), GetStartPoint(), GetWidth(), Paths(), CU_SHAPE_CIRCLE::Paths(), result, and PATH_CONNECTION::weight.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 409 of file drc_creepage_utils.h.
References CU_SHAPE_CIRCLE::CU_SHAPE_CIRCLE(), CU_SHAPE_CIRCLE::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 403 of file drc_creepage_utils.h.
References CU_SHAPE_SEGMENT::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineinherited |
Definition at line 195 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC::Paths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), BE_SHAPE_POINT::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_ARC::Paths(), and CU_SHAPE_CIRCLE::Paths().
|
inlineinherited |
Definition at line 190 of file drc_creepage_utils.h.
References m_parent.
Referenced by CREEPAGE_GRAPH::Addshape(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
|
inline |
Definition at line 439 of file drc_creepage_utils.h.
References m_width.
Referenced by CREEPAGE_GRAPH::Addshape().
|
protectedinherited |
Definition at line 262 of file drc_creepage_utils.h.
Referenced by BE_SHAPE::BE_SHAPE(), CREEP_SHAPE(), CU_SHAPE::CU_SHAPE(), and IsConductive().
|
private |
Definition at line 444 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC(), and GetEndAngle().
|
private |
Definition at line 446 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC(), and GetEndPoint().
|
protectedinherited |
Definition at line 263 of file drc_creepage_utils.h.
Referenced by CREEP_SHAPE(), GetParent(), and SetParent().
Definition at line 371 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC::AngleBetweenStartAndEnd(), CU_SHAPE_CIRCLE(), and GetPos().
|
protectedinherited |
Definition at line 372 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_CIRCLE(), CU_SHAPE_ARC::GetRadius(), and GetRadius().
|
private |
Definition at line 443 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC(), and GetStartAngle().
|
private |
Definition at line 445 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC(), and GetStartPoint().
|
protectedinherited |
Definition at line 265 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC::BE_SHAPE_ARC(), BE_SHAPE_CIRCLE::BE_SHAPE_CIRCLE(), BE_SHAPE_POINT::BE_SHAPE_POINT(), CREEP_SHAPE(), CU_SHAPE_ARC::CU_SHAPE_ARC(), and GetType().
|
private |
Definition at line 442 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_ARC(), GetWidth(), and SetWidth().