32#ifndef RATSNEST_DATA_H
33#define RATSNEST_DATA_H
49 bool operator()(
const std::shared_ptr<CN_ANCHOR>& aItem,
50 const std::shared_ptr<CN_ANCHOR>& bItem )
const
52 if( aItem->Pos().x == bItem->Pos().x )
53 return aItem->Pos().y < bItem->Pos().y;
55 return aItem->Pos().x < bItem->Pos().x;
92 void AddCluster( std::shared_ptr<CN_CLUSTER> aCluster );
106 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...
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