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 48 of file pns_line_placer.h.

Constructor & Destructor Documentation

◆ FIXED_TAIL()

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

Definition at line 2011 of file pns_line_placer.cpp.

2012{
2013
2014}

◆ ~FIXED_TAIL()

PNS::FIXED_TAIL::~FIXED_TAIL ( )

Definition at line 2017 of file pns_line_placer.cpp.

2018{
2019
2020}

Member Function Documentation

◆ AddStage()

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

Definition at line 2029 of file pns_line_placer.cpp.

2031{
2032 STAGE st;
2033 FIX_POINT pt;
2034
2035 pt.p = aStart;
2036 pt.layer = aLayer;
2037 pt.direction = direction;
2038 pt.placingVias = placingVias;
2039
2040 st.pts.push_back(pt);
2041 st.commit = aNode;
2042
2043 m_stages.push_back( st );
2044}
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 2023 of file pns_line_placer.cpp.

2024{
2025 m_stages.clear();
2026}

References m_stages.

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

◆ PopStage()

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

Definition at line 2047 of file pns_line_placer.cpp.

2048{
2049 if( !m_stages.size() )
2050 return false;
2051
2052 aStage = m_stages.back();
2053
2054 if( m_stages.size() > 1 )
2055 m_stages.pop_back();
2056
2057 return true;
2058}

References m_stages.

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

◆ StageCount()

int PNS::FIXED_TAIL::StageCount ( ) const

Definition at line 2061 of file pns_line_placer.cpp.

2062{
2063 return m_stages.size();
2064}

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 75 of file pns_line_placer.h.

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


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