load object -> loss of instance link



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

    On 25/03/2009 at 09:59, xxxxxxxx wrote:

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

    ---------
    Hi,

    i made a preset browser that is able to load objects from c4d files and insert them into the current scene.

    i have a preset-scene that contains a null object, which consist of a cube and some instances of the cube.

    when i load this null into my sceen, via the preset browser, the reference link in teh instances is lost, instead of pointing to the cube..

    when i merge the scene by hand via c4d's file menu, the instances keep their reference link to the cube, so it must be sth in my function..

    here's the code snippet:

    > \> .. \> if(!node->file.CheckSuffix("c4d")) return FALSE;                          \> AutoAlloc<BaseDocument> f_doc = LoadDocument(node->file,SCENEFILTER_OBJECTS,NULL); \> if(!f_doc){ return FALSE; } \> // get first obj in the scene. preset scenes always contain 1 obj only. \> AutoAlloc<BaseObject> op = f_doc->GetFirstObject(); \> \> // remember active object \> BaseObject\* active = GetActiveDocument()->GetActiveObject(); \> \> // make a clone of the obj and insert it into the scene \> BaseObject\* clone = (BaseObject\* )op->GetClone(COPY_NO_ANIMATION,NULL); \> if(clone)GetActiveDocument()->InsertObject(clone,NULL,NULL); \> \> // restore active object \> if(active!=NULL) GetActiveDocument()->SetActiveObject(active); \> \> // notify the scene \> EventAdd(); \> .. \>

    does somebody know what may be wrong ?

    thanks,
    Daniel



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

    On 25/03/2009 at 11:41, xxxxxxxx wrote:

    I guess the link is lost when creating the clone.
    You will have to use the AliasTrans class, which takes care of that, if I'm not mistaken.

    Greetings,
    Jack



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

    On 25/03/2009 at 13:06, xxxxxxxx wrote:

    yeah i guessing so too, but wasnt aware of the AliasTrans class. Looking at the api, it seems that's indeed the solution.

    thanks for the hint Jack!

    cheers,
    Daniel



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

    On 25/03/2009 at 13:12, xxxxxxxx wrote:

    alright just to confirm this, it worked indeed!

    thanks again.



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

    On 26/03/2009 at 01:16, xxxxxxxx wrote:

    You're welcome ;-)

    Greetings,
    Jack


Log in to reply