KiCad PCB EDA Suite
ar_cell.h File Reference

Go to the source code of this file.

Macros

#define CELL_IS_EMPTY   0x00
 
#define CELL_IS_HOLE   0x01 /* a conducting hole or obstacle */
 
#define CELL_IS_MODULE   0x02 /* auto placement occupied by a module */
 
#define CELL_IS_EDGE   0x20 /* Area and auto-placement: limiting cell contour (Board, Zone) */
 
#define CELL_IS_FRIEND   0x40 /* Area and auto-placement: cell part of the net */
 
#define CELL_IS_ZONE   0x80 /* Area and auto-placement: cell available */
 
#define OCCUPE   1 /* Autorouting: obstacle tracks and vias. */
 
#define VIA_IMPOSSIBLE   2 /* Autorouting: obstacle for vias. */
 
#define CURRENT_PAD   4
 
#define HOLE_NORTH   0x00000002L /* upward */
 
#define HOLE_NORTHEAST   0x00000004L /* upward and right */
 
#define HOLE_EAST   0x00000008L /* to the right */
 
#define HOLE_SOUTHEAST   0x00000010L /* downward and right */
 
#define HOLE_SOUTH   0x00000020L /* downward */
 
#define HOLE_SOUTHWEST   0x00000040L /* downward and left */
 
#define HOLE_WEST   0x00000080L /* to the left */
 
#define HOLE_NORTHWEST   0x00000100L /* upward and left */
 
#define LINE_HORIZONTAL   0x00000002L /* left-to-right line */
 
#define LINE_VERTICAL   0x00000004L /* top-to-bottom line */
 
#define CORNER_NORTHEAST   0x00000008L /* upper right corner */
 
#define CORNER_SOUTHEAST   0x00000010L /* lower right corner */
 
#define CORNER_SOUTHWEST   0x00000020L /* lower left corner */
 
#define CORNER_NORTHWEST   0x00000040L /* upper left corner */
 
#define DIAG_NEtoSW   0x00000080L /* northeast to southwest */
 
#define DIAG_SEtoNW   0x00000100L /* southeast to northwest */
 
#define BENT_NtoSE   0x00000200L /* north to southeast */
 
#define BENT_NtoSW   0x00000400L /* north to southwest */
 
#define BENT_EtoSW   0x00000800L /* east to southwest */
 
#define BENT_EtoNW   0x00001000L /* east to northwest */
 
#define BENT_StoNW   0x00002000L /* south to northwest */
 
#define BENT_StoNE   0x00004000L /* south to northeast */
 
#define BENT_WtoNE   0x00008000L /* west to northeast */
 
#define BENT_WtoSE   0x00010000L /* west to southeast */
 
#define ANGLE_NEtoSE   0x00020000L /* northeast to southeast */
 
#define ANGLE_SEtoSW   0x00040000L /* southeast to southwest */
 
#define ANGLE_SWtoNW   0x00080000L /* southwest to northwest */
 
#define ANGLE_NWtoNE   0x00100000L /* northwest to northeast */
 
#define SHARP_NtoNE   0x00200000L /* north to northeast */
 
#define SHARP_EtoNE   0x00400000L /* east to northeast */
 
#define SHARP_EtoSE   0x00800000L /* east to southeast */
 
#define SHARP_StoSE   0x01000000L /* south to southeast */
 
#define SHARP_StoSW   0x02000000L /* south to southwest */
 
#define SHARP_WtoSW   0x04000000L /* west to southwest */
 
#define SHARP_WtoNW   0x08000000L /* west to northwest */
 
#define SHARP_NtoNW   0x10000000L /* north to northwest */
 
#define FROM_NOWHERE   0
 
#define FROM_NORTH   1
 
#define FROM_NORTHEAST   2
 
#define FROM_EAST   3
 
#define FROM_SOUTHEAST   4
 
#define FROM_SOUTH   5
 
#define FROM_SOUTHWEST   6
 
#define FROM_WEST   7
 
#define FROM_NORTHWEST   8
 
#define FROM_OTHERSIDE   9
 

Macro Definition Documentation

◆ ANGLE_NEtoSE

#define ANGLE_NEtoSE   0x00020000L /* northeast to southeast */

Definition at line 83 of file ar_cell.h.

◆ ANGLE_NWtoNE

#define ANGLE_NWtoNE   0x00100000L /* northwest to northeast */

Definition at line 86 of file ar_cell.h.

◆ ANGLE_SEtoSW

#define ANGLE_SEtoSW   0x00040000L /* southeast to southwest */

Definition at line 84 of file ar_cell.h.

◆ ANGLE_SWtoNW

#define ANGLE_SWtoNW   0x00080000L /* southwest to northwest */

Definition at line 85 of file ar_cell.h.

◆ BENT_EtoNW

#define BENT_EtoNW   0x00001000L /* east to northwest */

Definition at line 76 of file ar_cell.h.

◆ BENT_EtoSW

#define BENT_EtoSW   0x00000800L /* east to southwest */

Definition at line 75 of file ar_cell.h.

◆ BENT_NtoSE

#define BENT_NtoSE   0x00000200L /* north to southeast */

Definition at line 73 of file ar_cell.h.

◆ BENT_NtoSW

#define BENT_NtoSW   0x00000400L /* north to southwest */

Definition at line 74 of file ar_cell.h.

◆ BENT_StoNE

#define BENT_StoNE   0x00004000L /* south to northeast */

Definition at line 78 of file ar_cell.h.

◆ BENT_StoNW

#define BENT_StoNW   0x00002000L /* south to northwest */

Definition at line 77 of file ar_cell.h.

◆ BENT_WtoNE

#define BENT_WtoNE   0x00008000L /* west to northeast */

Definition at line 79 of file ar_cell.h.

◆ BENT_WtoSE

#define BENT_WtoSE   0x00010000L /* west to southeast */

Definition at line 80 of file ar_cell.h.

◆ CELL_IS_EDGE

#define CELL_IS_EDGE   0x20 /* Area and auto-placement: limiting cell contour (Board, Zone) */

Definition at line 38 of file ar_cell.h.

Referenced by AR_AUTOPLACER::genPlacementRoutingMatrix().

◆ CELL_IS_EMPTY

#define CELL_IS_EMPTY   0x00

Definition at line 35 of file ar_cell.h.

Referenced by AR_MATRIX::CalcDist().

◆ CELL_IS_FRIEND

#define CELL_IS_FRIEND   0x40 /* Area and auto-placement: cell part of the net */

Definition at line 39 of file ar_cell.h.

◆ CELL_IS_HOLE

#define CELL_IS_HOLE   0x01 /* a conducting hole or obstacle */

Definition at line 36 of file ar_cell.h.

Referenced by AR_AUTOPLACER::genPlacementRoutingMatrix().

◆ CELL_IS_MODULE

#define CELL_IS_MODULE   0x02 /* auto placement occupied by a module */

◆ CELL_IS_ZONE

#define CELL_IS_ZONE   0x80 /* Area and auto-placement: cell available */

Definition at line 40 of file ar_cell.h.

Referenced by AR_AUTOPLACER::fillMatrix(), and AR_AUTOPLACER::testRectangle().

◆ CORNER_NORTHEAST

#define CORNER_NORTHEAST   0x00000008L /* upper right corner */

Definition at line 63 of file ar_cell.h.

◆ CORNER_NORTHWEST

#define CORNER_NORTHWEST   0x00000040L /* upper left corner */

Definition at line 66 of file ar_cell.h.

◆ CORNER_SOUTHEAST

#define CORNER_SOUTHEAST   0x00000010L /* lower right corner */

Definition at line 64 of file ar_cell.h.

◆ CORNER_SOUTHWEST

#define CORNER_SOUTHWEST   0x00000020L /* lower left corner */

Definition at line 65 of file ar_cell.h.

◆ CURRENT_PAD

#define CURRENT_PAD   4

Definition at line 45 of file ar_cell.h.

Referenced by Autoroute_One_Track().

◆ DIAG_NEtoSW

#define DIAG_NEtoSW   0x00000080L /* northeast to southwest */

Definition at line 69 of file ar_cell.h.

◆ DIAG_SEtoNW

#define DIAG_SEtoNW   0x00000100L /* southeast to northwest */

Definition at line 70 of file ar_cell.h.

◆ FROM_EAST

#define FROM_EAST   3

Definition at line 102 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_NORTH

#define FROM_NORTH   1

Definition at line 100 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_NORTHEAST

#define FROM_NORTHEAST   2

Definition at line 101 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_NORTHWEST

#define FROM_NORTHWEST   8

Definition at line 107 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_NOWHERE

#define FROM_NOWHERE   0

Definition at line 99 of file ar_cell.h.

Referenced by Autoroute_One_Track().

◆ FROM_OTHERSIDE

#define FROM_OTHERSIDE   9

◆ FROM_SOUTH

#define FROM_SOUTH   5

Definition at line 104 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_SOUTHEAST

#define FROM_SOUTHEAST   4

Definition at line 103 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_SOUTHWEST

#define FROM_SOUTHWEST   6

Definition at line 105 of file ar_cell.h.

Referenced by Retrace().

◆ FROM_WEST

#define FROM_WEST   7

Definition at line 106 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_EAST

#define HOLE_EAST   0x00000008L /* to the right */

Definition at line 51 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_NORTH

#define HOLE_NORTH   0x00000002L /* upward */

Definition at line 49 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_NORTHEAST

#define HOLE_NORTHEAST   0x00000004L /* upward and right */

Definition at line 50 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_NORTHWEST

#define HOLE_NORTHWEST   0x00000100L /* upward and left */

Definition at line 56 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_SOUTH

#define HOLE_SOUTH   0x00000020L /* downward */

Definition at line 53 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_SOUTHEAST

#define HOLE_SOUTHEAST   0x00000010L /* downward and right */

Definition at line 52 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_SOUTHWEST

#define HOLE_SOUTHWEST   0x00000040L /* downward and left */

Definition at line 54 of file ar_cell.h.

Referenced by Retrace().

◆ HOLE_WEST

#define HOLE_WEST   0x00000080L /* to the left */

Definition at line 55 of file ar_cell.h.

Referenced by Retrace().

◆ LINE_HORIZONTAL

#define LINE_HORIZONTAL   0x00000002L /* left-to-right line */

Definition at line 59 of file ar_cell.h.

◆ LINE_VERTICAL

#define LINE_VERTICAL   0x00000004L /* top-to-bottom line */

Definition at line 60 of file ar_cell.h.

◆ OCCUPE

#define OCCUPE   1 /* Autorouting: obstacle tracks and vias. */

Definition at line 43 of file ar_cell.h.

◆ SHARP_EtoNE

#define SHARP_EtoNE   0x00400000L /* east to northeast */

Definition at line 90 of file ar_cell.h.

◆ SHARP_EtoSE

#define SHARP_EtoSE   0x00800000L /* east to southeast */

Definition at line 91 of file ar_cell.h.

◆ SHARP_NtoNE

#define SHARP_NtoNE   0x00200000L /* north to northeast */

Definition at line 89 of file ar_cell.h.

◆ SHARP_NtoNW

#define SHARP_NtoNW   0x10000000L /* north to northwest */

Definition at line 96 of file ar_cell.h.

◆ SHARP_StoSE

#define SHARP_StoSE   0x01000000L /* south to southeast */

Definition at line 92 of file ar_cell.h.

◆ SHARP_StoSW

#define SHARP_StoSW   0x02000000L /* south to southwest */

Definition at line 93 of file ar_cell.h.

◆ SHARP_WtoNW

#define SHARP_WtoNW   0x08000000L /* west to northwest */

Definition at line 95 of file ar_cell.h.

◆ SHARP_WtoSW

#define SHARP_WtoSW   0x04000000L /* west to southwest */

Definition at line 94 of file ar_cell.h.

◆ VIA_IMPOSSIBLE

#define VIA_IMPOSSIBLE   2 /* Autorouting: obstacle for vias. */