|
KiCad PCB EDA Suite
|
Creepage: a board edge arc. More...
#include <drc_creepage_utils.h>
Public Types | |
| enum class | TYPE { UNDEFINED = 0 , POINT , CIRCLE , ARC } |
Public Member Functions | |
| BE_SHAPE_ARC (VECTOR2I aPos, int aRadius, EDA_ANGLE aStartAngle, EDA_ANGLE aEndAngle, VECTOR2D aStartPoint, VECTOR2D aEndPoint) | |
| void | ConnectChildren (std::shared_ptr< GRAPH_NODE > &a1, std::shared_ptr< GRAPH_NODE > &a2, CREEPAGE_GRAPH &aG) const override |
| 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 |
| std::pair< bool, bool > | IsThereATangentPassingThroughPoint (const BE_SHAPE_POINT aPoint) const |
| std::vector< PATH_CONNECTION > | Paths (const CREEP_SHAPE &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
| void | ShortenChildDueToGV (std::shared_ptr< GRAPH_NODE > &a1, std::shared_ptr< GRAPH_NODE > &a2, CREEPAGE_GRAPH &aG, double aNormalWeight) 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 |
| bool | IsConductive () |
Protected Attributes | |
| EDA_ANGLE | m_startAngle |
| EDA_ANGLE | m_endAngle |
| VECTOR2I | m_startPoint |
| VECTOR2I | m_endPoint |
| int | m_radius |
| bool | m_conductive |
| BOARD_ITEM * | m_parent |
| VECTOR2I | m_pos |
| CREEP_SHAPE::TYPE | m_type |
Creepage: a board edge arc.
Definition at line 678 of file drc_creepage_utils.h.
|
stronginherited |
| Enumerator | |
|---|---|
| UNDEFINED | |
| POINT | |
| CIRCLE | |
| ARC | |
Definition at line 222 of file drc_creepage_utils.h.
|
inline |
Definition at line 681 of file drc_creepage_utils.h.
References BE_SHAPE_CIRCLE::BE_SHAPE_CIRCLE(), m_endAngle, m_endPoint, m_startAngle, m_startPoint, and CREEP_SHAPE::m_type.
Referenced by Paths().
Definition at line 729 of file drc_creepage_utils.h.
References ANGLE_360, m_endAngle, CREEP_SHAPE::m_pos, and m_startAngle.
Referenced by ConnectChildren(), IsThereATangentPassingThroughPoint(), Paths(), BE_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 764 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, CREEPAGE_GRAPH::AddConnection(), AngleBetweenStartAndEnd(), CREEPAGE_GRAPH::GetTarget(), CREEPAGE_GRAPH::m_minGrooveWidth, BE_SHAPE_CIRCLE::m_radius, BE_SHAPE_CIRCLE::ShortenChildDueToGV(), and PATH_CONNECTION::weight.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 724 of file drc_creepage_utils.h.
References m_endAngle.
Referenced by Paths(), BE_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 728 of file drc_creepage_utils.h.
References m_endPoint.
Referenced by Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineinherited |
Definition at line 247 of file drc_creepage_utils.h.
References m_parent.
|
inlineinherited |
Definition at line 245 of file drc_creepage_utils.h.
References m_pos.
Referenced by CREEPAGE_GRAPH::Addshape(), areEquivalent(), compareShapes(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), BE_SHAPE_ARC::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(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_SEGMENT::Paths(), CU_SHAPE_SEGMENT::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 725 of file drc_creepage_utils.h.
References BE_SHAPE_CIRCLE::m_radius.
Referenced by Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 723 of file drc_creepage_utils.h.
References m_startAngle.
Referenced by BE_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 727 of file drc_creepage_utils.h.
References m_startPoint.
Referenced by Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), and CU_SHAPE_SEGMENT::Paths().
|
inlineinherited |
Definition at line 246 of file drc_creepage_utils.h.
References m_type.
Referenced by areEquivalent(), and compareShapes().
|
inlineinherited |
Definition at line 317 of file drc_creepage_utils.h.
References m_conductive.
| std::pair< bool, bool > BE_SHAPE_ARC::IsThereATangentPassingThroughPoint | ( | const BE_SHAPE_POINT | aPoint | ) | const |
Definition at line 196 of file drc_creepage_utils.cpp.
References AngleBetweenStartAndEnd(), EDA_ANGLE::AsRadians(), CREEP_SHAPE::GetPos(), m_endAngle, CREEP_SHAPE::m_pos, BE_SHAPE_CIRCLE::m_radius, m_startAngle, result, VECTOR2< T >::SquaredEuclideanNorm(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BE_SHAPE_POINT::Paths().
|
overridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 346 of file drc_creepage_utils.cpp.
References AngleBetweenStartAndEnd(), BE_SHAPE_ARC(), BE_SHAPE_CIRCLE::BE_SHAPE_CIRCLE(), GetEndAngle(), GetEndPoint(), CREEP_SHAPE::GetPos(), GetRadius(), GetStartPoint(), Paths(), and result.
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 699 of file drc_creepage_utils.h.
References BE_SHAPE_CIRCLE::BE_SHAPE_CIRCLE(), BE_SHAPE_CIRCLE::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 694 of file drc_creepage_utils.h.
References BE_SHAPE_POINT::Paths(), and CREEP_SHAPE::ReversePaths().
Referenced by GetPaths(), and Paths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 717 of file drc_creepage_utils.h.
References CU_SHAPE_ARC::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 712 of file drc_creepage_utils.h.
References CU_SHAPE_CIRCLE::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineoverridevirtual |
Reimplemented from CREEP_SHAPE.
Definition at line 707 of file drc_creepage_utils.h.
References CU_SHAPE_SEGMENT::Paths(), and CREEP_SHAPE::ReversePaths().
|
inlineinherited |
Definition at line 267 of file drc_creepage_utils.h.
References CREEP_SHAPE().
|
inlineinherited |
Definition at line 253 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 248 of file drc_creepage_utils.h.
References m_parent.
Referenced by CREEPAGE_GRAPH::Addshape(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
|
inherited |
Definition at line 685 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, CREEPAGE_GRAPH::AddConnection(), CREEPAGE_GRAPH::AddNode(), ANGLE_0, 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 BE_SHAPE_ARC::ConnectChildren(), and ConnectChildren().
|
protectedinherited |
Definition at line 320 of file drc_creepage_utils.h.
Referenced by BE_SHAPE::BE_SHAPE(), CREEP_SHAPE(), CU_SHAPE::CU_SHAPE(), and IsConductive().
|
protected |
Definition at line 745 of file drc_creepage_utils.h.
Referenced by AngleBetweenStartAndEnd(), BE_SHAPE_ARC(), GetEndAngle(), and IsThereATangentPassingThroughPoint().
|
protected |
Definition at line 747 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC(), and GetEndPoint().
|
protectedinherited |
Definition at line 321 of file drc_creepage_utils.h.
Referenced by CREEP_SHAPE(), GetParent(), and SetParent().
|
protectedinherited |
Definition at line 322 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC::AngleBetweenStartAndEnd(), BE_SHAPE_CIRCLE::BE_SHAPE_CIRCLE(), BE_SHAPE_POINT::BE_SHAPE_POINT(), CREEP_SHAPE(), GetPos(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), and BE_SHAPE_CIRCLE::ShortenChildDueToGV().
|
protectedinherited |
Definition at line 671 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_CIRCLE(), BE_SHAPE_ARC::ConnectChildren(), ConnectChildren(), BE_SHAPE_ARC::GetRadius(), GetRadius(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), and ShortenChildDueToGV().
|
protected |
Definition at line 744 of file drc_creepage_utils.h.
Referenced by AngleBetweenStartAndEnd(), BE_SHAPE_ARC(), GetStartAngle(), and IsThereATangentPassingThroughPoint().
|
protected |
Definition at line 746 of file drc_creepage_utils.h.
Referenced by BE_SHAPE_ARC(), and GetStartPoint().
|
protectedinherited |
Definition at line 323 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().