Mark Sibly преди 8 години
родител
ревизия
a4d5d273ce
променени са 1 файла, в които са добавени 10 реда и са изтрити 1 реда
  1. 10 1
      modules/std/geom/plane.monkey2

+ 10 - 1
modules/std/geom/plane.monkey2

@@ -42,7 +42,7 @@ Struct Plane<T>
 		
 		Return n.Dot( p )+d
 	End
-
+	
 	Method Nearest:Vec3<T>( p:Vec3<T> )
 		
 		Return p-n*Distance( p )
@@ -58,4 +58,13 @@ Struct Plane<T>
 		Return line * TIntersect( line )
 	End
 	
+	Method Intersect:Line<T>( p:Plane<T> )
+		
+		Local v:=n.Cross( p.n ).Normalize()
+
+		Local o:=p.Intersect( New Line<T>( n*-d,n.Cross( v ) ) )
+		
+		Return New Line<T>( o,v )
+	End
+	
 End