Open Search
    Published Objects Implementation

    About

    A published object can be implemented in a source code file within a plugin. This way the implementation can be kept private.

    Implementation

    The implementation of a published object is defined with the MAXON_DECLARATION_REGISTER attribute. It associates the given published object with the object created within the registration function.

    Note
    The registration function is called on Cinema 4D startup.
    Warning
    If a published object is defined multiple times, all definitions will be discarded.
    // This example shows the implementation of a published object.
    // Within the scope of MAXON_DECLARATION_REGISTER() the
    // published object is created and handed over to the program.
    {
    // create object
    // configure object
    atom._protonCnt = 6;
    atom._neutronCnt = 6;
    atom._electronCnt = 6;
    // return the object
    return atom;
    }
    [published_objects_declaration]
    Definition: example_declarations.h:23
    #define atom
    Definition: graminit.h:72
    #define MAXON_DECLARATION_REGISTER(...)
    Definition: module.h:933

    The implementation of an interface is registered and shared as a published object using the MAXON_COMPONENT_OBJECT_REGISTER attribute. See Interface Implementation.

    Further Reading