|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.grogra.vecmath.geom.Intersection
public class Intersection
Instances of Intersection
specify the properties
of an intersection point of a
Line
with the surface of a Volume
.
They are part of an
IntersectionList
.
Field Summary | |
---|---|
static int |
ALL
Parameter for Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection) indicating
that all intersections have to be found. |
static int |
ANY
Parameter for Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection) indicating
that some arbitrary intersection of the set of all
intersections has to be found. |
static int |
CLOSEST
Parameter for Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection) indicating
that only the closest intersection (minimal value of
parameter ) has to be found. |
static int |
ENTERING
Value for type indicating that the line is entering
the solid volume at this intersection poing. |
int |
face
This field can be used by the volume to store
additional information, e.g., a face index. |
static int |
LEAVING
Value for type indicating that the line is leaving
the solid volume at this intersection point. |
Line |
line
Defines the line which was used for this intersection point. |
double |
parameter
The intersection point is located at line.origin + parameter * line.direction . |
static int |
PASSING
Value for type indicating that the line is passing
the non-solid (infinitely thin) "volume" (in this case it is
not a true volume, rather a surface) at this intersection point. |
Volume |
solid
Defines the solid volume on whose surface this intersection point lies. |
Point3d |
tmpPoint0
This point may be used freely in methods which perform computations based on this intersection. |
Vector3d |
tmpVector0
This vector may be used freely in methods which perform computations based on this intersection. |
int |
type
Indicates the type of intersection, one of ENTERING ,
LEAVING , or PASSING . |
Volume |
volume
Defines the volume which computed this intersection point. |
java.lang.Object |
volumeData
This field can be used by the volume to store
additional information. |
Vector3d |
volumeVector
This field can be used by the volume to store
additional information. |
Constructor Summary | |
---|---|
Intersection(IntersectionList list)
|
Method Summary | |
---|---|
Intersection |
deepCopy()
|
Vector3d |
getNormal()
Returns the surface geometric normal unit vector in global coordinates. |
Point3d |
getPoint()
Returns the intersection point in global coordinates. |
Vector3d |
getUTangent()
Returns the surface geometric normal unit vector in global coordinates. |
Vector2d |
getUV()
Returns the uv coordinates of this intersection point. |
Vector3d |
getVTangent()
|
void |
negateNormal()
This method can be invoked by CSG operations to indicate that the true normal vector is the negation of the vector which would be computed otherwise. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int ALL
Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection)
indicating
that all intersections have to be found.
public static final int ANY
Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection)
indicating
that some arbitrary intersection of the set of all
intersections has to be found.
public static final int CLOSEST
Volume.computeIntersections(de.grogra.vecmath.geom.Line, int, de.grogra.vecmath.geom.IntersectionList, de.grogra.vecmath.geom.Intersection, de.grogra.vecmath.geom.Intersection)
indicating
that only the closest intersection (minimal value of
parameter
) has to be found.
public static final int ENTERING
type
indicating that the line is entering
the solid volume at this intersection poing.
public int face
volume
to store
additional information, e.g., a face index.
public static final int LEAVING
type
indicating that the line is leaving
the solid volume at this intersection point.
public Line line
public double parameter
line.origin + parameter * line.direction
. Within an
IntersectionList
, intersections are sorted in ascending
order of parameter
.
public static final int PASSING
type
indicating that the line is passing
the non-solid (infinitely thin) "volume" (in this case it is
not a true volume, rather a surface) at this intersection point.
public Volume solid
volume
, but for CSG operations,
it is set to the resulting CSG volume.
public Point3d tmpPoint0
public Vector3d tmpVector0
public int type
ENTERING
,
LEAVING
, or PASSING
.
public Volume volume
public java.lang.Object volumeData
volume
to store
additional information.
public final Vector3d volumeVector
volume
to store
additional information.
Constructor Detail |
---|
public Intersection(IntersectionList list)
Method Detail |
---|
public Intersection deepCopy()
public Vector3d getNormal()
Volume.computeNormal(Intersection, Vector3d)
.
The returned value may not be modified.
public Point3d getPoint()
public Vector3d getUTangent()
Volume.computeNormal(Intersection, Vector3d)
.
The returned value may not be modified.
public Vector2d getUV()
Volume.computeUV(Intersection, Vector2d)
.
The returned value may not be modified.
public Vector3d getVTangent()
public void negateNormal()
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |