| 
    KiCad PCB EDA Suite
    
   | 
 
#include <bitmaps.h>#include <pcb_edit_frame.h>#include <base_units.h>#include <convert_basic_shapes_to_polygon.h>#include <font/font.h>#include <board.h>#include <pcb_dimension.h>#include <pcb_text.h>#include <board_design_settings.h>#include <geometry/shape_compound.h>#include <geometry/shape_circle.h>#include <geometry/shape_segment.h>#include <geometry/shape_rect.h>#include <geometry/geometry_utils.h>#include <settings/color_settings.h>#include <settings/settings_manager.h>#include <trigo.h>#include <api/api_enums.h>#include <api/api_utils.h>#include <api/board/board_types.pb.h>Go to the source code of this file.
Classes | |
| struct | DIMENSION_DESC | 
| struct | ALIGNED_DIMENSION_DESC | 
| struct | ORTHOGONAL_DIMENSION_DESC | 
| struct | RADIAL_DIMENSION_DESC | 
| struct | LEADER_DIMENSION_DESC | 
| struct | CENTER_DIMENSION_DESC | 
Functions | |
| static OPT_VECTOR2I | segPolyIntersection (const SHAPE_POLY_SET &aPoly, const SEG &aSeg, bool aStart=true) | 
| Find the intersection between a given segment and polygon outline.   | |
| static OPT_VECTOR2I | segCircleIntersection (CIRCLE &aCircle, SEG &aSeg, bool aStart=true) | 
| static void | CollectKnockedOutSegments (const SHAPE_POLY_SET &aPoly, const SEG &aSeg, std::vector< std::shared_ptr< SHAPE > > &aSegmentsAfterKnockout) | 
| Knockout a polygon from a segment.   | |
Variables | |
| static const int | INWARD_ARROW_LENGTH_TO_HEAD_RATIO = 2 | 
| static const EDA_ANGLE | s_arrowAngle (27.5, DEGREES_T) | 
| static struct DIMENSION_DESC | _DIMENSION_DESC | 
| static struct ALIGNED_DIMENSION_DESC | ALIGNED_DIMENSION_DESC | 
| static struct ORTHOGONAL_DIMENSION_DESC | ORTHOGONAL_DIMENSION_DESC | 
| static struct RADIAL_DIMENSION_DESC | RADIAL_DIMENSION_DESC | 
| static struct LEADER_DIMENSION_DESC | LEADER_DIMENSION_DESC | 
| static struct CENTER_DIMENSION_DESC | CENTER_DIMENSION_DESC | 
      
  | 
  static | 
Knockout a polygon from a segment.
This function will add 0, 1 or 2 segments to the vector, depending on how the polygon intersects the segment.
Definition at line 117 of file pcb_dimension.cpp.
References SEG::A, SEG::B, SHAPE_POLY_SET::Contains(), and segPolyIntersection().
Referenced by PCB_DIM_ALIGNED::updateGeometry(), PCB_DIM_ORTHOGONAL::updateGeometry(), and PCB_DIM_RADIAL::updateGeometry().
      
  | 
  static | 
Definition at line 89 of file pcb_dimension.cpp.
References SEG::A, SEG::B, CIRCLE::Contains(), and CIRCLE::Intersect().
Referenced by PCB_DIM_LEADER::updateGeometry().
      
  | 
  static | 
Find the intersection between a given segment and polygon outline.
| aPoly | is the polygon to collide. | 
| aSeg | is the segment to collide. | 
| aStart | if true will start from aSeg.A, otherwise aSeg.B. | 
Definition at line 63 of file pcb_dimension.cpp.
References SEG::A, SEG::B, SHAPE_POLY_SET::CIterateSegments(), and SHAPE_POLY_SET::Contains().
Referenced by CollectKnockedOutSegments(), and PCB_DIM_LEADER::updateGeometry().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Definition at line 50 of file pcb_dimension.cpp.
Referenced by PCB_DIM_ALIGNED::updateGeometry(), and PCB_DIM_ORTHOGONAL::updateGeometry().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static |