Re: [CPP] CRef reference persistence

Date : Fri, 16 Dec 2005 00:06:05 +0100
To : XSI(at)Softimage.COM
From : Guy Rabiller <guy(at)alamaison.fr>
Subject : Re: [CPP] CRef reference persistence

> ../.. And what kind of 'information' is refered > by the CRef? UserDataBlob, Kinematics...?../..

Any derived class of CObject. It's more a generic interrogation of mine rather than a concret case.
( I used the term 'object' more in a cpp sense of it than in a 'object" in the scene ).


> ../..I would say that the SDK provides an interface to the object,
> and if the object is not here, the interface becomes invalid...
> I would vote 'no' to your question.../..

Hmm, I'll have to have a second thought about it then.

Allways having hard time to choose to right english words, I think what describe better my interrogation is:
Can a CRef instance 'take ownership' of a referenced Object ( another instance in the cpp sense ) ?
Or is just a 'pointer'.


But I use the term 'pointer' carefully in reference to some 'smart pointers' wich can take ownership. So depending on the design of the smart pointer it can have owner ship of a multi referenced ( and counted ) instance, while being, from the coder point of view, 'just' a pointer.

Not sure how CRef handle this internaly.
( or if it is just 'none of its business' if you see what I mean ).
--
guy rabiller | 3d technical director (at) LaMaison






Aloys Baillet wrote:

OK, but how XSI would delete an object without telling anyone about it?
That would be quite mean of him :-)
And what kind of 'information' is refered by the CRef? UserDataBlob, Kinematics...?
I would say that the SDK provides an interface to the object, and if the object is not here, the interface becomes invalid...
I would vote 'no' to your question.
I would be curious to see what's the real behavior, though!


Aloys

On 16/12/05, *Guy Rabiller* < guy(at)alamaison.fr <mailto:guy(at)alamaison.fr>> wrote:


Coucou Aloys :-)

    > ../.. Application().ExecuteCommand("DeleteObj", oArgs, oRtn); ../..

    Yeah that's why I said:
    "../.. ( by XSI, not the user ) ../.."

    If I delete it myself I would understand the CRef becomes invalid :-)

    But imagine that this object was refering ( by 'him' only ) to some
    'information', and I got a CRef on that 'information' elsewhere.
    If that object got deleted, the 'information' needed by the object
    would
    be logicaly deleted - as nobody need it anymore - but now that I got a
    CRef on it, it must be 'kept alive' right ? Or 'reference counted' ?.

    I mean, I'm pretty sure I can answer 'yes' to my own question but
    there
    might be subtle cases ( or problems ? ) where it is not the case.
    I just
    wanted to know if it is guaraned or not.

    Oh well, I will see it soon enough if there are problems, I guess. ;-)

    Cheers
    --
    guy rabiller | 3d technical director (at) LaMaison





--
Aloys Baillet - XSI Technical Director
Character Dpt - Animal Logic
--


---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.