Class SoPickedPoint

java.lang.Object
com.openinventor.inventor.Inventor
com.openinventor.inventor.SoPickedPoint

public class SoPickedPoint extends Inventor
Represents point on surface of picked object. An SoPickedPoint represents a point on the surface of an object that was picked by applying an SoRayPickAction to a scene. It contains a path to the picked shape, the point of intersection, the surface normal and texture coordinates at that point, and other information. Note that it is not always necessary to explicitly apply an SoRayPickAction to the scene. The getPickedPoint method may also be called on an SoHandleEventAction or an SoEventCallback node.

Each node in the picked path may have a corresponding instance of an SoDetail subclass. These detail instances are stored in the SoPickedPoint.

See Also:
  • Constructor Details

    • SoPickedPoint

      public SoPickedPoint()
      Default constructor.
    • SoPickedPoint

      public SoPickedPoint(SoPickedPoint pp)
      Copy constructor.
  • Method Details

    • getObjectToWorld

      public SbMatrix getObjectToWorld()
      Calls getObjectToWorld((com.openinventor.inventor.nodes.SoNode)null).
    • getDetail

      public SoDetail getDetail()
      Calls getDetail((com.openinventor.inventor.nodes.SoNode)null).
    • getWorldToObject

      public SbMatrix getWorldToObject()
      Calls getWorldToObject((com.openinventor.inventor.nodes.SoNode)null).
    • getObjectPoint

      public SbVec3f getObjectPoint()
      Calls getObjectPoint((com.openinventor.inventor.nodes.SoNode)null).
    • getObjectNormal

      public SbVec3f getObjectNormal()
      Calls getObjectNormal((com.openinventor.inventor.nodes.SoNode)null).
    • getObjectTextureCoords

      public SbVec4f getObjectTextureCoords()
      Calls getObjectTextureCoords((com.openinventor.inventor.nodes.SoNode)null).
    • getImageToObject

      public SbMatrix getImageToObject()
      Calls getImageToObject((com.openinventor.inventor.nodes.SoNode)null).
    • getObjectToImage

      public SbMatrix getObjectToImage()
      Calls getObjectToImage((com.openinventor.inventor.nodes.SoNode)null).
    • getTextureCoords

      public SbVec4f getTextureCoords()
      Returns the texture coordinates in image space. NOTE: By default the SoRayPickAction does not compute texture coordinates and this method returns 0,0,0,0. To enable texture coordinate computation call the enableTexCoordsGeneration() method on the pick action object or set the environment variable OIV_PICK_GENERATE_ALL_PROPERTIES to true.
    • getNormal

      public SbVec3f getNormal()
      Returns the surface normal in world space. NOTE: It is possible to disable computation of normal vectors by calling the enableNormalsGeneration() method on SoRayPickAction. If normal vectors are disabled, this method returns 0,0,0.
    • copy

      public SoPickedPoint copy()
    • getPoint

      public SbVec3f getPoint()
      Returns the intersection point in world space.
    • getWorldToObject

      public SbMatrix getWorldToObject(SoNode node)
      Returns the transformation matrix between world space and the object space corresponding to the given node in the path. If the node is NULL, the matrix corresponding to the tail of the (full) path is returned.
    • setObjectNormal

      public void setObjectNormal(SbVec3f normal)
    • getObjectToWorld

      public SbMatrix getObjectToWorld(SoNode node)
      Returns the transformation matrix between the object space and world space corresponding to the given node in the path. If the node is NULL, the matrix corresponding to the tail of the (full) path is returned.
    • getObjectTextureCoords

      public SbVec4f getObjectTextureCoords(SoNode node)
      Returns the texture coordinates in the object space corresponding to the given node in the path. If the node is NULL, the information corresponding to the tail of the (full) path is returned.
    • getImageToObject

      public SbMatrix getImageToObject(SoNode node)
      Returns the texture transformation matrix between image space and the object space corresponding to the given node in the path. If the node is NULL, the matrix corresponding to the tail of the (full) path is returned.
    • getObjectNormal

      public SbVec3f getObjectNormal(SoNode node)
      Returns the surface normal in the object space corresponding to the given node in the path. If the node is NULL, the information corresponding to the tail of the (full) path is returned.
    • getObjectToImage

      public SbMatrix getObjectToImage(SoNode node)
      Returns the texture transformation matrix between the object space and image space corresponding to the given node in the path. If the node is NULL, the matrix corresponding to the tail of the (full) path is returned.
    • setObjectTextureCoords

      public void setObjectTextureCoords(SbVec4f texCoords)
    • getPath

      public SoPath getPath()
      Returns the path to the object that was intersected.
    • getObjectPoint

      public SbVec3f getObjectPoint(SoNode node)
      Returns the intersection point in the object space corresponding to the given node in the path. If the node is NULL, the information corresponding to the tail of the (full) path is returned.
    • getMaterialIndex

      public int getMaterialIndex()
      Returns the index into the current set of materials of the material active at the intersection point. Note that if the materials are interpolated between vertices, the index will correspond to the material at one of the vertices.
    • setDetail

      public void setDetail(SoDetail detail, SoNode node)
    • getDetail

      public SoDetail getDetail(SoNode node)
      Returns the detail that corresponds to the specified node in the path returned by getPath(). If the node is null, the detail corresponding to the tail of the pick path is returned.

      Caution: If there is no detail class associated with the node, null is returned.

    • setMaterialIndex

      public void setMaterialIndex(int index)
    • isOnGeometry

      public boolean isOnGeometry()
      Returns whether the intersection is actually on the geometry of the character that was hit, as opposed to being on the bounding box. The pick style (see SoPickStyle) affects this decision.