[Verse-dev] questions about object links

Emil Brink emil at obsession.se
Thu Apr 21 09:06:41 CEST 2005


On Wed, 20 Apr 2005 21:09:22 +0200 (CEST)
"Pontus Nyman" <pont at kth.se> wrote:

> I have some questions about object links. (Eskil: I think you
> explained some of this for me yesterday, but i forgot the answer..
> forgive me!)

Welcome Pontus! I guess Eskil already addresses your main question,
but I think that perhaps answers to the questions below can be use-
ful as well.

> 1. When I get a 'link_set' message from the server. Can I assume that
> the parent object node and the child node both exists?

No. You can assume that the parent object, the one holding the link,
exists, since otherwise the host shouldn't be sending you commands
about it. If it doesn't (local look-up fails) then just drop the
command. If it does exist but isn't an object (indicating a seriously
old command), it's also safe to drop it.

> 2. Can an object node hold a link to an other object node?

Yes. I *think* this has the semantics of putting the linked-to node
under the transform of the parent, but this is a rather unexplored/
fluid area of the Verse data model. Eskil is welcome to correct me
here, of course.e

> 3. If an object node is deleted all its links also get deleted, but
> what happens when i delete a node (e.g. a geometry node) that is
> linked to from an object node, does this link gets deleted too?

As Eskil said, no. In general things in non-addressed nodes are not
supposed to actively change because of a command sent to a different
node. They might change "passively" or as a side-effect, for example
by a previously stale/broken link becoming valid again, as Eskil
described.

> I quickly browsed the verse server source and it seems to me that this
> isn't how it works. So, a follow question is: is object links deleted
> only with the node commands node_destroy and o_link_destroy?

Yes.

Regards,

/Emil


More information about the Verse-dev mailing list