# SoPickAction Class Reference
[Actions]

`#include <Inventor/actions/SoPickAction.h>`

Inheritance diagram for SoPickAction:

List of all members.

## Detailed Description

The SoPickAction class is the base class for picking actions.

The basis for all interaction features that Coin provides for the application programmer is the pick actions. Draggers, manipulators, SoSelection nodes, etc all make use of the functionality provided by the pick actions for selecting and manipulating scene geometry in various ways.

This class is not supposed to be used directly by the application programmer, as it is more a place-holder for the common interface of picking operations. It does not contain any actual code for doing scenegraph picks.

Coin provides a fully functional picking action for the application programmer to use through the SoRayPickAction class (which inherits the SoPickAction class).

See also:
  SoSelection

## Public Member Functions

void | setViewportRegion (const SbViewportRegion &newregion)
const SbViewportRegion & | getViewportRegion (void)
void | enableCulling (const SbBool flag)
SbBool | isCullingEnabled () const

## Static Public Member Functions

void | initClass (void)

## Protected Member Functions

| SoPickAction (const SbViewportRegion &viewportregion)
virtual | ~SoPickAction ()
virtual void | beginTraversal (SoNode *node)

## Protected Attributes

SbViewportRegion | vpRegion

## Constructor & Destructor Documentation

SoPickAction::SoPickAction | ( | const SbViewportRegion & | viewportregion | ) | `[protected]`

| Constructor.

SoPickAction::~SoPickAction | ( | void |  | ) | `[protected, virtual]`

| Destructor.

## Member Function Documentation

void SoPickAction::initClass | ( | void |  | ) | `[static]`

| Initializes the run-time type system for this class, and sets up the enabled elements and action method list. Reimplemented from SoAction. Reimplemented in SoRayPickAction.

void SoPickAction::setViewportRegion | ( | const SbViewportRegion & | newregion | ) |

| Set a new viewport region to replace the one passed in with the constructor.

const SbViewportRegion & SoPickAction::getViewportRegion | ( | void |  | ) |

| Returns the viewport region used by the action.

void SoPickAction::enableCulling | ( | const SbBool | flag | ) |

| Don't calculate bounding boxes and try to do culling when picking. This can provide a speed-up in cases where the default setting of `on` would be inefficient.

SbBool SoPickAction::isCullingEnabled | ( | void |  | ) | const

| Returns the current state of the culling flag.

void SoPickAction::beginTraversal | ( | SoNode * | node | ) | `[protected, virtual]`

This virtual method is called from SoAction::apply(), and is the entry point for the actual scenegraph traversal.

It can be overridden to initialize the action at traversal start, for specific initializations in the action subclasses inheriting SoAction.

Default method just calls traverse(), which any overridden implementation of the method must do too (or call SoAction::beginTraversal()) to trigger the scenegraph traversal.

Reimplemented from SoAction.

Reimplemented in SoRayPickAction.

## Member Data Documentation

SbViewportRegion SoPickAction::vpRegion`[protected]`

| The viewport region used by pick actions.

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

- SoPickAction.h
- SoPickAction.cpp