KiCad PCB EDA Suite
PNS::FIXED_TAIL Class Reference

#include <pns_line_placer.h>

Classes

struct  FIX_POINT
 
struct  STAGE
 

Public Member Functions

 FIXED_TAIL (int aLineCount=1)
 
 ~FIXED_TAIL ()
 
void Clear ()
 
void AddStage (const VECTOR2I &aStart, int aLayer, bool placingVias, DIRECTION_45 direction, NODE *aNode)
 
bool PopStage (STAGE &aStage)
 
int StageCount () const
 

Private Attributes

std::vector< STAGEm_stages
 

Detailed Description

Definition at line 47 of file pns_line_placer.h.

Constructor & Destructor Documentation

◆ FIXED_TAIL()

PNS::FIXED_TAIL::FIXED_TAIL ( int  aLineCount = 1)

Definition at line 1736 of file pns_line_placer.cpp.

1737 {
1738 
1739 }

◆ ~FIXED_TAIL()

PNS::FIXED_TAIL::~FIXED_TAIL ( )

Definition at line 1742 of file pns_line_placer.cpp.

1743 {
1744 
1745 }

Member Function Documentation

◆ AddStage()

void PNS::FIXED_TAIL::AddStage ( const VECTOR2I aStart,
int  aLayer,
bool  placingVias,
DIRECTION_45  direction,
NODE aNode 
)

Definition at line 1754 of file pns_line_placer.cpp.

1756 {
1757  STAGE st;
1758  FIX_POINT pt;
1759 
1760  pt.p = aStart;
1761  pt.layer = aLayer;
1762  pt.direction = direction;
1763  pt.placingVias = placingVias;
1764 
1765  st.pts.push_back(pt);
1766  st.commit = aNode;
1767 
1768  m_stages.push_back( st );
1769 }
std::vector< STAGE > m_stages

References PNS::FIXED_TAIL::STAGE::commit, PNS::FIXED_TAIL::FIX_POINT::direction, PNS::FIXED_TAIL::FIX_POINT::layer, m_stages, PNS::FIXED_TAIL::FIX_POINT::p, PNS::FIXED_TAIL::FIX_POINT::placingVias, and PNS::FIXED_TAIL::STAGE::pts.

Referenced by PNS::LINE_PLACER::FixRoute(), and PNS::LINE_PLACER::Start().

◆ Clear()

void PNS::FIXED_TAIL::Clear ( )

Definition at line 1748 of file pns_line_placer.cpp.

1749 {
1750  m_stages.clear();
1751 }
std::vector< STAGE > m_stages

References m_stages.

Referenced by PNS::LINE_PLACER::Start().

◆ PopStage()

bool PNS::FIXED_TAIL::PopStage ( FIXED_TAIL::STAGE aStage)

Definition at line 1772 of file pns_line_placer.cpp.

1773 {
1774  if( !m_stages.size() )
1775  return false;
1776 
1777  aStage = m_stages.back();
1778 
1779  if( m_stages.size() > 1 )
1780  m_stages.pop_back();
1781 
1782  return true;
1783 }
std::vector< STAGE > m_stages

References m_stages.

Referenced by PNS::LINE_PLACER::UnfixRoute().

◆ StageCount()

int PNS::FIXED_TAIL::StageCount ( ) const

Definition at line 1786 of file pns_line_placer.cpp.

1787 {
1788  return m_stages.size();
1789 }
std::vector< STAGE > m_stages

References m_stages.

Referenced by PNS::LINE_PLACER::HasPlacedAnything().

Member Data Documentation

◆ m_stages

std::vector<STAGE> PNS::FIXED_TAIL::m_stages
private

Definition at line 74 of file pns_line_placer.h.

Referenced by AddStage(), Clear(), PopStage(), and StageCount().


The documentation for this class was generated from the following files: