Fausto Mancini wrote:

A is parent of B.
A is parent of C.
D is parent of B.
D is parent of A.

This is a cyclic graph even if no node is parent of itself....

No it's not. A cycle, by definition, says that you must be able to get to the parent of a node by traversing at least one of it's children's trees. There are no cycles present in your example. It would be cyclic if B was a parent of D, but in the structure you have there, there are no cycles.

     D
    /\
   /  \
  A   |
  /\  |
 /  \ /
 C   B

You cannot get to A from B.

In the official documentation it is stated that "A group node can have any
number of children but only one parent. A leaf node can have one parent nad
no children"; moreover: "The arcs of a tree form no cycles..."

The same problem exists in VRML97.

Yes. Both allow you to create DAG structures, which is exactly what you have described above. Both are quite capable (trivially so, in fact) of representing exactly what you have asked for.

This is not a solution... SharedGroups are referenced by one or more Link
nodes and any modification of the SharedGroup affects all references to it
(since SharedGroup is not directly added to the SceneGraph).

It is directly added to the scene graph. The way it is added is through references by Link instances. Links are added as children of their respective parent groups. This is how we implement DEF/USE in Xj3D.

The main purpose of SharedGroup/Link is the _re-use_
I think the problem is intrinsic in the j3d architecture (quoting: "Only one
path exists from a root of the tree to each of the leaves...").

I don't know where you read that, but it's not in the J3D documentation, because there are many possible paths from the root to a given node. Maybe you are getting JSR 184 (Mobile 3D API) and Java3D confused? J3D permits DAGs, but JSR184 does not (making it close to impossible to implement a VRML renderer efficiently using JSR 184 in retained mode).

--
Justin Couch                         http://www.vlc.com.au/~justin/
Java Architect & Bit Twiddler              http://www.yumetech.com/
Author, Java 3D FAQ Maintainer                  http://www.j3d.org/
-------------------------------------------------------------------
"Humanism is dead. Animals think, feel; so do machines now.
Neither man nor woman is the measure of all things. Every organism
processes data according to its domain, its environment; you, with
all your brains, would be useless in a mouse's universe..."
                                              - Greg Bear, Slant
-------------------------------------------------------------------

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to