KiCad PCB EDA Suite
|
Creepage: a board edge circle. More...
#include <drc_creepage_utils.h>
Public Types | |
enum class | TYPE { UNDEFINED = 0 , POINT , CIRCLE , ARC } |
Public Member Functions | |
BE_SHAPE_CIRCLE (VECTOR2I aPos=VECTOR2I(0, 0), int aRadius=0) | |
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 |
int | GetRadius () const override |
void | ConnectChildren (std::shared_ptr< GRAPH_NODE > &a1, std::shared_ptr< GRAPH_NODE > &a2, CREEPAGE_GRAPH &aG) const override |
void | ShortenChildDueToGV (std::shared_ptr< GRAPH_NODE > &a1, std::shared_ptr< GRAPH_NODE > &a2, CREEPAGE_GRAPH &aG, double aNormalWeight) 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) |
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 |
virtual std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_ARC &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
bool | IsConductive () |
Protected Attributes | |
int | m_radius |
bool | m_conductive |
BOARD_ITEM * | m_parent |
VECTOR2I | m_pos |
CREEP_SHAPE::TYPE | m_type |
Creepage: a board edge circle.
Definition at line 555 of file drc_creepage_utils.h.
|
stronginherited |
Enumerator | |
---|---|
UNDEFINED | |
POINT | |
CIRCLE | |
ARC |
Definition at line 165 of file drc_creepage_utils.h.
Definition at line 558 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_pos, m_radius, and CREEP_SHAPE::m_type.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 764 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, CREEPAGE_GRAPH::AddConnection(), VECTOR2< T >::EuclideanNorm(), CREEPAGE_GRAPH::GetTarget(), CREEPAGE_GRAPH::m_minGrooveWidth, m_radius, ShortenChildDueToGV(), PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 186 of file drc_creepage_utils.h.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 188 of file drc_creepage_utils.h.
|
inlineinherited |
Definition at line 191 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_parent.
|
inlineinherited |
Definition at line 189 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_pos.
Referenced by CREEPAGE_GRAPH::Addshape(), areEquivalent(), compareShapes(), GRAPH_CONNECTION::GetShapes(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), Paths(), BE_SHAPE_ARC::Paths(), CU_SHAPE_SEGMENT::Paths(), and BE_SHAPE_POINT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 590 of file drc_creepage_utils.h.
References m_radius.
Referenced by Paths(), CU_SHAPE_SEGMENT::Paths(), CU_SHAPE_CIRCLE::Paths(), and BE_SHAPE_POINT::Paths().
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 185 of file drc_creepage_utils.h.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 187 of file drc_creepage_utils.h.
|
inlineinherited |
Definition at line 190 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_type.
Referenced by areEquivalent(), and compareShapes().
|
inlineinherited |
Definition at line 261 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_conductive.
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 299 of file drc_creepage_utils.cpp.
References BE_SHAPE_ARC::AngleBetweenStartAndEnd(), BE_SHAPE_ARC::GetEndAngle(), BE_SHAPE_ARC::GetEndPoint(), CREEP_SHAPE::GetPos(), GetRadius(), BE_SHAPE_ARC::GetRadius(), BE_SHAPE_ARC::GetStartAngle(), BE_SHAPE_ARC::GetStartPoint(), Paths(), and segmentIntersectsArc().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 396 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, CREEP_SHAPE::GetPos(), GetRadius(), VECTOR2< T >::Perpendicular(), VECTOR2< T >::Resize(), VECTOR2< T >::SquaredEuclideanNorm(), PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 565 of file drc_creepage_utils.h.
References BE_SHAPE_POINT::Paths(), and CREEP_SHAPE::ReversePaths().
Referenced by GetPaths(), Paths(), and BE_SHAPE_ARC::Paths().
|
inlineinherited |
Definition at line 211 of file drc_creepage_utils.h.
|
inlinevirtualinherited |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, and BE_SHAPE_ARC.
Definition at line 253 of file drc_creepage_utils.h.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 583 of file drc_creepage_utils.h.
References CU_SHAPE_CIRCLE::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Reimplemented in BE_SHAPE_ARC.
Definition at line 577 of file drc_creepage_utils.h.
References CU_SHAPE_SEGMENT::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineinherited |
Definition at line 197 of file drc_creepage_utils.h.
Referenced by Paths(), BE_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), and BE_SHAPE_POINT::Paths().
|
inlineinherited |
Definition at line 192 of file drc_creepage_utils.h.
References CREEP_SHAPE::m_parent.
Referenced by CREEPAGE_GRAPH::Addshape(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
void BE_SHAPE_CIRCLE::ShortenChildDueToGV | ( | std::shared_ptr< GRAPH_NODE > & | a1, |
std::shared_ptr< GRAPH_NODE > & | a2, | ||
CREEPAGE_GRAPH & | aG, | ||
double | aNormalWeight | ||
) | const |
Definition at line 716 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, CREEPAGE_GRAPH::AddConnection(), CREEPAGE_GRAPH::AddNode(), ANGLE_360, EDA_ANGLE::AsRadians(), CREEPAGE_GRAPH::m_minGrooveWidth, CREEP_SHAPE::m_pos, m_radius, GRAPH_NODE::POINT, RADIANS_T, PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConnectChildren(), and BE_SHAPE_ARC::ConnectChildren().
|
protectedinherited |
Definition at line 265 of file drc_creepage_utils.h.
Referenced by BE_SHAPE::BE_SHAPE(), CREEP_SHAPE::CREEP_SHAPE(), CU_SHAPE::CU_SHAPE(), and CREEP_SHAPE::IsConductive().
|
protectedinherited |
Definition at line 266 of file drc_creepage_utils.h.
Referenced by CREEP_SHAPE::CREEP_SHAPE(), CREEP_SHAPE::GetParent(), and CREEP_SHAPE::SetParent().
|
protectedinherited |
Definition at line 267 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC::AngleBetweenStartAndEnd(), BE_SHAPE_CIRCLE(), BE_SHAPE_POINT::BE_SHAPE_POINT(), CREEP_SHAPE::CREEP_SHAPE(), CREEP_SHAPE::GetPos(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), and ShortenChildDueToGV().
|
protected |
Definition at line 600 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_CIRCLE(), ConnectChildren(), BE_SHAPE_ARC::ConnectChildren(), GetRadius(), BE_SHAPE_ARC::GetRadius(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), and ShortenChildDueToGV().
|
protectedinherited |
Definition at line 268 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC::BE_SHAPE_ARC(), BE_SHAPE_CIRCLE(), BE_SHAPE_POINT::BE_SHAPE_POINT(), CREEP_SHAPE::CREEP_SHAPE(), CU_SHAPE_ARC::CU_SHAPE_ARC(), and CREEP_SHAPE::GetType().