PCB Environment 2

Loading...
Searching...
No Matches
Data Structures | Macros
NavPoint.hpp File Reference
`#include "Geometry.hpp"`
`#include "GridDirection.hpp"`
`#include "UniformGrid25.hpp"`

Go to the source code of this file.

## Data Structures
class | AStarVisitStatus
struct | NavKeepoutCounts
struct | NavRasterizeParams
class | NavPoint

## Macros
#define | GYM_PCB_NAVPOINT_NUM_COST_TERMS 2
#define | NAV_POINT_FLAG_BLOCKED_TEMPORARY (1 << 0)
| Grid cell flags.
#define | NAV_POINT_FLAG_BLOCKED_PERMANENT (1 << 8)
#define | NAV_POINT_FLAG_NO_VIAS (1 << 1)
#define | NAV_POINT_FLAG_INSIDE_PIN (1 << 2)
#define | NAV_POINT_FLAG_INSIDE_COMPONENT (1 << 3)
#define | NAV_POINT_FLAG_PIN_TRACK_CLEARANCE (1 << 4)
#define | NAV_POINT_FLAG_PIN_VIA_CLEARANCE (1 << 5)
#define | NAV_POINT_FLAG_ROUTE_TRACK_CLEARANCE (1 << 6)
#define | NAV_POINT_FLAG_ROUTE_VIA_CLEARANCE (1 << 7)
#define | NAV_POINT_FLAG_SOURCE (1 << 9)
#define | NAV_POINT_FLAG_TARGET (1 << 10)
#define | NAV_POINT_FLAG_ROUTE_GUARD (1 << 11)
#define | NAV_POINT_FLAGS_PIN_CLEARANCE 0x030
| Combinations of the above flags (logical OR).
#define | NAV_POINT_FLAGS_ROUTE_CLEARANCE 0x0c0
#define | NAV_POINT_FLAGS_TRACK_CLEARANCE 0x050
#define | NAV_POINT_FLAGS_VIA_CLEARANCE 0x0a0
#define | NAV_POINT_FLAGS_CLEARANCE 0x0f0
#define | NAV_POINT_FLAGS_TRACKS_BLOCKED 0x951
#define | NAV_POINT_FLAGS_VIAS_BLOCKED 0x9f3
#define | NAV_POINT_FLAGS_VIAS_BLOCKED_P 0x9f2
#define | NAV_POINT_FLAGS_ENDPOINT 0x600
#define | NAV_POINT_FLAGS_ALL 0xfff

## Macro Definition Documentation

## ◆ GYM_PCB_NAVPOINT_NUM_COST_TERMS

#define GYM_PCB_NAVPOINT_NUM_COST_TERMS 2

Each NavPoint has one or more associated costs. When the cost is 1 everywhere, the sum of costs along a path measures its length. Algorithms may adjust these costs or add extra cost values. For rip-up and reroute, we want to store a 2nd cost value for its history cost. Lower this to save memory if you need fewer cost values per cell.

## ◆ NAV_POINT_FLAG_BLOCKED_PERMANENT

#define NAV_POINT_FLAG_BLOCKED_PERMANENT (1 << 8)

## ◆ NAV_POINT_FLAG_BLOCKED_TEMPORARY

#define NAV_POINT_FLAG_BLOCKED_TEMPORARY (1 << 0)

Grid cell flags.

## ◆ NAV_POINT_FLAG_INSIDE_COMPONENT

#define NAV_POINT_FLAG_INSIDE_COMPONENT (1 << 3)

## ◆ NAV_POINT_FLAG_INSIDE_PIN

#define NAV_POINT_FLAG_INSIDE_PIN (1 << 2)

## ◆ NAV_POINT_FLAG_NO_VIAS

#define NAV_POINT_FLAG_NO_VIAS (1 << 1)

## ◆ NAV_POINT_FLAG_PIN_TRACK_CLEARANCE

#define NAV_POINT_FLAG_PIN_TRACK_CLEARANCE (1 << 4)

## ◆ NAV_POINT_FLAG_PIN_VIA_CLEARANCE

#define NAV_POINT_FLAG_PIN_VIA_CLEARANCE (1 << 5)

## ◆ NAV_POINT_FLAG_ROUTE_GUARD

#define NAV_POINT_FLAG_ROUTE_GUARD (1 << 11)

## ◆ NAV_POINT_FLAG_ROUTE_TRACK_CLEARANCE

#define NAV_POINT_FLAG_ROUTE_TRACK_CLEARANCE (1 << 6)

## ◆ NAV_POINT_FLAG_ROUTE_VIA_CLEARANCE

#define NAV_POINT_FLAG_ROUTE_VIA_CLEARANCE (1 << 7)

## ◆ NAV_POINT_FLAG_SOURCE

#define NAV_POINT_FLAG_SOURCE (1 << 9)

## ◆ NAV_POINT_FLAG_TARGET

#define NAV_POINT_FLAG_TARGET (1 << 10)

## ◆ NAV_POINT_FLAGS_ALL

#define NAV_POINT_FLAGS_ALL 0xfff

## ◆ NAV_POINT_FLAGS_CLEARANCE

#define NAV_POINT_FLAGS_CLEARANCE 0x0f0

## ◆ NAV_POINT_FLAGS_ENDPOINT

#define NAV_POINT_FLAGS_ENDPOINT 0x600

## ◆ NAV_POINT_FLAGS_PIN_CLEARANCE

#define NAV_POINT_FLAGS_PIN_CLEARANCE 0x030

Combinations of the above flags (logical OR).

## ◆ NAV_POINT_FLAGS_ROUTE_CLEARANCE

#define NAV_POINT_FLAGS_ROUTE_CLEARANCE 0x0c0

## ◆ NAV_POINT_FLAGS_TRACK_CLEARANCE

#define NAV_POINT_FLAGS_TRACK_CLEARANCE 0x050

## ◆ NAV_POINT_FLAGS_TRACKS_BLOCKED

#define NAV_POINT_FLAGS_TRACKS_BLOCKED 0x951

## ◆ NAV_POINT_FLAGS_VIA_CLEARANCE

#define NAV_POINT_FLAGS_VIA_CLEARANCE 0x0a0

## ◆ NAV_POINT_FLAGS_VIAS_BLOCKED

#define NAV_POINT_FLAGS_VIAS_BLOCKED 0x9f3

## ◆ NAV_POINT_FLAGS_VIAS_BLOCKED_P

#define NAV_POINT_FLAGS_VIAS_BLOCKED_P 0x9f2