com.sun.j3d.utils.picking
Class PickResult

java.lang.Object
  extended by com.sun.j3d.utils.picking.PickResult

public class PickResult
extends java.lang.Object

Stores information about a pick hit. Detailed information about the pick and each intersection of the PickShape with the picked Node can be inquired. The PickResult is constructed with basic information and more detailed information is generated as needed. The additional information is only available if capability bits on the scene graph Nodes are set properly; PickTool.setCapabilties(Node, int) can be used to ensure correct capabilites are set. Inquiring data which is not available due to capabilties not being set will generate a CapabilityNotSet exception.

A PickResult can be used to calculate intersections on Node which is not part of a live scene graph using the constructor which takes a local to VWorld transformation for the Node.

Pick hits on TriangleStrip primitives will store the triangle points in the PickIntersection with the verticies in counter-clockwise order. For triangles which start with an odd numbered vertex this will be the the opposite of the order of the points in the TriangleStrip. This way the triangle in the PickIntersection will display the same was as the triangle in the strip.

If the Shape3D being picked has multiple geometry arrays, the arrays are stored in the PickResult and referred to by a geometry index.

If the Shape3D refers to a CompressedGeometry, the geometry is decompressed into an array of Shape3D nodes which can be inquired. The geometry NodeComponents for the Shape3D nodes are stored and used as if the Shape3D had multiple geometries. If there are multiple CompressedGeometries on the Shape3D, the decompressed Shape3Ds and GeometryArrays will be stored sequentially.

The intersection point for Morph nodes cannot be calculated using the displayed geometry due to limitations in the current Java3D core API (the current geometry of the the Morph cannot be inquired). Instead the geometry at index 0 in the Morph is used. This limitation may be eliminated in a future release of Java3D.


Field Summary
static int BRANCH_GROUP
          Flag to pass to getNode(int) to return a BranchGroup node from the SceneGraphPath.
private  Shape3D[] compressGeomShape3Ds
          Shape3Ds from CompressedGeometry on the picked node
(package private) static boolean debug
           
(package private) static double EPS
           
private  boolean firstIntersectOnly
          if true, find only the first intersection
(package private) static double FUZZ
           
private  GeometryArray[] geometryArrays
          GeometryArray(s) of the picked node
static int GROUP
          Flag to pass to getNode(int) to return a Group node from the SceneGraphPath.
(package private)  java.util.ArrayList intersections
          ArrayList to store intersection results Used in PickTool
static int LINK
          Flag to pass to getNode(int) to return a Link node from the SceneGraphPath.
private  Transform3D localToVWorld
          Transform to World Coordinates
static int MORPH
          Flag to pass to getNode(int) to return a Morph node from the SceneGraphPath.
(package private) static int PICK_SHAPE_BOUNDING_BOX
           
(package private) static int PICK_SHAPE_BOUNDING_POLYTOPE
           
(package private) static int PICK_SHAPE_BOUNDING_SPHERE
           
(package private) static int PICK_SHAPE_CONE
           
(package private) static int PICK_SHAPE_CYLINDER
           
(package private) static int PICK_SHAPE_POINT
           
(package private) static int PICK_SHAPE_RAY
           
(package private) static int PICK_SHAPE_SEGMENT
           
private  Node pickedNode
          Picked node: shape3d, text3d, etc.
private  SceneGraphPath pickedSceneGraphPath
          Stored SceneGraphPath
private  PickShape pickShape
          the pick shape to use for intersections
private  Bounds pickShapeBounds
           
private  Vector3d pickShapeDir
           
private  Point3d pickShapeEnd
           
private  Point3d pickShapeStart
           
private  int pickShapeType
           
static int PRIMITIVE
          Flag to pass to getNode(int) to return a Primitive node from the SceneGraphPath.
static int SHAPE3D
          Flag to pass to getNode(int) to return a Shape3D node from the SceneGraphPath.
static int SWITCH
          Flag to pass to getNode(int) to return a Switch node from the SceneGraphPath.
static int TRANSFORM_GROUP
          Flag to pass to getNode(int) to return a TransformGroup node from the SceneGraphPath.
(package private) static Point3d zeroPnt
           
 
Constructor Summary
PickResult()
          Default constructor.
PickResult(Node pn, Transform3D l2vw, PickShape ps)
          Construct a PickResult using the Node and localToVWorld transform
PickResult(SceneGraphPath sgp, PickShape ps)
          Construct a PickResult using a SceneGraphPath
 
Method Summary
(package private) static double det2D(Point2d a, Point2d b, Point2d p)
           
(package private) static boolean edgeIntersectPlane(Vector3d normal, Point3d pnt, Point3d start, Point3d end, Point3d iPnt)
           
(package private) static boolean edgeIntersectPolygon2D(Vector3d normal, Point3d[] coord, Point3d[] seg)
           
(package private) static boolean edgeIntersectSphere(BoundingSphere sphere, Point3d start, Point3d end)
           
(package private) static double generalStandardSimplexSolver(double[][] problemTableau, double stopingValue)
           
(package private)  boolean generateIntersections()
          Fill in the intersections of the Node with the PickShape
 PickIntersection getClosestIntersection(Point3d pt)
          Gets the PickIntersection in this PickResult that is closest to a point
 Shape3D[] getCompressedGeometryShape3Ds()
          Get the array of Shape3Ds that came from decompressing a CompressedGeometry on the picked node.
 boolean getFirstPickEnable()
          Return the "first intersection only" value.
 GeometryArray getGeometryArray()
          Get the GeometryArray at index 0 for the picked node
 GeometryArray[] getGeometryArrays()
          Get the array of GeometryArrays for the picked node
 PickIntersection getIntersection(int index)
          Returns a specific PickIntersection object
 Transform3D getLocalToVworld()
          Get the localToVworld transform for the Node
 Node getNode(int flags)
          Get the first node of a certain type up the SceneGraphPath
 Node getObject()
          Get the picked node
 PickShape getPickShape()
          Get the PickShape used for intersections
 SceneGraphPath getSceneGraphPath()
          Get the SceneGraphPath.
(package private)  void initPickShape()
           
(package private) static boolean inside(Point3d[] coordinates, PickPoint point, int ccw)
          Return true if point is on the inside of halfspace test.
(package private)  boolean intersect(int geomIndex, boolean firstpick)
           
(package private) static boolean intersectBoundingBox(Point3d[] coordinates, BoundingBox box)
           
(package private) static boolean intersectBoundingPolytope(Point3d[] coordinates, BoundingPolytope polytope)
           
(package private) static boolean intersectBoundingSphere(Point3d[] coordinates, BoundingSphere sphere)
           
(package private) static boolean intersectCone(Point3d[] coordinates, PickCone cone, PickIntersection pi)
          Return true if triangle or quad intersects with cone.
(package private) static boolean intersectCone(Point3d pt, PickCone cone, PickIntersection pi)
          Return true if point intersects with cone and the distance is stored in pi.
(package private) static boolean intersectCylinder(Point3d[] coordinates, PickCylinder cyl, PickIntersection pi)
          Return true if triangle or quad intersects with cylinder and the distance is stored in pr.
(package private) static boolean intersectCylinder(Point3d pt, PickCylinder cyl, PickIntersection pi)
          Return true if point intersects with cylinder and the distance is stored in pi.
(package private)  boolean intersectILA(IndexedLineArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedLineArray
(package private)  boolean intersectILSA(IndexedLineStripArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedLineStripArray
(package private)  boolean intersectIPA(IndexedPointArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedPointArray
(package private)  boolean intersectIQA(IndexedQuadArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedQuadArray
(package private)  boolean intersectITA(IndexedTriangleArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedTriangleArray
(package private)  boolean intersectITFA(IndexedTriangleFanArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedTriangleFanArray
(package private)  boolean intersectITSA(IndexedTriangleStripArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for IndexedTriangleStripArray
(package private)  boolean intersectLA(LineArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for LineArray
(package private)  boolean intersectLine(int[] vertidx, int[] coordidx, int geomIndex, Point3d[] pnts, PickIntersection pi)
           
(package private) static boolean intersectLineAndRay(Point3d start, Point3d end, Point3d ori, Vector3d dir, PickIntersection pi)
           
(package private)  boolean intersectLSA(LineStripArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for LineStripArray
(package private)  boolean intersectPA(PointArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for PointArray
(package private) static boolean intersectPntAndPnt(Point3d pnt1, Point3d pnt2, PickIntersection pi)
           
(package private) static boolean intersectPntAndRay(Point3d pnt, Point3d ori, Vector3d dir, PickIntersection pi)
           
(package private)  boolean intersectPoint(int[] vertidx, int[] coordidx, int geomIndex, Point3d[] pnts, PickIntersection pi)
           
(package private) static boolean intersectPolygon(Point3d[] coord1, Point3d[] coord2, boolean doTrivialTest)
           
(package private)  boolean intersectQA(QuadArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for QuadArray
(package private)  boolean intersectQuad(int[] vertidx, int[] coordidx, int geomIndex, Point3d[] pnts, PickIntersection pi)
           
(package private) static boolean intersectRay(Point3d[] coordinates, PickRay ray, PickIntersection pi)
           
(package private) static boolean intersectRayOrSegment(Point3d[] coordinates, Vector3d direction, Point3d origin, PickIntersection pi, boolean isSegment)
          Return true if triangle or quad intersects with ray and the distance is stored in pr.
(package private) static boolean intersectSegment(Point3d[] coordinates, PickSegment segment, PickIntersection pi)
          Return true if triangle or quad intersects with segment and the distance is stored in dist.
(package private)  boolean intersectTA(TriangleArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for TriangleArray
(package private)  boolean intersectTFA(TriangleFanArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for TriangleFanArray
(package private)  boolean intersectTri(int[] vertidx, int[] coordidx, int geomIndex, Point3d[] pnts, PickIntersection pi)
           
(package private)  boolean intersectTSA(TriangleStripArray geom, int geomIndex, Point3d[] pnts, boolean firstpick, PickIntersection pi)
          Intersect method for TriangleStripArray
(package private) static boolean isNonZero(double v)
           
 int numCompressedGeometryShape3Ds()
          Get the number of Shape3Ds that came from decompressing a CompressedGeometry on the picked node.
 int numGeometryArrays()
          Get the number of GeometryArrays for the picked node
 int numIntersections()
          Returns the number of PickIntersections in the PickResult.
(package private) static boolean pointIntersectPolygon2D(Vector3d normal, Point3d[] coord, Point3d point)
           
 void setFirstIntersectOnly(boolean flag)
          Set the PickResult to find only the first intersection of the PickShape with the Node.
(package private)  void setObject(Node n)
          Set the picked node
private  void storeGeometry()
          Store the geometry for the node in this PickResult
(package private)  void storeNode()
          Extract the picked node from the SceneGraphPath
 java.lang.String toString()
          Returns String representation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SHAPE3D

public static final int SHAPE3D
Flag to pass to getNode(int) to return a Shape3D node from the SceneGraphPath.

See Also:
Constant Field Values

MORPH

public static final int MORPH
Flag to pass to getNode(int) to return a Morph node from the SceneGraphPath.

See Also:
Constant Field Values

PRIMITIVE

public static final int PRIMITIVE
Flag to pass to getNode(int) to return a Primitive node from the SceneGraphPath.

See Also:
Constant Field Values

LINK

public static final int LINK
Flag to pass to getNode(int) to return a Link node from the SceneGraphPath.

See Also:
Constant Field Values

GROUP

public static final int GROUP
Flag to pass to getNode(int) to return a Group node from the SceneGraphPath.

See Also:
Constant Field Values

TRANSFORM_GROUP

public static final int TRANSFORM_GROUP
Flag to pass to getNode(int) to return a TransformGroup node from the SceneGraphPath.

See Also:
Constant Field Values

BRANCH_GROUP

public static final int BRANCH_GROUP
Flag to pass to getNode(int) to return a BranchGroup node from the SceneGraphPath.

See Also:
Constant Field Values

SWITCH

public static final int SWITCH
Flag to pass to getNode(int) to return a Switch node from the SceneGraphPath.

See Also:
Constant Field Values

debug

static boolean debug

firstIntersectOnly

private boolean firstIntersectOnly
if true, find only the first intersection


pickedSceneGraphPath

private SceneGraphPath pickedSceneGraphPath
Stored SceneGraphPath


pickedNode

private Node pickedNode
Picked node: shape3d, text3d, etc.


geometryArrays

private GeometryArray[] geometryArrays
GeometryArray(s) of the picked node


compressGeomShape3Ds

private Shape3D[] compressGeomShape3Ds
Shape3Ds from CompressedGeometry on the picked node


localToVWorld

private Transform3D localToVWorld
Transform to World Coordinates


pickShape

private PickShape pickShape
the pick shape to use for intersections


pickShapeType

private int pickShapeType

pickShapeDir

private Vector3d pickShapeDir

pickShapeStart

private Point3d pickShapeStart

pickShapeEnd

private Point3d pickShapeEnd

pickShapeBounds

private Bounds pickShapeBounds

zeroPnt

static final Point3d zeroPnt

intersections

java.util.ArrayList intersections
ArrayList to store intersection results Used in PickTool


FUZZ

static final double FUZZ
See Also:
Constant Field Values

PICK_SHAPE_RAY

static final int PICK_SHAPE_RAY
See Also:
Constant Field Values

PICK_SHAPE_SEGMENT

static final int PICK_SHAPE_SEGMENT
See Also:
Constant Field Values

PICK_SHAPE_POINT

static final int PICK_SHAPE_POINT
See Also:
Constant Field Values

PICK_SHAPE_BOUNDING_BOX

static final int PICK_SHAPE_BOUNDING_BOX
See Also:
Constant Field Values

PICK_SHAPE_BOUNDING_SPHERE

static final int PICK_SHAPE_BOUNDING_SPHERE
See Also:
Constant Field Values

PICK_SHAPE_BOUNDING_POLYTOPE

static final int PICK_SHAPE_BOUNDING_POLYTOPE
See Also:
Constant Field Values

PICK_SHAPE_CYLINDER

static final int PICK_SHAPE_CYLINDER
See Also:
Constant Field Values

PICK_SHAPE_CONE

static final int PICK_SHAPE_CONE
See Also:
Constant Field Values

EPS

static final double EPS
See Also:
Constant Field Values
Constructor Detail

PickResult

PickResult()
Default constructor.


PickResult

public PickResult(SceneGraphPath sgp,
                  PickShape ps)
Construct a PickResult using a SceneGraphPath

Parameters:
sgp - SceneGraphPath associated with this PickResult
ps - The pickShape to intersect against

PickResult

public PickResult(Node pn,
                  Transform3D l2vw,
                  PickShape ps)
Construct a PickResult using the Node and localToVWorld transform

Parameters:
pn - The picked node.
l2vw - The local to VWorld transformation for the node
ps - The PickShape to intersect against
Throws:
java.lang.IllegalArgumentException - If the node is not a Morph or Shape3D.
Method Detail

initPickShape

void initPickShape()

getSceneGraphPath

public SceneGraphPath getSceneGraphPath()
Get the SceneGraphPath. This will be null if the non SceneGraphPath constructor was used.


getLocalToVworld

public Transform3D getLocalToVworld()
Get the localToVworld transform for the Node


getGeometryArray

public GeometryArray getGeometryArray()
Get the GeometryArray at index 0 for the picked node


getGeometryArrays

public GeometryArray[] getGeometryArrays()
Get the array of GeometryArrays for the picked node


numGeometryArrays

public int numGeometryArrays()
Get the number of GeometryArrays for the picked node


numCompressedGeometryShape3Ds

public int numCompressedGeometryShape3Ds()
Get the number of Shape3Ds that came from decompressing a CompressedGeometry on the picked node.


getCompressedGeometryShape3Ds

public Shape3D[] getCompressedGeometryShape3Ds()
Get the array of Shape3Ds that came from decompressing a CompressedGeometry on the picked node.


getPickShape

public PickShape getPickShape()
Get the PickShape used for intersections


setFirstIntersectOnly

public void setFirstIntersectOnly(boolean flag)
Set the PickResult to find only the first intersection of the PickShape with the Node. The default is false (all intersections are found)


getFirstPickEnable

public boolean getFirstPickEnable()
Return the "first intersection only" value.


numIntersections

public int numIntersections()
Returns the number of PickIntersections in the PickResult.

Returns:
the number of intersections

getIntersection

public PickIntersection getIntersection(int index)
Returns a specific PickIntersection object

Parameters:
index - the index number
Returns:
the PickIntersection referenced by the index number

getClosestIntersection

public PickIntersection getClosestIntersection(Point3d pt)
Gets the PickIntersection in this PickResult that is closest to a point

Parameters:
pt - the point to use for distance calculations
Returns:
the closest PickIntersection object

toString

public java.lang.String toString()
Returns String representation

Overrides:
toString in class java.lang.Object
Returns:
string representation of this object

storeGeometry

private void storeGeometry()
Store the geometry for the node in this PickResult


getObject

public Node getObject()
Get the picked node


setObject

void setObject(Node n)
Set the picked node


getNode

public Node getNode(int flags)
Get the first node of a certain type up the SceneGraphPath

Parameters:
flags - the type of node we are interested in
Returns:
a Node object

storeNode

void storeNode()
Extract the picked node from the SceneGraphPath


generateIntersections

boolean generateIntersections()
Fill in the intersections of the Node with the PickShape


intersect

final boolean intersect(int geomIndex,
                        boolean firstpick)

intersectPoint

boolean intersectPoint(int[] vertidx,
                       int[] coordidx,
                       int geomIndex,
                       Point3d[] pnts,
                       PickIntersection pi)

intersectLine

boolean intersectLine(int[] vertidx,
                      int[] coordidx,
                      int geomIndex,
                      Point3d[] pnts,
                      PickIntersection pi)

intersectTri

boolean intersectTri(int[] vertidx,
                     int[] coordidx,
                     int geomIndex,
                     Point3d[] pnts,
                     PickIntersection pi)

intersectQuad

boolean intersectQuad(int[] vertidx,
                      int[] coordidx,
                      int geomIndex,
                      Point3d[] pnts,
                      PickIntersection pi)

intersectPA

boolean intersectPA(PointArray geom,
                    int geomIndex,
                    Point3d[] pnts,
                    boolean firstpick,
                    PickIntersection pi)
Intersect method for PointArray


intersectIPA

boolean intersectIPA(IndexedPointArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for IndexedPointArray


intersectLA

boolean intersectLA(LineArray geom,
                    int geomIndex,
                    Point3d[] pnts,
                    boolean firstpick,
                    PickIntersection pi)
Intersect method for LineArray


intersectLSA

boolean intersectLSA(LineStripArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for LineStripArray


intersectILA

boolean intersectILA(IndexedLineArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for IndexedLineArray


intersectILSA

boolean intersectILSA(IndexedLineStripArray geom,
                      int geomIndex,
                      Point3d[] pnts,
                      boolean firstpick,
                      PickIntersection pi)
Intersect method for IndexedLineStripArray


intersectTA

boolean intersectTA(TriangleArray geom,
                    int geomIndex,
                    Point3d[] pnts,
                    boolean firstpick,
                    PickIntersection pi)
Intersect method for TriangleArray


intersectITA

boolean intersectITA(IndexedTriangleArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for IndexedTriangleArray


intersectTSA

boolean intersectTSA(TriangleStripArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for TriangleStripArray


intersectITSA

boolean intersectITSA(IndexedTriangleStripArray geom,
                      int geomIndex,
                      Point3d[] pnts,
                      boolean firstpick,
                      PickIntersection pi)
Intersect method for IndexedTriangleStripArray


intersectTFA

boolean intersectTFA(TriangleFanArray geom,
                     int geomIndex,
                     Point3d[] pnts,
                     boolean firstpick,
                     PickIntersection pi)
Intersect method for TriangleFanArray


intersectITFA

boolean intersectITFA(IndexedTriangleFanArray geom,
                      int geomIndex,
                      Point3d[] pnts,
                      boolean firstpick,
                      PickIntersection pi)
Intersect method for IndexedTriangleFanArray


intersectQA

boolean intersectQA(QuadArray geom,
                    int geomIndex,
                    Point3d[] pnts,
                    boolean firstpick,
                    PickIntersection pi)
Intersect method for QuadArray


intersectIQA

final boolean intersectIQA(IndexedQuadArray geom,
                           int geomIndex,
                           Point3d[] pnts,
                           boolean firstpick,
                           PickIntersection pi)
Intersect method for IndexedQuadArray


intersectBoundingBox

static boolean intersectBoundingBox(Point3d[] coordinates,
                                    BoundingBox box)

intersectBoundingSphere

static boolean intersectBoundingSphere(Point3d[] coordinates,
                                       BoundingSphere sphere)

intersectBoundingPolytope

static boolean intersectBoundingPolytope(Point3d[] coordinates,
                                         BoundingPolytope polytope)

generalStandardSimplexSolver

static double generalStandardSimplexSolver(double[][] problemTableau,
                                           double stopingValue)

edgeIntersectSphere

static boolean edgeIntersectSphere(BoundingSphere sphere,
                                   Point3d start,
                                   Point3d end)

det2D

static double det2D(Point2d a,
                    Point2d b,
                    Point2d p)

pointIntersectPolygon2D

static boolean pointIntersectPolygon2D(Vector3d normal,
                                       Point3d[] coord,
                                       Point3d point)

edgeIntersectPlane

static boolean edgeIntersectPlane(Vector3d normal,
                                  Point3d pnt,
                                  Point3d start,
                                  Point3d end,
                                  Point3d iPnt)

edgeIntersectPolygon2D

static boolean edgeIntersectPolygon2D(Vector3d normal,
                                      Point3d[] coord,
                                      Point3d[] seg)

intersectPolygon

static boolean intersectPolygon(Point3d[] coord1,
                                Point3d[] coord2,
                                boolean doTrivialTest)

isNonZero

static final boolean isNonZero(double v)

intersectRay

static boolean intersectRay(Point3d[] coordinates,
                            PickRay ray,
                            PickIntersection pi)

intersectRayOrSegment

static boolean intersectRayOrSegment(Point3d[] coordinates,
                                     Vector3d direction,
                                     Point3d origin,
                                     PickIntersection pi,
                                     boolean isSegment)
Return true if triangle or quad intersects with ray and the distance is stored in pr.


intersectSegment

static boolean intersectSegment(Point3d[] coordinates,
                                PickSegment segment,
                                PickIntersection pi)
Return true if triangle or quad intersects with segment and the distance is stored in dist.


inside

static boolean inside(Point3d[] coordinates,
                      PickPoint point,
                      int ccw)
Return true if point is on the inside of halfspace test. The halfspace is partition by the plane of triangle or quad.


intersectPntAndPnt

static boolean intersectPntAndPnt(Point3d pnt1,
                                  Point3d pnt2,
                                  PickIntersection pi)

intersectPntAndRay

static boolean intersectPntAndRay(Point3d pnt,
                                  Point3d ori,
                                  Vector3d dir,
                                  PickIntersection pi)

intersectLineAndRay

static boolean intersectLineAndRay(Point3d start,
                                   Point3d end,
                                   Point3d ori,
                                   Vector3d dir,
                                   PickIntersection pi)

intersectCylinder

static boolean intersectCylinder(Point3d[] coordinates,
                                 PickCylinder cyl,
                                 PickIntersection pi)
Return true if triangle or quad intersects with cylinder and the distance is stored in pr.


intersectCone

static boolean intersectCone(Point3d[] coordinates,
                             PickCone cone,
                             PickIntersection pi)
Return true if triangle or quad intersects with cone. The distance is stored in pr.


intersectCylinder

static boolean intersectCylinder(Point3d pt,
                                 PickCylinder cyl,
                                 PickIntersection pi)
Return true if point intersects with cylinder and the distance is stored in pi.


intersectCone

static boolean intersectCone(Point3d pt,
                             PickCone cone,
                             PickIntersection pi)
Return true if point intersects with cone and the distance is stored in pi.



Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.