2 #include "canvas/selectables.hpp"
3 #include "canvas/triangle.hpp"
4 #include "router/pns_router.h"
5 #include "util/uuid.hpp"
21 class ViaPadstackProvider;
24 template <
typename T>
class Coord;
53 return track == other.track && via == other.via &&
package == other.package && pad == other.pad
54 && hole == other.hole && keepout == other.keepout;
76 void SyncWorld(
PNS::NODE *aWorld)
override;
77 void EraseView()
override;
79 void DisplayItem(
const PNS::ITEM *aItem,
int aColor = 0,
int aClearance = 0)
override;
81 void RemoveItem(
PNS::ITEM *aItem)
override;
82 void Commit()
override;
84 void UpdateNet(
int aNetCode)
override;
91 static int layer_to_router(
int l);
92 static int layer_from_router(
int l);
103 int64_t get_override_routing_offset()
const
105 return override_routing_offset;
108 void set_override_routing_offset(
int64_t o)
110 override_routing_offset = o;
118 std::set<horizon::ObjectRef> m_preview_items;
129 std::unique_ptr<PNS::SEGMENT> syncTrack(
const horizon::Track *track);
130 std::unique_ptr<PNS::VIA> syncVia(
const horizon::Via *via);
133 std::map<horizon::UUID, int> net_code_map;
134 std::map<int, horizon::UUID> net_code_map_r;
135 int net_code_max = 0;
137 int64_t override_routing_offset = -1;
139 std::list<PNS_HORIZON_PARENT_ITEM> parents;