26 lines
807 B
Go
26 lines
807 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/deadsy/sdfx/sdf"
|
|
)
|
|
|
|
func loggedMovement(input sdf.SDF2, displacement sdf.V2, label string) sdf.SDF2 {
|
|
output := sdf.Transform2D(input, sdf.Translate2d(displacement))
|
|
log.Printf("Moving %v by X: %v, Y: %v\n", label, displacement.X, displacement.Y)
|
|
return output
|
|
}
|
|
|
|
func splitPlane() map[string]sdf.SDF2 {
|
|
planes := make(map[string]sdf.SDF2)
|
|
original := topPlane()
|
|
x, y := original.BoundingBox().Max.X*2, original.BoundingBox().Max.Y*2
|
|
cutout := sdf.Box2D(sdf.V2{X: x, Y: y}, 0)
|
|
cOLeft := sdf.Transform2D(cutout, sdf.Translate2d(sdf.V2{X: x / 2, Y: 0}))
|
|
cORight := sdf.Transform2D(cutout, sdf.Translate2d(sdf.V2{X: -x / 2, Y: 0}))
|
|
planes["left"] = sdf.Difference2D(original, cOLeft)
|
|
planes["right"] = sdf.Difference2D(original, cORight)
|
|
return planes
|
|
}
|