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. More...
 
ITEMm_item = nullptr
 Item found to be colliding with m_head. More...
 
VECTOR2I m_ipFirst
 First intersection between m_head and m_hull. More...
 
int m_clearance
 
VECTOR2I m_pos
 
int m_distFirst
 ... and the distance thereof More...
 
int m_maxFanoutWidth
 worst case (largest) width of the tracks connected to the item More...
 
CONSTRAINT_TYPE m_violatingConstraint
 

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 103 of file pns_node.h.

References m_head, and m_item.

◆ operator==()

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

Definition at line 98 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.

◆ m_violatingConstraint

CONSTRAINT_TYPE PNS::OBSTACLE::m_violatingConstraint

Definition at line 96 of file pns_node.h.

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


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