VARKON Version 1.15 1996-04-20


all_int_lin_sur - Function

Calculates all intersect points between a surface and a line.


Description.

The function calculates all intersect points between a surface and a straight line. There are many options for the ordering of the intersect points.

Syntax

all_int_lin_sur(surface, p, v, order, start, nint, uv, xyz)

REF surface;
VECTOR p;
VECTOR v:
INT order;
VECTOR start;
INT nsol;
VECTOR uv ( );
VECTOR xyz ( );


Principal parameters

surface - Identity of the surface
p - Position
v - Direction of the line (ray)
order - Method for the ordering of intersect points (the solutions).
   Ordering is always with respect to the distance to the input R*3 point p
   but solution points will be omitted for the different cases.
   Eq. 1: All intersect points 
   Eq. 2: Only intersect points in the v (shooting) direction
   Eq. 3: As 2 but only intersect points with surface normals that have the same direction as
             the v vector (the shooting direction)
   Eq. 4: As 2 but only intersect points with surface normals that are in the opposite
             direction as the v vector (the shooting direction)
   Eq. 5: As 3 but the number of solutions will be zero ( 0 ) if the first solution   point has a
             surface normal that is in the opposite direction compared to vector v (the shooting
             direction)
   Eq. 6: As 3 but the number of solutions will be zero ( 0 ) if the first solution point has a
             surface normal that is in the same direction as the vector v 
nint - Number of solution points


Optional parameters

start - Start uv-value for faster numerical solution. vec(-1,-1,-1) = none = default
uv - Array with output U,V solutions (intersect points)
xyz - Array with output R*3 solutions (intersect points)



Example

VECTOR uv (10);

all_int_lin_sur(#5, vec(100,20,30), vec(1,0,0), 2, ,uv )

Calculates all intersect points between the line defined by point (100, 20, 30) and the vector ( 1, 0, 0)
and the surface #5. Output solution points in uv will only be the points in the shooting direction.


VARKON Homepage Index