Implementation on the External Side

See commandline example for the implementation of the Alien functions and classes.

Functions

The following functions must be implemented on the external side:

NodeData* AllocAlienObjectData(Int32 id, Bool& known)

Allocates the different object types. The cases depends on the definition of the alien_def.h for the external application (see commandline example and its implementation of AllocAlienObjectData()).

RootMaterial* AllocAlienRootMaterial()

Allocates the root for the material.

RootMaterial *AllocAlienRootMaterial()
{
return NewObj(AlienRootMaterial);
}

RootObject* AllocAlienRootObject()

Allocates the root for the object.

RootObject *AllocAlienRootObject()
{
return NewObj(AlienRootObject);
}

RootLayer* AllocAlienRootLayer()

Allocates the root for the layer.

RootLayer *AllocAlienRootLayer()
{
return NewObj(AlienRootLayer);
}

RootRenderData* AllocAlienRootRenderData()

Allocates the root for the render data.

RootRenderData *AllocAlienRootRenderData()
{
return NewObj(AlienRootRenderData);
}

RootViewPanel* AllocC4DRootViewPanel()

Private but must be implemented.

RootViewPanel *AllocC4DRootViewPanel()
{
return NewObj(RootViewPanel);
}

LayerObject* AllocAlienLayer()

Allocates a layer.

LayerObject *AllocAlienLayer()
{
return NewObj(AlienLayer);
}

Classes

The following classes must be overridden on the external side:

class AlienRootObject : public RootObject

Allocates a root object depending on an object ID. In this root all objects are saved.

class AlienRootLayer : public RootLayer

The root layer where all layers are saved.

class AlienRootMaterial : public RootMaterial

The root material where all materials are saved.

class AlienRootRenderData : public RootRenderData

The root render data where all render data are saved.

AllocAlienRootMaterial
cineware::RootMaterial * AllocAlienRootMaterial()
Definition: default_alien_overloads.h:72
AllocC4DRootViewPanel
cineware::RootViewPanel * AllocC4DRootViewPanel()
Private.
Definition: default_alien_overloads.h:107
NewObj
#define NewObj(T,...)
Definition: c4d_system.h:224
AllocAlienRootRenderData
cineware::RootRenderData * AllocAlienRootRenderData()
Definition: default_alien_overloads.h:99
AllocAlienRootObject
cineware::RootObject * AllocAlienRootObject()
Definition: default_alien_overloads.h:81
AllocAlienRootLayer
cineware::RootLayer * AllocAlienRootLayer()
Definition: default_alien_overloads.h:90
AllocAlienLayer
cineware::LayerObject * AllocAlienLayer()
Definition: default_alien_overloads.h:116