Module javafx.graphics
Package javafx.scene.input

# Class PickResult

java.lang.Object
javafx.scene.input.PickResult

public class PickResult extends Object
A container object that contains the result of a pick event

Since:
  JavaFX 8.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `FACE_UNDEFINED`
  An undefined face.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PickResult(EventTarget target, double sceneX, double sceneY)`
  Creates a pick result for a 2D case where no additional information is needed.
  `PickResult(Node node, Point3D point, double distance)`
  Creates a new instance of PickResult for a non-3d-shape target.
  `PickResult(Node node, Point3D point, double distance, int face, Point2D texCoord)`
  Creates a new instance of PickResult.
  `PickResult(Node node, Point3D point, double distance, int face, Point3D normal, Point2D texCoord)`
  Creates a new instance of PickResult.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final double`
  `getIntersectedDistance()`
  Returns the intersected distance between camera position and the intersected point.
  `final int`
  `getIntersectedFace()`
  Returns the intersected face of the picked Node, FACE_UNDEFINED if the node doesn't have user-specified faces or was picked on bounds.
  `final Node`
  `getIntersectedNode()`
  Returns the intersected node.
  `final Point3D`
  `getIntersectedNormal()`
  Return the intersected normal of the picked 3d shape.
  `final Point3D`
  `getIntersectedPoint()`
  Returns the intersected point in local coordinate of the picked Node.
  `final Point2D`
  `getIntersectedTexCoord()`
  Return the intersected texture coordinates of the picked 3d shape.

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### FACE_UNDEFINED

    public static final int FACE_UNDEFINED
    An undefined face. This value is used for the intersected face if the picked node has no user-specified faces.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### PickResult

    public PickResult(Node node, Point3D point, double distance, int face, Point2D texCoord)
    Creates a new instance of PickResult.
    Parameters:
      `node` - The intersected node
      `point` - The intersected point in local coordinate of the picked Node
      `distance` - The intersected distance between camera position and the picked Node
      `face` - The intersected face of the picked Node
      `texCoord` - The intersected texture coordinates of the picked Node

  - ### PickResult

    public PickResult(Node node, Point3D point, double distance, int face, Point3D normal, Point2D texCoord)
    Creates a new instance of PickResult.
    Parameters:
      `node` - The intersected node
      `point` - The intersected point in local coordinate of the picked Node
      `distance` - The intersected distance between camera position and the picked Node
      `face` - The intersected face of the picked Node
      `texCoord` - The intersected texture coordinates of the picked Node
      `normal` - The intersected normal of the picked Node
    Since:
      JavaFX 8u40

  - ### PickResult

    public PickResult(Node node, Point3D point, double distance)
    Creates a new instance of PickResult for a non-3d-shape target. Sets face to FACE_UNDEFINED and texCoord to null.
    Parameters:
      `node` - The intersected node
      `point` - The intersected point in local coordinate of the picked Node
      `distance` - The intersected distance between camera position and the picked Node

  - ### PickResult

    public PickResult(EventTarget target, double sceneX, double sceneY)
    Creates a pick result for a 2D case where no additional information is needed. Converts the given scene coordinates to the target's local coordinate space and stores the value as the intersected point. Sets intersected node to the given target, distance to 1.0, face to FACE_UNDEFINED and texCoord to null.
    Parameters:
      `target` - The picked target (null in case of a Scene)
      `sceneX` - The scene X coordinate
      `sceneY` - The scene Y coordinate

- ## Method Details

  - ### getIntersectedNode

    public final Node getIntersectedNode()
    Returns the intersected node. Returns null if there was no intersection with any node and the scene was picked.
    Returns:
      the picked node or null if no node was picked

  - ### getIntersectedPoint

    public final Point3D getIntersectedPoint()
    Returns the intersected point in local coordinate of the picked Node. If no node was picked, it returns the intersected point with the projection plane.
    Returns:
      new Point3D presenting the intersected point

  - ### getIntersectedDistance

    public final double getIntersectedDistance()
    Returns the intersected distance between camera position and the intersected point.
    Returns:
      the distance from camera to the intersection

  - ### getIntersectedFace

    public final int getIntersectedFace()
    Returns the intersected face of the picked Node, FACE_UNDEFINED if the node doesn't have user-specified faces or was picked on bounds.
    Returns:
      the picked face

  - ### getIntersectedNormal

    public final Point3D getIntersectedNormal()
    Return the intersected normal of the picked 3d shape. If the picked target is not Shape3D or has pickOnBounds==true, it returns null.
    Returns:
      a new Point3D presenting the intersected normal
    Since:
      JavaFX 8u40

  - ### getIntersectedTexCoord

    public final Point2D getIntersectedTexCoord()
    Return the intersected texture coordinates of the picked 3d shape. If the picked target is not Shape3D or has pickOnBounds==true, it returns null.
    Returns:
      a new Point2D presenting the intersected TexCoord