----- Original Message ----- From: "Justin Couch" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, July 01, 2003 9:15 AM Subject: Re: [JAVA3D] [cyclic scene graph]
> 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. Ok. I can reach the parent of A, which is D, through its child (B) which is parent of D. Perhaps there was a misunderstandaing: the graph is not directed. > 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. No, it is not. If you have not Link you will not have the SharedGroup in the SceneGraph. > 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. I read it in the official documentation from Sun. > 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). Thank you very much... Fausto. > -- > 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". =========================================================================== 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".
