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