---
name: "SoCallbackAction.h"
section: "3"
platform: "linux"
package: "libcoin80-doc"
version: "3.1.4~abc9f50-7"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoCallbackAction.h"
---

# SoCallbackAction.h(3)

## NAME

SoCallbackAction.h -

## SYNOPSIS

`#include <Inventor/actions/SoAction.h>`\
 `#include <Inventor/actions/SoSubAction.h>`\
 `#include <Inventor/elements/SoDecimationTypeElement.h>`\
 `#include <Inventor/lists/SbList.h>`\
 `#include <Inventor/nodes/SoComplexity.h>`\
 `#include <Inventor/nodes/SoDrawStyle.h>`\
 `#include <Inventor/nodes/SoLightModel.h>`\
 `#include <Inventor/nodes/SoMaterialBinding.h>`\
 `#include <Inventor/nodes/SoNormalBinding.h>`\
 `#include <Inventor/nodes/SoPickStyle.h>`\
 `#include <Inventor/nodes/SoShapeHints.h>`\
 `#include <Inventor/nodes/SoTexture2.h>`\
 `#include <Inventor/nodes/SoTextureCoordinateBinding.h>`\
 `#include <Inventor/nodes/SoUnits.h>`\

### Classes

class **SoCallbackAction**\
 *The* **SoCallbackAction** *class invokes callbacks at specific nodes.*

This action has mechanisms for tracking traversal position and traversal state. In combination with the ability to pass geometry primitives to callback actions set by the user, this does for instance make it rather straightforward to extract the geometry of a scene graph. `"`

### Typedefs

typedef void **SoTriangleCB** (void \*userdata, **SoCallbackAction** \*action, const **SoPrimitiveVertex** \*v1, const **SoPrimitiveVertex** \*v2, const **SoPrimitiveVertex** \*v3)\
 typedef void **SoLineSegmentCB** (void \*userdata, **SoCallbackAction** \*action, const **SoPrimitiveVertex** \*v1, const **SoPrimitiveVertex** \*v2)\
 typedef void **SoPointCB** (void \*userdata, **SoCallbackAction** \*action, const **SoPrimitiveVertex** \*v)\

## Typedef Documentation

### void SoTriangleCB

**Parameters:**

*userdata*` is a void pointer to any data the application need to know of in the callback function (like for instance a `*this*` pointer). `\
 *action*` the action which invoked the callback `\
 *v1*` first vertex of the triangle `\
 *v2*` second vertex of the triangle `\
 *v3*` third vertex of the triangle`

**See also:**

**SoLineSegmentCB**`, `**SoPointCB**` `

### void SoLineSegmentCB

**Parameters:**

*userdata*` is a void pointer to any data the application need to know of in the callback function (like for instance a `*this*` pointer). `\
 *action*` the action which invoked the callback `\
 *v1*` first vertex of the line `\
 *v2*` second vertex of the line`

**See also:**

`setPassCallback() `**SoPointCB**` `

### void SoPointCB

**Parameters:**

*userdata*` is a void pointer to any data the application need to know of in the callback function (like for instance a `*this*` pointer). `\
 *action*` the action which invoked the callback `\
 *v*` the vertex of the point`

**See also:**

`setPassCallback() `

## Author

`Generated automatically by Doxygen for Coin from the source code.`
