Access to Object Managers



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 21/09/2008 at 15:22, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   11.008 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Hi;

    is there any way to access the object manager windows from C++? The viewports do have a proper class in BaseView / BaseDraw, but I couldn't find anything similar to access the functionality of the object managers.

    More specifically, I want to "Set as Root" an object - but not in the current / previously active object manager, which could be easily achieved by CallCommand(100004720)... but in the nth object manager (with a variable parameter n and a parameterized object, independent of any current selection).

    Perhaps that is actually a functionality of the object itself, but I can't find any hint of a fitting method in these classes either. Since the counterpoint functions "One level up" and "Goto main level" do not need an object reference, my bet would be on Object Manager methods anyway... any pointers?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 22/09/2008 at 08:15, xxxxxxxx wrote:

    I think this is not possible currently. Did you check the active object manager library?

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 22/09/2008 at 14:21, xxxxxxxx wrote:

    Thanks. I did, but the "active object manager" lib actually refers to the Attribute Manager (even says so in the SDK) and does not contain the functionality I'm looking for.

    A pity, because an additional Object Manager could neatly replace the Tag Manager plugin dialog which has its quirks since the R10 - but it would need some automation to be really useful. (Or perhaps a future release could have the "vertical tags" property per object instead of per manager...)

    BTW, what is the proper Flag that controls whether an object's tags in vertical tag mode are folded or unfolded? In the GUI there is a little folder in this mode, which needs to be opened to actually see the tags. That functionality is per-OM, so I'd expect some flags like NBIT_OM1_FOLDTAGS, but couldn't find anything with a "fitting" name. Most new flags refer to the timeline anyway... (ge_prepass.h) maybe I'm looking in the wrong place.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/10/2008 at 05:52, xxxxxxxx wrote:

    Quote: BTW, what is the proper Flag that controls whether an object's tags in vertical tag mode are folded or unfolded?
    >
    > * * *
    >
    > * * *

    To fold/unfold the tags hierachy for vertical tags you have to change the NBIT_OM1_FOLD tag of the GeListHead of the tags list. See example:

    > \> BaseObject \*op = doc- >GetActiveObject(); \> if(!op) return TRUE; \> \> BaseTag \*tag = op->GetFirstTag(); \> if(!tag) return TRUE; \> \> GeListHead \*thead = tag->GetListHead(); \> if(!thead) return FALSE; \> \> op->ChangeNBit(NBIT_OM1_FOLD, NBIT_TOG); \> thead->ChangeNBit(NBIT_OM1_FOLD, NBIT_TOG); \> \> EventAdd(); \>

    cheers,
    Matthias


Log in to reply