de.grogra.vecmath.geom
public abstract class FrustumBase extends TransformableVolume
| Modifier and Type | Field and Description |
|---|---|
static int |
BASE |
static int |
LATERAL |
float |
scaleV
Scaling factor for v coordinate: v coordinates of lateral
face range from 0 to scaleV.
|
static int |
TOP |
| Constructor and Description |
|---|
FrustumBase() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
boxContainsBoundary(BoundingBox box,
Tuple3d center,
double radius,
Variables temp)
Returns
true if the specified box contains
(part of) the boundary surface of this volume. |
boolean |
intersect(Line line)
Intersects this object with
line. |
getDiscExtent, getDiscsExtent, getFrobeniusNorm, getObjectToWorldRotationScale, getTransformation, invalidate, invTransformPoint, scale, setTransformation, setTransformation, transformPoint, transformTranspose, transformVector, translateaddConvexIntersections, getId, operator$and, operator$com, operator$or, operator$sub, setIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcomputeIntersections, computeNormal, computeTangents, computeUV, contains, getExtentpublic static final int BASE
public static final int LATERAL
public float scaleV
public static final int TOP
public boolean boxContainsBoundary(BoundingBox box, Tuple3d center, double radius, Variables temp)
Volumetrue if the specified box contains
(part of) the boundary surface of this volume. Otherwise, if box and
boundary do not overlap, this method should return false,
but may also return true if an exact computation
would be too expensive or complicated.
Note that a box contains the boundary of a closed set S iff both have a non-empty intersection and the box is not contained in the open set of S.
box - bounding boxcenter - center coordinates of boxradius - radius of enclosing spheretemp - has to be provided by the invoker, may be used in implementationstrue if box contains (part of) the boundary of this volumepublic boolean intersect(Line line)
line. The result
is will be written to line by a modification of
Line.start and Line.end.line - the line to intersect withtrue iff the computed intersection is valid and not empty