Open Search
    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