mirror of https://codeberg.org/topola/topola.git
Display ratsnest
This commit is contained in:
parent
07427a3831
commit
657d33ac6e
|
|
@ -3,7 +3,10 @@
|
|||
// SPDX-License-Identifier: MIT OR Apache-2.0
|
||||
|
||||
use crate::{viewport::Viewport, workspace::Workspace};
|
||||
use topola::{Joint, JointId, Polygon, PolygonId, Segment, SegmentId, Vector2};
|
||||
use topola::{
|
||||
Joint, JointId, PinSelection, Polygon, PolygonId, PrimitiveId, Ratline, Segment, SegmentId,
|
||||
Vector2,
|
||||
};
|
||||
|
||||
pub struct Display {}
|
||||
|
||||
|
|
@ -23,7 +26,7 @@ impl Display {
|
|||
self.display_layout(ctx, ui, /*menu_bar,*/ viewport, workspace);
|
||||
self.display_bboxes(ctx, ui, viewport, workspace);
|
||||
self.display_navmeshes(ctx, ui, viewport, workspace);
|
||||
//self.display_ratsnest(ctx, ui, viewport, workspace);
|
||||
self.display_ratsnest(ctx, ui, viewport, workspace);
|
||||
}
|
||||
|
||||
fn display_layout(
|
||||
|
|
@ -317,11 +320,31 @@ impl Display {
|
|||
}
|
||||
|
||||
fn display_ratsnest(
|
||||
ctx: &egui::Context,
|
||||
&mut self,
|
||||
_ctx: &egui::Context,
|
||||
ui: &egui::Ui,
|
||||
viewport: &Viewport,
|
||||
_viewport: &Viewport,
|
||||
workspace: &Workspace,
|
||||
) {
|
||||
//
|
||||
for ratline in workspace.autorouter.ratsnest().ratlines() {
|
||||
let layers = *ratline.endpoint_layers();
|
||||
let endpoints = *ratline.endpoints();
|
||||
|
||||
if !workspace.appearance_panel.visible[layers[0]]
|
||||
|| !workspace.appearance_panel.visible[layers[1]]
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
//let stroke_width = 2.0 / viewport.scale_factor().max(1e-6);
|
||||
|
||||
ui.painter().line_segment(
|
||||
[
|
||||
egui::pos2(endpoints[0].x as f32, endpoints[0].y as f32),
|
||||
egui::pos2(endpoints[1].x as f32, endpoints[1].y as f32),
|
||||
],
|
||||
egui::Stroke::new(10.0, egui::Color32::BLUE),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,13 +6,14 @@ use derive_getters::Getters;
|
|||
use undoredo::Recorder;
|
||||
|
||||
use crate::{
|
||||
Board, Joint, JointId, Polygon, PolygonId, Segment, SegmentId, Vector2, Via, ViaId,
|
||||
Board, Joint, JointId, Polygon, PolygonId, Ratsnest, Segment, SegmentId, Vector2, Via, ViaId,
|
||||
navmesher::{MultiObstacleId, Navmesher},
|
||||
};
|
||||
|
||||
#[derive(Clone, Debug, Getters)]
|
||||
pub struct Autorouter {
|
||||
navmesher: Navmesher,
|
||||
ratsnest: Ratsnest,
|
||||
board: Board,
|
||||
|
||||
joint_multiobstacles: Recorder<Vec<MultiObstacleId>>,
|
||||
|
|
@ -31,6 +32,7 @@ impl Autorouter {
|
|||
.map(|p| Vector2::new(p[0], p[1])),
|
||||
*board.layout().layer_count(),
|
||||
),
|
||||
ratsnest: Ratsnest::new(&board),
|
||||
board,
|
||||
|
||||
joint_multiobstacles: Recorder::new(Vec::new()),
|
||||
|
|
|
|||
Loading…
Reference in New Issue