---
name: "SoEngineOutputData"
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/SoEngineOutputData"
---

# SoEngineOutputData(3)

The SoEngineOutputData class is a container for a prototype set of outputs.

## NAME

SoEngineOutputData - The **SoEngineOutputData** class is a container for a prototype set of outputs.

## SYNOPSIS

\#include \<Inventor/engines/SoOutputData.h\>

### Public Member Functions

**SoEngineOutputData** (void)\
 **SoEngineOutputData** (const **SoEngineOutputData** \*data)\
 **SoEngineOutputData** (int approxnum)\
 **~SoEngineOutputData** (void)\
 void **addOutput** (const **SoEngine** \*base, const char \*name, const **SoEngineOutput** \*output, **SoType** type)\
 void **addOutput** (const **SoNodeEngine** \*base, const char \*name, const **SoEngineOutput** \*output, **SoType** type)\
 int **getNumOutputs** (void) const\
 const **SbName** & **getOutputName** (int index) const\
 **SoEngineOutput** \* **getOutput** (const **SoEngine** \*engine, int index) const\
 **SoEngineOutput** \* **getOutput** (const **SoNodeEngine** \*engine, int index) const\
 int **getIndex** (const **SoEngine** \*engine, const **SoEngineOutput** \*output) const\
 int **getIndex** (const **SoNodeEngine** \*engine, const **SoEngineOutput** \*output) const\
 const **SoType** & **getType** (int index) const\
 SbBool **readDescriptions** (**SoInput** \*input, **SoEngine** \*engine) const\
 void **writeDescriptions** (**SoOutput** \*out, **SoEngine** \*engine) const\

## Detailed Description

The **SoEngineOutputData** class is a container for a prototype set of outputs.

This class is instantiated once for each class of objects which use outputs, and which need to be able to import and export them.

Each output of a class is stored with the name and type it has been given within its "owner" class and a pointer offset to the dynamic instance of the output itself.

It is unlikely that application programmers should need to use any of the methods of this class directly.

## Constructor & Destructor Documentation

### SoEngineOutputData::SoEngineOutputData (void )

Constructor.

### SoEngineOutputData::SoEngineOutputData (const SoEngineOutputData \* data)

Copy constructor.

### SoEngineOutputData::SoEngineOutputData (int approxnum)

Constructor. Supply the approximated number of outputs in the engine to optimize memory allocation.

### SoEngineOutputData::~SoEngineOutputData (void )

Destructor.

## Member Function Documentation

### void SoEngineOutputData::addOutput (const SoEngine \* base, const char \* name, const SoEngineOutput \* output, SoType type)

Add a new output to our internal list.

The *name* and *type* will be stored along with a pointer offset between *base* and *output*, which will be valid for all instances of the class type of *base*.

### void SoEngineOutputData::addOutput (const SoNodeEngine \* base, const char \* name, const SoEngineOutput \* output, SoType type)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

### int SoEngineOutputData::getNumOutputs (void ) const

Returns the number of outputs contained within this instance.

### const SbName & SoEngineOutputData::getOutputName (int index) const

Returns the name of the output at *index*.

### SoEngineOutput \* SoEngineOutputData::getOutput (const SoEngine \* engine, int index) const

Returns a pointer to the output at *index* within the *engine* instance.

### SoEngineOutput \* SoEngineOutputData::getOutput (const SoNodeEngine \* engine, int index) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

### int SoEngineOutputData::getIndex (const SoEngine \* engine, const SoEngineOutput \* output) const

Returns the internal index value of *output* in *engine*. If *output* is not part of *engine*, it returns -1.

### int SoEngineOutputData::getIndex (const SoNodeEngine \* engine, const SoEngineOutput \* output) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

### const SoType & SoEngineOutputData::getType (int index) const

Returns the type of the output at *index*.

### SbBool SoEngineOutputData::readDescriptions (SoInput \* in, SoEngine \* engine) const

FIXME: doc

## Author

Generated automatically by Doxygen for Coin from the source code.
