Implementation on the External Side

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


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);


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.

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