KiCad PCB EDA Suite
|
Creepage: a conductive segment. More...
#include <drc_creepage_utils.h>
Public Types | |
enum class | TYPE { UNDEFINED = 0 , POINT , CIRCLE , ARC } |
Public Member Functions | |
CU_SHAPE_SEGMENT (VECTOR2I aStart, VECTOR2I aEnd, double aWidth=0) | |
VECTOR2I | GetStart () const |
VECTOR2I | GetEnd () const |
double | GetWidth () const |
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 |
virtual int | GetRadius () const |
virtual EDA_ANGLE | GetStartAngle () const |
virtual EDA_ANGLE | GetEndAngle () const |
virtual VECTOR2I | GetStartPoint () const |
virtual VECTOR2I | GetEndPoint () const |
VECTOR2I | GetPos () const |
CREEP_SHAPE::TYPE | GetType () const |
const BOARD_ITEM * | GetParent () const |
void | SetParent (BOARD_ITEM *aParent) |
virtual void | ConnectChildren (std::shared_ptr< GraphNode > &a1, std::shared_ptr< GraphNode > &a2, CreepageGraph &aG) const |
std::vector< PATH_CONNECTION > | ReversePaths (const std::vector< PATH_CONNECTION > &aV) const |
std::vector< PATH_CONNECTION > | Paths (const CREEP_SHAPE &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
bool | IsConductive () |
Protected Attributes | |
bool | m_conductive = false |
BOARD_ITEM * | m_parent = nullptr |
VECTOR2I | m_pos = VECTOR2I( 0, 0 ) |
CREEP_SHAPE::TYPE | m_type = CREEP_SHAPE::TYPE::UNDEFINED |
Private Attributes | |
VECTOR2I | m_start = VECTOR2I( 0, 0 ) |
VECTOR2I | m_end = VECTOR2I( 0, 0 ) |
double | m_width = 0 |
Creepage: a conductive segment.
Definition at line 282 of file drc_creepage_utils.h.
|
stronginherited |
Enumerator | |
---|---|
UNDEFINED | |
POINT | |
CIRCLE | |
ARC |
Definition at line 164 of file drc_creepage_utils.h.
Definition at line 285 of file drc_creepage_utils.h.
|
virtualinherited |
Reimplemented in BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 704 of file drc_creepage_utils.cpp.
|
inline |
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 178 of file drc_creepage_utils.h.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 180 of file drc_creepage_utils.h.
|
inlineinherited |
Definition at line 183 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_parent.
|
inlineinherited |
Definition at line 181 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_pos.
Referenced by CreepageGraph::Addshape(), areEquivalent(), compareShapes(), GraphConnection::GetShapes(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_ARC::Paths(), Paths(), and BE_SHAPE_POINT::Paths().
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 176 of file drc_creepage_utils.h.
Referenced by areEquivalent(), and compareShapes().
|
inline |
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 177 of file drc_creepage_utils.h.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 179 of file drc_creepage_utils.h.
|
inlineinherited |
Definition at line 182 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_type.
Referenced by areEquivalent(), and compareShapes().
|
inline |
|
inlineinherited |
Definition at line 247 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_conductive.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1046 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(), and segmentIntersectsArc().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 913 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, EDA_ANGLE::AsRadians(), GetEnd(), CREEP_SHAPE::GetPos(), BE_SHAPE_CIRCLE::GetRadius(), GetStart(), GetWidth(), CU_SHAPE_CIRCLE::Paths(), VECTOR2< T >::Resize(), PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 864 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, EDA_ANGLE::AsRadians(), GetEnd(), CREEP_SHAPE::GetPos(), GetStart(), GetWidth(), PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GetPaths(), Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), BE_SHAPE_POINT::Paths(), BE_SHAPE_CIRCLE::Paths(), and BE_SHAPE_ARC::Paths().
|
inlineinherited |
Definition at line 203 of file drc_creepage_utils.h.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1383 of file drc_creepage_utils.cpp.
References CU_SHAPE_ARC::AngleBetweenStartAndEnd(), GetEnd(), CU_SHAPE_ARC::GetEndAngle(), CU_SHAPE_ARC::GetEndPoint(), CU_SHAPE_CIRCLE::GetPos(), CU_SHAPE_ARC::GetRadius(), GetStart(), CU_SHAPE_ARC::GetStartPoint(), GetWidth(), CU_SHAPE_ARC::GetWidth(), Paths(), CU_SHAPE_CIRCLE::Paths(), and PATH_CONNECTION::weight.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1254 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, EDA_ANGLE::AsRadians(), GetEnd(), CU_SHAPE_CIRCLE::GetPos(), CU_SHAPE_CIRCLE::GetRadius(), GetStart(), GetWidth(), CU_SHAPE_CIRCLE::Paths(), VECTOR2< T >::Resize(), PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 1496 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, closestPointOnSegment(), D, GetEnd(), GetStart(), GetWidth(), and PATH_CONNECTION::weight.
|
inlineinherited |
Definition at line 189 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), and BE_SHAPE_POINT::Paths().
|
inlineinherited |
Definition at line 184 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_parent.
Referenced by CreepageGraph::Addshape(), and CreepageGraph::TransformEdgeToCreepShapes().
|
protectedinherited |
Definition at line 251 of file drc_creepage_utils.h.
Referenced by BE_SHAPE::BE_SHAPE(), CU_SHAPE::CU_SHAPE(), and CREEP_SHAPE::IsConductive().
Definition at line 312 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetEnd().
|
protectedinherited |
Definition at line 252 of file drc_creepage_utils.h.
Referenced by CreepageGraph::FindNode(), CREEP_SHAPE::GetParent(), and CREEP_SHAPE::SetParent().
Definition at line 311 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetStart().
|
protectedinherited |
Definition at line 254 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(), CU_SHAPE_ARC::CU_SHAPE_ARC(), and CREEP_SHAPE::GetType().
|
private |
Definition at line 313 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetWidth().