Package com.openinventor.inventor
Class SoPickedPoint
java.lang.Object
com.openinventor.inventor.Inventor
com.openinventor.inventor.SoPickedPoint
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
Field Summary
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Calls getDetail((com.openinventor.inventor.nodes.SoNode)null).Returns the detail that corresponds to the specified node in the path returned bygetPath()
.Calls getImageToObject((com.openinventor.inventor.nodes.SoNode)null).getImageToObject
(SoNode node) Returns the texture transformation matrix between image space and the object space corresponding to the given node in the path.int
Returns the index into the current set of materials of the material active at the intersection point.Returns the surface normal in world space.Calls getObjectNormal((com.openinventor.inventor.nodes.SoNode)null).getObjectNormal
(SoNode node) Returns the surface normal in the object space corresponding to the given node in the path.Calls getObjectPoint((com.openinventor.inventor.nodes.SoNode)null).getObjectPoint
(SoNode node) Returns the intersection point in the object space corresponding to the given node in the path.Calls getObjectTextureCoords((com.openinventor.inventor.nodes.SoNode)null).getObjectTextureCoords
(SoNode node) Returns the texture coordinates in the object space corresponding to the given node in the path.Calls getObjectToImage((com.openinventor.inventor.nodes.SoNode)null).getObjectToImage
(SoNode node) Returns the texture transformation matrix between the object space and image space corresponding to the given node in the path.Calls getObjectToWorld((com.openinventor.inventor.nodes.SoNode)null).getObjectToWorld
(SoNode node) Returns the transformation matrix between the object space and world space corresponding to the given node in the path.getPath()
Returns the path to the object that was intersected.getPoint()
Returns the intersection point in world space.Returns the texture coordinates in image space.Calls getWorldToObject((com.openinventor.inventor.nodes.SoNode)null).getWorldToObject
(SoNode node) Returns the transformation matrix between world space and the object space corresponding to the given node in the path.boolean
Returns whether the intersection is actually on the geometry of the character that was hit, as opposed to being on the bounding box.void
void
setMaterialIndex
(int index) void
setObjectNormal
(SbVec3f normal) void
setObjectTextureCoords
(SbVec4f texCoords) Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
Constructor Details
-
SoPickedPoint
public SoPickedPoint()Default constructor. -
SoPickedPoint
Copy constructor.
-
-
Method Details
-
getObjectToWorld
Calls getObjectToWorld((com.openinventor.inventor.nodes.SoNode)null). -
getDetail
Calls getDetail((com.openinventor.inventor.nodes.SoNode)null). -
getWorldToObject
Calls getWorldToObject((com.openinventor.inventor.nodes.SoNode)null). -
getObjectPoint
Calls getObjectPoint((com.openinventor.inventor.nodes.SoNode)null). -
getObjectNormal
Calls getObjectNormal((com.openinventor.inventor.nodes.SoNode)null). -
getObjectTextureCoords
Calls getObjectTextureCoords((com.openinventor.inventor.nodes.SoNode)null). -
getImageToObject
Calls getImageToObject((com.openinventor.inventor.nodes.SoNode)null). -
getObjectToImage
Calls getObjectToImage((com.openinventor.inventor.nodes.SoNode)null). -
getTextureCoords
Returns the texture coordinates in image space. NOTE: By default theSoRayPickAction
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
Returns the surface normal in world space. NOTE: It is possible to disable computation of normal vectors by calling the enableNormalsGeneration() method onSoRayPickAction
. If normal vectors are disabled, this method returns 0,0,0. -
copy
-
getPoint
Returns the intersection point in world space. -
getWorldToObject
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
-
getObjectToWorld
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
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
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
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
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
-
getPath
Returns the path to the object that was intersected. -
getObjectPoint
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
-
getDetail
Returns the detail that corresponds to the specified node in the path returned bygetPath()
. 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 (seeSoPickStyle
) affects this decision.
-