| 
    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< 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 | 
| bool | IsConductive () | 
Protected Attributes | |
| bool | m_conductive | 
| BOARD_ITEM * | m_parent | 
| VECTOR2I | m_pos | 
| CREEP_SHAPE::TYPE | m_type | 
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 301 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 304 of file drc_creepage_utils.h.
References CU_SHAPE::CU_SHAPE(), m_end, m_start, and m_width.
Referenced by Paths().
      
  | 
  virtualinherited | 
Reimplemented in BE_SHAPE_ARC, BE_SHAPE_CIRCLE, and BE_SHAPE_POINT.
Definition at line 669 of file drc_creepage_utils.cpp.
      
  | 
  inline | 
      
  | 
  inlinevirtualinherited | 
Reimplemented in BE_SHAPE_ARC, and CU_SHAPE_ARC.
Definition at line 184 of file drc_creepage_utils.h.
      
  | 
  inlinevirtualinherited | 
Reimplemented in BE_SHAPE_ARC, and CU_SHAPE_ARC.
Definition at line 186 of file drc_creepage_utils.h.
      
  | 
  inlineinherited | 
Definition at line 189 of file drc_creepage_utils.h.
References m_parent.
      
  | 
  inlineinherited | 
Definition at line 187 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().
      
  | 
  inlinevirtualinherited | 
Reimplemented in BE_SHAPE_ARC, BE_SHAPE_CIRCLE, CU_SHAPE_ARC, and CU_SHAPE_CIRCLE.
Definition at line 182 of file drc_creepage_utils.h.
Referenced by areEquivalent(), and compareShapes().
      
  | 
  inline | 
      
  | 
  inlinevirtualinherited | 
Reimplemented in BE_SHAPE_ARC, and CU_SHAPE_ARC.
Definition at line 183 of file drc_creepage_utils.h.
      
  | 
  inlinevirtualinherited | 
Reimplemented in BE_SHAPE_ARC, and CU_SHAPE_ARC.
Definition at line 185 of file drc_creepage_utils.h.
      
  | 
  inlineinherited | 
Definition at line 188 of file drc_creepage_utils.h.
References m_type.
Referenced by areEquivalent(), and compareShapes().
      
  | 
  inline | 
      
  | 
  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 978 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 846 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, EDA_ANGLE::AsRadians(), end, GetEnd(), CREEP_SHAPE::GetPos(), BE_SHAPE_CIRCLE::GetRadius(), GetStart(), GetWidth(), CU_SHAPE_CIRCLE::Paths(), VECTOR2< T >::Resize(), result, PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
      
  | 
  overridevirtual | 
Reimplemented from CREEP_SHAPE.
Definition at line 797 of file drc_creepage_utils.cpp.
References PATH_CONNECTION::a1, PATH_CONNECTION::a2, EDA_ANGLE::AsRadians(), end, GetEnd(), CREEP_SHAPE::GetPos(), GetStart(), GetWidth(), result, PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GetPaths(), BE_SHAPE_ARC::Paths(), BE_SHAPE_CIRCLE::Paths(), BE_SHAPE_POINT::Paths(), CU_SHAPE_ARC::Paths(), CU_SHAPE_CIRCLE::Paths(), Paths(), and Paths().
      
  | 
  overridevirtual | 
Reimplemented from CREEP_SHAPE.
Definition at line 1317 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(), CU_SHAPE_ARC::GetWidth(), GetWidth(), CU_SHAPE_CIRCLE::Paths(), Paths(), result, and PATH_CONNECTION::weight.
      
  | 
  overridevirtual | 
Reimplemented from CREEP_SHAPE.
Definition at line 1186 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(), radius, VECTOR2< T >::Resize(), result, PATH_CONNECTION::weight, VECTOR2< T >::x, and VECTOR2< T >::y.
      
  | 
  overridevirtual | 
Reimplemented from CREEP_SHAPE.
Definition at line 1412 of file drc_creepage_utils.cpp.
References A, PATH_CONNECTION::a1, PATH_CONNECTION::a2, B, C, closestPointOnSegment(), CU_SHAPE_SEGMENT(), D, GetEnd(), GetStart(), GetWidth(), result, and PATH_CONNECTION::weight.
      
  | 
  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().
      
  | 
  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().
Definition at line 332 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetEnd().
      
  | 
  protectedinherited | 
Definition at line 263 of file drc_creepage_utils.h.
Referenced by CREEP_SHAPE(), GetParent(), and SetParent().
      
  | 
  protectedinherited | 
Definition at line 264 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().
Definition at line 331 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetStart().
      
  | 
  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 333 of file drc_creepage_utils.h.
Referenced by CU_SHAPE_SEGMENT(), and GetWidth().