@@ -3,7 +3,6 @@ package floats
33
44import (
55 geom "github.com/gravitton/geometry"
6- "github.com/gravitton/x/slices"
76)
87
98type Point = geom.Point [float64 ]
@@ -16,75 +15,47 @@ type Polygon = geom.Polygon[float64]
1615type RegularPolygon = geom.RegularPolygon [float64 ]
1716type Padding = geom.Padding [float64 ]
1817
18+ // Pt is shorthand for geom.Pt(x, y).Float()
1919func Pt [T geom.Number ](x , y T ) Point {
20- return Point {X : float64 (x ), Y : float64 (y )}
21- }
22-
23- func ToPoint [T geom.Number ](point geom.Point [T ]) Point {
24- return Pt (point .X , point .Y )
20+ return geom .Pt (x , y ).Float ()
2521}
2622
23+ // Vec is shorthand for geom.Vec(x, y).Float()
2724func Vec [T geom.Number ](x , y T ) Vector {
28- return Vector {X : float64 (x ), Y : float64 (y )}
29- }
30-
31- func ToVector [T geom.Number ](vector geom.Vector [T ]) Vector {
32- return Vec (vector .X , vector .Y )
25+ return geom .Vec (x , y ).Float ()
3326}
3427
28+ // Sz is shorthand for geom.Sz(width, height).Float()
3529func Sz [T geom.Number ](width , height T ) Size {
36- return Size {Width : float64 (width ), Height : float64 (height )}
37- }
38-
39- func ToSize [T geom.Number ](size geom.Size [T ]) Size {
40- return Sz (size .Width , size .Height )
30+ return geom .Sz (width , height ).Float ()
4131}
4232
33+ // Circ is shorthand for geom.Circ(center, radius).Float()
4334func Circ [T geom.Number ](center geom.Point [T ], radius T ) Circle {
44- return Circle {Center : ToPoint (center ), Radius : float64 (radius )}
45- }
46-
47- func ToCircle [T geom.Number ](circle geom.Circle [T ]) Circle {
48- return Circ (circle .Center , circle .Radius )
35+ return geom .Circ (center , radius ).Float ()
4936}
5037
38+ // Ln is shorthand for geom.Ln(start, end).Float()
5139func Ln [T geom.Number ](start , end geom.Point [T ]) Line {
52- return Line { Start : ToPoint (start ), End : ToPoint ( end )}
40+ return geom . Ln (start , end ). Float ()
5341}
5442
55- func ToLine [T geom.Number ](line geom.Line [T ]) Line {
56- return Ln (line .Start , line .End )
57- }
43+ // Rect is shorthand for geom.Rect(center, size).Float()
5844func Rect [T geom.Number ](center geom.Point [T ], size geom.Size [T ]) Rectangle {
59- return Rectangle { Center : ToPoint (center ), Size : ToSize ( size )}
45+ return geom . Rect (center , size ). Float ()
6046}
6147
62- func ToRectangle [T geom.Number ](rectangle geom.Rectangle [T ]) Rectangle {
63- return Rect (rectangle .Center , rectangle .Size )
64- }
65-
66- func Pol [T geom.Number ](Vertices []geom.Point [T ]) Polygon {
67- return Polygon {Vertices : slices .Map (Vertices , func (point geom.Point [T ]) Point {
68- return ToPoint (point )
69- })}
70- }
71-
72- func ToPolygon [T geom.Number ](polygon geom.Polygon [T ]) Polygon {
73- return Pol (polygon .Vertices )
48+ // Pol is shorthand for geom.Pol(vertices).Float()
49+ func Pol [T geom.Number ](vertices []geom.Point [T ]) Polygon {
50+ return geom .Pol (vertices ).Float ()
7451}
7552
53+ // RegPol is shorthand for geom.RegPol(center, size, n, angle).Float()
7654func RegPol [T geom.Number ](center geom.Point [T ], size geom.Size [T ], n int , angle float64 ) RegularPolygon {
77- return RegularPolygon {Center : ToPoint (center ), Size : ToSize (size ), N : n , Angle : angle }
78- }
79-
80- func ToRegularPolygon [T geom.Number ](polygon geom.RegularPolygon [T ]) RegularPolygon {
81- return RegPol (polygon .Center , polygon .Size , polygon .N , polygon .Angle )
82- }
83-
84- func Pd [T geom.Number ](top , right , bottom , left T ) Padding {
85- return Padding {Top : float64 (top ), Right : float64 (right ), Bottom : float64 (bottom ), Left : float64 (left )}
55+ return geom .RegPol (center , size , n , angle ).Float ()
8656}
8757
88- func ToPadding [T geom.Number ](padding geom.Padding [T ]) Padding {
89- return Pd (padding .Top , padding .Right , padding .Bottom , padding .Left )
58+ // Pad is shorthand for geom.Pad(top, right, bottom, left).Float()
59+ func Pad [T geom.Number ](top , right , bottom , left T ) Padding {
60+ return geom .Pad (top , right , bottom , left ).Float ()
9061}
0 commit comments