

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object de.grogra.vecmath.geom.VolumeBase de.grogra.vecmath.geom.CompoundVolume de.grogra.vecmath.geom.UnionBase de.grogra.vecmath.geom.SimpleUnion
public class SimpleUnion
An instance of this class represents a simple union of a list of volumes.
In constrast to CSGUnion
, all intersections
of volume components are reported so that inner surfaces are not removed.
Field Summary 

Fields inherited from class de.grogra.vecmath.geom.CompoundVolume 

volumes 
Constructor Summary  

SimpleUnion()

Method Summary  

boolean 
computeIntersections(Line line,
int which,
IntersectionList list,
Intersection excludeStart,
Intersection excludeEnd)
Computes intersections between the boundary surface of this object and the specified line . 
Methods inherited from class de.grogra.vecmath.geom.UnionBase 

contains, getExtent 
Methods inherited from class de.grogra.vecmath.geom.CompoundVolume 

boxContainsBoundary, computeNormal, computeTangents, computeUV 
Methods inherited from class de.grogra.vecmath.geom.VolumeBase 

addConvexIntersections, getId, operator$and, operator$com, operator$or, operator$sub, setId 
Methods inherited from class java.lang.Object 

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 

public SimpleUnion()
Method Detail 

public boolean computeIntersections(Line line, int which, IntersectionList list, Intersection excludeStart, Intersection excludeEnd)
Volume
line
. The intersections are added
to list
in ascending order of distance
(i.e., of Intersection.parameter
), where the
parameter
has to lie between line.start
and line.end
.
Implementations of this method must not
clear or modify the existing intersections in list
.
The parameter which
has to be one of
Intersection.ALL
, Intersection.CLOSEST
,
Intersection.ANY
. It determines if all intersections
have to be added to the list, only the closest (minimal
value of Intersection.parameter
), or an arbitrary
of the set of all intersections. Only in case of ALL
,
the return value of this method is precise.
If specific intersection points should be excluded from the list
of computed intersections, they have to be specified in
excludeStart
and excludeEnd
.
The intersection point of excludeStart
has to be the
starting point of line
, the intersection point of
excludeEnd
has to be the end point of line
.
The exclusion of intersections is a useful feature for
raytracing, e.g., when a ray is reemitted at an intersection point
in another direction.
line
 a linewhich
 one of Intersection.ALL
,
Intersection.CLOSEST
, Intersection.ANY
, this
determines which intersections have to be added to list
list
 the intersections are added to this listexcludeStart
 intersection at start point which shall be excluded, or null
excludeEnd
 intersection at end point which shall be excluded, or null
true
iff the beginning of the line lies
within the volume (i.e., if the line starts within the volume or
enters the volume at the starting point); however note that the returned
value is valid only if which == Intersection.ALL


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 