# SoPickedPoint Class Reference
[General classes]

`#include <Inventor/SoPickedPoint.h>`

List of all members.

## Detailed Description

The SoPickedPoint class is used for specifying picked points.

It holds miscellaneous information about the picked point, such as position, normal, texture coordinate and material index in the current material. It might also hold detail information (an SoDetail subclass) for every node in the picked path.

See also:
  SoRayPickAction

## Public Member Functions

| SoPickedPoint (const SoPickedPoint &pp)
| SoPickedPoint (const SoPath *const path, SoState *const state, const SbVec3f &objSpacePoint)
| ~SoPickedPoint ()
SoPickedPoint * | copy () const
const SbVec3f & | getPoint () const
const SbVec3f & | getNormal () const
const SbVec4f & | getTextureCoords () const
int | getMaterialIndex () const
SoPath * | getPath () const
SbBool | isOnGeometry () const
const SoDetail * | getDetail (const SoNode *const node=NULL) const
const SbMatrix & | getObjectToWorld (const SoNode *const node=NULL) const
const SbMatrix & | getWorldToObject (const SoNode *const node=NULL) const
const SbMatrix & | getObjectToImage (const SoNode *const node=NULL) const
const SbMatrix & | getImageToObject (const SoNode *const node=NULL) const
SbVec3f | getObjectPoint (const SoNode *const node=NULL) const
SbVec3f | getObjectNormal (const SoNode *const node=NULL) const
SbVec4f | getObjectTextureCoords (const SoNode *const node=NULL) const
void | setObjectNormal (const SbVec3f &normal)
void | setObjectTextureCoords (const SbVec4f &texCoords)
void | setMaterialIndex (const int index)
void | setDetail (SoDetail *detail, SoNode *node)

## Constructor & Destructor Documentation

SoPickedPoint::SoPickedPoint | ( | const SoPickedPoint & | pp | ) |

| Copy constructor.

SoPickedPoint::SoPickedPoint | ( | const SoPath *const | path,
|  | SoState *const | state,
|  | const SbVec3f & | objSpacePoint
| ) |

| Constructor. Uses the state to convert between world and object space for the data.

SoPickedPoint::~SoPickedPoint | ( |  | ) |

| Destructor.

## Member Function Documentation

SoPickedPoint * SoPickedPoint::copy | ( |  | ) | const

Returns a copy of this picked point.

Note that if the Coin library has been built as a DLL under Microsoft Windows and you use this method from application code, you must make sure that both the Coin DLL and the application executable is using the same instance of a C Run-Time (CRT) library. Otherwise, you will get memory heap corruption upon deallocating the returned instances, eventually leading to mysterious crashes.

const SbVec3f & SoPickedPoint::getPoint | ( |  | ) | const

| Returns the world space point.

const SbVec3f & SoPickedPoint::getNormal | ( | void |  | ) | const

| Returns the world space normal.

const SbVec4f & SoPickedPoint::getTextureCoords | ( |  | ) | const

| Returns the image space texture coordinates.

int SoPickedPoint::getMaterialIndex | ( |  | ) | const

| Returns the material index.

SoPath * SoPickedPoint::getPath | ( |  | ) | const

| Returns the path to the picked object.

SbBool SoPickedPoint::isOnGeometry | ( |  | ) | const

| Returns TRUE if this picked point is on the actual geometry of the picked object, or FALSE if not (it might for instance be on the bounding box if picking was done on bounding boxes).

const SoDetail * SoPickedPoint::getDetail | ( | const SoNode *const | node = NULL | ) | const

| Returns detail for node. If node equals NULL, the detail for the picked object is returned.

const SbMatrix & SoPickedPoint::getObjectToWorld | ( | const SoNode *const | node = NULL | ) | const

| Returns the matrix which converts from object (specified by node) to world space. If node equals NULL, the object space of the picked object will used.

const SbMatrix & SoPickedPoint::getWorldToObject | ( | const SoNode *const | node = NULL | ) | const

| Returns the matrix which converts from world to object (specified by node) space. If node equals NULL, the object space of the picked object will used.

const SbMatrix & SoPickedPoint::getObjectToImage | ( | const SoNode *const | node = NULL | ) | const

| Returns the matrix which converts from object (specified by node) to image space. If node equals NULL, the object space of the picked object will used.

const SbMatrix & SoPickedPoint::getImageToObject | ( | const SoNode *const | node = NULL | ) | const

| Returns the matrix which converts from image to object (specified by node) space. If node equals NULL, the object space of the picked object will used.

SbVec3f SoPickedPoint::getObjectPoint | ( | const SoNode *const | node = NULL | ) | const

| Returns the object space point, in the object space specified by node. If node equals `NULL`, the object space of the node where the point was actually picked will be used (this is what one would usually be interested in). node can be any node in the scenegraph.

SbVec3f SoPickedPoint::getObjectNormal | ( | const SoNode *const | node = NULL | ) | const

| Returns the object space (specified by node) normal. If node equals NULL, the picked point object space will be used.

SbVec4f SoPickedPoint::getObjectTextureCoords | ( | const SoNode *const | node = NULL | ) | const

| Returns the object space (specified by node) texture coordinates. If node equals NULL, the picked point object space will be used.

void SoPickedPoint::setObjectNormal | ( | const SbVec3f & | normal | ) |

| Sets the picked point objects space normal vector.

void SoPickedPoint::setObjectTextureCoords | ( | const SbVec4f & | texCoords | ) |

| Sets the picked point object space texture coordinates.

void SoPickedPoint::setMaterialIndex | ( | const int | index | ) |

| Sets the material index.

void SoPickedPoint::setDetail | ( | SoDetail * | detail,
|  | SoNode * | node
| ) |

| Sets the detail for node. node must be in the picked path, of course. Set to NULL if you want to remove a detail for a node.

The documentation for this class was generated from the following files:

- SoPickedPoint.h
- SoPickedPoint.cpp