KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PNS::OBSTACLE Struct Reference

Hold an object colliding with another object, along with some useful data about the collision. More...

#include <pns_node.h>

Public Member Functions

bool operator== (const OBSTACLE &other) const
 
bool operator< (const OBSTACLE &other) const
 

Public Attributes

ITEMm_head = nullptr
 Line we search collisions against.
 
ITEMm_item = nullptr
 Item found to be colliding with m_head.
 
VECTOR2I m_ipFirst
 First intersection between m_head and m_hull.
 
int m_clearance
 
VECTOR2I m_pos
 
int m_distFirst
 ... and the distance thereof
 
int m_maxFanoutWidth
 worst case (largest) width of the tracks connected to the item
 

Detailed Description

Hold an object colliding with another object, along with some useful data about the collision.

Definition at line 86 of file pns_node.h.

Member Function Documentation

◆ operator<()

bool PNS::OBSTACLE::operator< ( const OBSTACLE other) const
inline

Definition at line 101 of file pns_node.h.

References m_head, and m_item.

◆ operator==()

bool PNS::OBSTACLE::operator== ( const OBSTACLE other) const
inline

Definition at line 96 of file pns_node.h.

References m_head, and m_item.

Member Data Documentation

◆ m_clearance

int PNS::OBSTACLE::m_clearance

Definition at line 91 of file pns_node.h.

Referenced by PNS::ITEM::collideSimple().

◆ m_distFirst

int PNS::OBSTACLE::m_distFirst

... and the distance thereof

Definition at line 93 of file pns_node.h.

Referenced by PNS::ITEM::collideSimple(), and PNS::NODE::NearestObstacle().

◆ m_head

ITEM* PNS::OBSTACLE::m_head = nullptr

Line we search collisions against.

Definition at line 88 of file pns_node.h.

Referenced by PNS::ITEM::collideSimple(), PNS::NODE::NearestObstacle(), operator<(), and operator==().

◆ m_ipFirst

VECTOR2I PNS::OBSTACLE::m_ipFirst

First intersection between m_head and m_hull.

Definition at line 90 of file pns_node.h.

Referenced by PNS::NODE::NearestObstacle().

◆ m_item

ITEM* PNS::OBSTACLE::m_item = nullptr

Item found to be colliding with m_head.

Definition at line 89 of file pns_node.h.

Referenced by PNS::ITEM::collideSimple(), PNS::SHOVE::fixupViaCollisions(), PNS::NODE::NearestObstacle(), operator<(), and operator==().

◆ m_maxFanoutWidth

int PNS::OBSTACLE::m_maxFanoutWidth

worst case (largest) width of the tracks connected to the item

Definition at line 94 of file pns_node.h.

Referenced by PNS::ITEM::collideSimple(), PNS::SHOVE::fixupViaCollisions(), PNS::NODE::NearestObstacle(), and PNS::SHOVE::onCollidingVia().

◆ m_pos

VECTOR2I PNS::OBSTACLE::m_pos

Definition at line 92 of file pns_node.h.


The documentation for this struct was generated from the following file: