diff --git a/internal/mapfmt/toseg.go b/internal/mapfmt/toseg.go new file mode 100644 index 0000000..708f873 --- /dev/null +++ b/internal/mapfmt/toseg.go @@ -0,0 +1,18 @@ +package mapfmt + +import "bspviz/internal/geom" // anpassen + +func LinedefsToSegs(verts []Vertex, lines []Linedef) []geom.Seg { + segs := make([]geom.Seg, 0, len(lines)) + for _, L := range lines { + a := verts[L.V1] + b := verts[L.V2] + A := geom.V(float64(a.X), float64(a.Y)) + B := geom.V(float64(b.X), float64(b.Y)) + if geom.Len(geom.Sub(B, A)) < 1e-9 { + continue // degenerat + } + segs = append(segs, geom.Seg{A: A, B: B}) + } + return segs +}