Kaynağa Gözat

std.geom tweaks.

Mark Sibly 7 yıl önce
ebeveyn
işleme
c7eb3331a9

+ 9 - 0
modules/std/geom/line.monkey2

@@ -19,6 +19,11 @@ Struct Line<T>
 		Self.o=o;Self.d=d
 	End
 	
+	Operator To:String()
+		Return "Line("+o+","+d+")"
+	End
+	
+	
 	Operator-:Line()
 		Return New Line( o,-d )
 	End
@@ -35,6 +40,10 @@ Struct Line<T>
 		Return o+d*time
 	End
 	
+	Method TNearest:Float( p:Vec3<T> )
+		Return ( d.Dot( p-o )/d.Dot( d ) )
+	End
+	
 	Method Nearest:Vec3<T>( p:Vec3<T> )
 		Return o+d*( d.Dot( p-o )/d.Dot( d ) )
 	End

+ 4 - 0
modules/std/geom/plane.monkey2

@@ -61,4 +61,8 @@ Struct Plane<T>
 		Return New Line<T>( o,v )
 	End
 	
+	Operator To:String()
+		Return "Plane("+n+","+d+")"
+	End
+		
 End