KiCad PCB EDA Suite
|
A class used to represent the shapes for creepage calculation. More...
#include <drc_creepage_utils.h>
Public Types | |
enum class | TYPE { UNDEFINED = 0 , POINT , CIRCLE , ARC } |
Public Member Functions | |
CREEP_SHAPE () | |
virtual | ~CREEP_SHAPE () |
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< 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 |
std::vector< PATH_CONNECTION > | Paths (const CREEP_SHAPE &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
virtual std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_POINT &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
virtual std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_CIRCLE &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
virtual std::vector< PATH_CONNECTION > | Paths (const BE_SHAPE_ARC &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
virtual std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_SEGMENT &aS2, double aMaxWeight, double aMaxSquaredWeight) const |
virtual std::vector< PATH_CONNECTION > | Paths (const CU_SHAPE_CIRCLE &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 | |
bool | m_conductive |
BOARD_ITEM * | m_parent |
VECTOR2I | m_pos |
CREEP_SHAPE::TYPE | m_type |
A class used to represent the shapes for creepage calculation.
Definition at line 162 of file drc_creepage_utils.h.
|
strong |
Enumerator | |
---|---|
UNDEFINED | |
POINT | |
CIRCLE | |
ARC |
Definition at line 165 of file drc_creepage_utils.h.
|
inline |
Definition at line 173 of file drc_creepage_utils.h.
References m_conductive, m_parent, m_pos, and m_type.
|
inlinevirtual |
Definition at line 181 of file drc_creepage_utils.h.
|
virtual |
Reimplemented in BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 705 of file drc_creepage_utils.cpp.
|
inlinevirtual |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 186 of file drc_creepage_utils.h.
|
inlinevirtual |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 188 of file drc_creepage_utils.h.
|
inline |
Definition at line 191 of file drc_creepage_utils.h.
References m_parent.
|
inline |
Definition at line 189 of file drc_creepage_utils.h.
References m_pos.
Referenced by CREEPAGE_GRAPH::Addshape(), areEquivalent(), compareShapes(), GRAPH_CONNECTION::GetShapes(), BE_SHAPE_ARC::IsThereATangentPassingThroughPoint(), CU_SHAPE_CIRCLE::Paths(), CU_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_ARC::Paths(), CU_SHAPE_SEGMENT::Paths(), and BE_SHAPE_POINT::Paths().
|
inlinevirtual |
Reimplemented in CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 184 of file drc_creepage_utils.h.
Referenced by areEquivalent(), and compareShapes().
|
inlinevirtual |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 185 of file drc_creepage_utils.h.
|
inlinevirtual |
Reimplemented in CU_SHAPE_ARC, and BE_SHAPE_ARC.
Definition at line 187 of file drc_creepage_utils.h.
|
inline |
Definition at line 190 of file drc_creepage_utils.h.
References m_type.
Referenced by areEquivalent(), and compareShapes().
|
inline |
Definition at line 261 of file drc_creepage_utils.h.
References m_conductive.
|
inlinevirtual |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 232 of file drc_creepage_utils.h.
|
inlinevirtual |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 225 of file drc_creepage_utils.h.
|
inlinevirtual |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 218 of file drc_creepage_utils.h.
|
inline |
Definition at line 211 of file drc_creepage_utils.h.
|
inlinevirtual |
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.
|
inlinevirtual |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 246 of file drc_creepage_utils.h.
|
inlinevirtual |
Reimplemented in CU_SHAPE_SEGMENT, CU_SHAPE_CIRCLE, CU_SHAPE_ARC, BE_SHAPE_POINT, BE_SHAPE_CIRCLE, and BE_SHAPE_ARC.
Definition at line 239 of file drc_creepage_utils.h.
|
inline |
Definition at line 197 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().
|
inline |
Definition at line 192 of file drc_creepage_utils.h.
References m_parent.
Referenced by CREEPAGE_GRAPH::Addshape(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
|
protected |
Definition at line 265 of file drc_creepage_utils.h.
Referenced by BE_SHAPE::BE_SHAPE(), CREEP_SHAPE(), CU_SHAPE::CU_SHAPE(), and IsConductive().
|
protected |
Definition at line 266 of file drc_creepage_utils.h.
Referenced by CREEP_SHAPE(), GetParent(), and SetParent().
|
protected |
Definition at line 267 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().
|
protected |
Definition at line 268 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().