32#ifndef RATSNEST_DATA_H 
   33#define RATSNEST_DATA_H 
   50    bool operator()( 
const std::shared_ptr<CN_ANCHOR>& aItem,
 
   51                     const std::shared_ptr<CN_ANCHOR>& bItem )
 const 
   53        if( aItem->Pos().x == bItem->Pos().x )
 
   54            return aItem->Pos().y < bItem->Pos().y;
 
   56            return aItem->Pos().x < bItem->Pos().x;
 
 
 
   93    void AddCluster( std::shared_ptr<CN_CLUSTER> aCluster );
 
  102        std::stable_sort( 
const_cast<std::vector<CN_EDGE>&
>( 
m_rnEdges ).begin(),
 
 
  115                              return a.StableSortCompare( b );
 
 
  127    void kruskalMST( 
const std::vector<CN_EDGE> &aEdges );
 
 
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
CN_EDGE represents a point-to-point connection, whether realized or unrealized (ie: tracks etc.
 
bool StableSortCompare(const CN_EDGE &aOther) const
Comparison operator for std::stable_sort.
 
Describe ratsnest for a single net.
 
unsigned int GetNodeCount() const
 
std::shared_ptr< TRIANGULATOR_STATE > m_triangulator
 
std::multiset< std::shared_ptr< CN_ANCHOR >, CN_PTR_CMP > m_nodes
< Vector of nodes
 
void kruskalMST(const std::vector< CN_EDGE > &aEdges)
 
void UpdateNet()
Recompute ratsnest for a net.
 
std::vector< CN_EDGE > & GetEdges()
 
const std::vector< CN_EDGE > & GetEdges() const
 
std::vector< CN_EDGE > m_rnEdges
Flag indicating necessity of recalculation of ratsnest for a net.
 
void OptimizeRNEdges()
Find optimal ends of RNEdges.
 
bool NearestBicoloredPair(RN_NET *aOtherNet, VECTOR2I &aPos1, VECTOR2I &aPos2) const
 
std::vector< CN_EDGE > m_boardEdges
Vector of edges that makes ratsnest for a given net.
 
void compute()
< Recompute ratsnest from scratch.
 
bool IsDirty() const
Return state of the 'dirty' flag, indicating that ratsnest for a given net is invalid and requires an...
 
void AddCluster(std::shared_ptr< CN_CLUSTER > aCluster)
 
bool operator()(const std::shared_ptr< CN_ANCHOR > &aItem, const std::shared_ptr< CN_ANCHOR > &bItem) const
 
VECTOR2< int32_t > VECTOR2I