Class PickInfo


  • public class PickInfo
    extends java.lang.Object
    The PickInfo object contains the computed information about a pick hit. The detailed information about each intersection of the PickShape with the picked Node can be inquired. The PickInfo object is constructed with basic information and more detailed information can be generated by setting the appropriate mask to the flag argument in the pick methods of BranchGroup and Locale.

    Since:
    Java 3D 1.4
    See Also:
    Locale, BranchGroup
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  PickInfo.IntersectionInfo
      The IntersectionInfo object holds extra information about an intersection of a PickShape with a Node as part of a PickInfo.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALL_GEOM_INFO
      Specifies that this PickInfo returns all the closest intersection geometry informations.
      static int CLOSEST_DISTANCE
      Specifies that this PickInfo returns the closest intersection distance.
      static int CLOSEST_GEOM_INFO
      Specifies that this PickInfo returns only the closest intersection geometry information.
      static int CLOSEST_INTERSECTION_POINT
      Specifies that this PickInfo returns the closest intersection point.
      static int LOCAL_TO_VWORLD
      Specifies that this PickInfo returns the computed local to vworld transform.
      static int NODE
      Specifies that this PickInfo returns the computed intersected Node object.
      static int PICK_BOUNDS
      Specifies a Pick using the bounds of the pickable nodes.
      static int PICK_GEOMETRY
      Specifies a Pick using the geometry of the pickable nodes.
      static int SCENEGRAPHPATH
      Specifies that this PickInfo returns the computed SceneGraphPath object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double getClosestDistance()
      Retrieves the distance between the start point of the pickShape and the closest intersection point.
      javax.vecmath.Point3d getClosestIntersectionPoint()
      Retrieves the reference to the closest intersection point in this PickInfo object.
      PickInfo.IntersectionInfo[] getIntersectionInfos()
      Retrieves the reference to the array of intersection results in this PickInfo object.
      Transform3D getLocalToVWorld()
      Retrieves the reference to the LocalToVworld transform of the picked node in this PickInfo object.
      Node getNode()
      Retrieves the reference to the picked node, either a Shape3D or a Morph, in this PickInfo object.
      SceneGraphPath getSceneGraphPath()
      Retrieves the reference to the SceneGraphPath in this PickInfo object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PICK_BOUNDS

        public static final int PICK_BOUNDS
        Specifies a Pick using the bounds of the pickable nodes.
        See Also:
        Constant Field Values
      • PICK_GEOMETRY

        public static final int PICK_GEOMETRY
        Specifies a Pick using the geometry of the pickable nodes.
        See Also:
        Constant Field Values
      • SCENEGRAPHPATH

        public static final int SCENEGRAPHPATH
        Specifies that this PickInfo returns the computed SceneGraphPath object.
        See Also:
        Constant Field Values
      • NODE

        public static final int NODE
        Specifies that this PickInfo returns the computed intersected Node object.
        See Also:
        Constant Field Values
      • LOCAL_TO_VWORLD

        public static final int LOCAL_TO_VWORLD
        Specifies that this PickInfo returns the computed local to vworld transform.
        See Also:
        Constant Field Values
      • CLOSEST_INTERSECTION_POINT

        public static final int CLOSEST_INTERSECTION_POINT
        Specifies that this PickInfo returns the closest intersection point.
        See Also:
        Constant Field Values
      • CLOSEST_DISTANCE

        public static final int CLOSEST_DISTANCE
        Specifies that this PickInfo returns the closest intersection distance.
        See Also:
        Constant Field Values
      • CLOSEST_GEOM_INFO

        public static final int CLOSEST_GEOM_INFO
        Specifies that this PickInfo returns only the closest intersection geometry information.
        See Also:
        Constant Field Values
      • ALL_GEOM_INFO

        public static final int ALL_GEOM_INFO
        Specifies that this PickInfo returns all the closest intersection geometry informations.
        See Also:
        Constant Field Values
    • Method Detail

      • getSceneGraphPath

        public SceneGraphPath getSceneGraphPath()
        Retrieves the reference to the SceneGraphPath in this PickInfo object.
        Returns:
        the SceneGraphPath object, or null if flag is not set with SCENEGRAPHPATH.
        See Also:
        Locale, BranchGroup
      • getNode

        public Node getNode()
        Retrieves the reference to the picked node, either a Shape3D or a Morph, in this PickInfo object.
        Returns:
        the picked leaf node object, or null if flag is not set with NODE.
        See Also:
        Locale, BranchGroup
      • getLocalToVWorld

        public Transform3D getLocalToVWorld()
        Retrieves the reference to the LocalToVworld transform of the picked node in this PickInfo object.
        Returns:
        the local to vworld transform, or null if flag is not set with LOCAL_TO_VWORLD.
        See Also:
        Locale, BranchGroup
      • getClosestIntersectionPoint

        public javax.vecmath.Point3d getClosestIntersectionPoint()
        Retrieves the reference to the closest intersection point in this PickInfo object.
        Returns:
        the closest intersection point, or null if flag is not set with CLOSEST_INTERSECTION_POINT.
        See Also:
        Locale, BranchGroup
      • getClosestDistance

        public double getClosestDistance()
        Retrieves the distance between the start point of the pickShape and the closest intersection point.
        Returns:
        the closest distance in double, or NaN if flag is not set with CLOSEST_INTERSECTION_POINT. Note : If this PickInfo object is returned by either pickClosest or pickAllSorted method, the return value is the closest distance in double even if flag is not set with CLOSET_INTERSECTION_POINT.
        See Also:
        Locale, BranchGroup
      • getIntersectionInfos

        public PickInfo.IntersectionInfo[] getIntersectionInfos()
        Retrieves the reference to the array of intersection results in this PickInfo object.
        Returns:
        an array of 1 IntersectionInfo object if flag is to set CLOSEST_GEOM_INFO, or an array of N IntersectionInfo objects containing all intersections of the picked node in sorted order if flag is to set ALL_GEOM_INFO, or null if neither bit is set.
        See Also:
        Locale, BranchGroup