approach a surface normal vector. adjust line of sight by a
fraction of k to approach the negative surface normal vector
(away from it if k < 0). normal must be normalized.
approach a target position. move a fraction of k of the distance
between current position and target position towards the target
(away from target if k < 0). do not go nearer to target than near
clipping plane hither.
DoubleArray - dynamic array of double type values
better time and memory efficiency than Vector,
double[] accessible in native code
Copyright (c) 1996 IICM
FloatArray - dynamic array of float type values
better time and memory efficiency than Vector,
float[] accessible in native code
Copyright (c) 1996 IICM
pick a cone's side. test whether ray hits the side wall of a cone
(given by height and radius). to pick a complete cone also check
bottom disk at y = - height/2.
pick a cylinder's side. test whether ray hits a cylinder (given
by height and radius). to pick a complete cylinder also check top
and bottom disks at y = +/- height/2.
SFRotation - Field that holds an axis of rotation (3 floats)
followed by the amount of right-handed rotation about that axis
(in radians)
Copyright (c) 1996 IICM
spherical linear interpolation. return a quaternion that lies "at
t between q1 and q2", i.e. q1 for t == 0, q2 for t == 1 and an
interpolation of q1 and q2 for values between 0 and 1.
spherical linear interpolation of 3D vector. return a vector that
lies "at t between a1 and a2", i.e. a1 for t == 0, a2 for t == 1
and an interpolation of a1 and a2 for values between 0 and 1.
StringArray - dynamic array of String type values
better time and memory efficiency than Vector,
String[] accessible in native code
Copyright (c) 1996 IICM
traverse a group node by traversing all children; this function
will be typically called on the root node (should be non-null);
traversal of all nodes derived from GroupNode will call this
function by default; all other nodes traversals are abstract