---
name: "SoInteraction"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoInteraction"
---

# SoInteraction(3)

The SoInteraction class takes care of initializing internal classes.

## NAME

SoInteraction - The **SoInteraction** class takes care of initializing internal classes.

## SYNOPSIS

\#include \<Inventor/SoInteraction.h\>

### Static Public Member Functions

static void **init** (void)\

## Detailed Description

The **SoInteraction** class takes care of initializing internal classes.

**SoInteraction** is present for the sole purpose of providing an interface to the initialization methods of the classes in Coin which are somehow related to user interaction, like the draggers and manipulators.

It is unlikely that the application programmer should need to worry about this class, as **SoInteraction::init()** is called by the GUI specific initialization methods.

## Member Function Documentation

### void SoInteraction::init (void ) \[static\]

Calls the initClass() method of these classes: **SoAntiSquish**, **SoSelection**, **SoExtSelection**, **SoSurroundScale**, **SoInteractionKit**, **SoDragger**, **SoClipPlaneManip**, **SoDirectionalLightManip**, **SoPointLightManip**, **SoSpotLightManip**, **SoTransformManip**, **SoCenterballManip**, **SoHandleBoxManip**, **SoJackManip**, **SoTabBoxManip**, **SoTrackballManip**, **SoTransformBoxManip**, **SoTransformerManip**.

Note that this method calls **SoDB::init()** and **SoNodeKit::init()** to make sure all classes that the interaction functionality depends on have been initialized.

Application programmers should usually not have to invoke this method directly from application code, as it is indirectly called from the GUI-binding libraries' **init()**-functions. Only if you are using your own GUI-binding (and not one of Kongsberg Oil & Gas Technologies SoQt, SoGtk, SoXt, SoWin, Sc21 etc. libraries) do you have to explicitly call **SoInteraction::init()**.

```
int main(int argc, char ** argv )
{
  // SoQt::init() calls SoDB::init(), SoNodeKit::init() and
  // SoInteraction::init().
  QWidget * window = SoQt::init( argv[0] );
  SoSeparator * root = make_scenegraph();
  root->ref();
```

## Author

Generated automatically by Doxygen for Coin from the source code.
