Hello Chris,
You found out the other good reason for the interest group.
When you post a question it makes you think again. I answered
my own question the other day. I found out that you can use the
contents of a BranchGroup to make a SharedGroup. The trick was
enumerating over the number of Shape3D objects and removing
them before they were added to the SharedGroup.
Pierre,
Sharing is Learning - Jack Schmitt
> ----------
> From: Christopher
> Collins[SMTP:[EMAIL PROTECTED]]
> Reply To: Discussion list for Java 3D API
> Sent: Monday, July 24, 2000 11:40 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA3D] Virtual World to Local Coordinates
>
> Hello everyone (again!),
>
> OK, so I solved my own problem! The getClosestsVertexCoordinatesVW()
> method
> returns the absolute coordinates - calculating even the effects of a
> MouseRotation. Since I was not considering this and applying only the
> inverse of the local coordinate system transform, the effects were not
> cancelling.
>
> Confused? Sorry about that. Just never mind my question.
>
> Thanks and have a great day,
>
> Chris
>
> -----Original Message-----
> From: Christopher Collins [mailto:[EMAIL PROTECTED]]
> Sent: Monday, July 24, 2000 12:15 PM
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] Virtual World to Local Coordinates
>
>
> Hi everyone,
>
> I'm currently working with a system that contains multiple coordinate
> systems, organized through transform groups. Each transform group has a
> PointArray under it. There is also a "global" point array whose transform
> is identity. What I want to do is take a "global" point - one defined
> under
> a transform group with the identity transform, and add that point to a
> "local" system - one with a transform defining a rotation and translation.
> The catch is that I don't want the point to move in the virtual world - I
> want to convert the coordinates so that it can be "copied" to the local
> system, but in the scene it looks like there is no change.
>
> I tried to do this by getting the transform defining the local system,
> inverting it, applying it to the global point, then adding the new point
> to
> the local system. I thought the application of the inverted transform,
> followed by the application of the original transform would cancel, but it
> doesn't and the point appears out of place. Perhaps there is an element
> of
> matrix multiplication that I am forgetting.
>
> This is a pseudocode of what I tried:
>
> clickPt = (pi.getClosestVertexCoordinatesVW()); // where pi is a
> PickIntersection and getClosestVertexCoordinatesVW() returns the "global"
> coordinates of that point
>
> Transform3D tempTransform = new Transform3D(localSystem.t3D); //
> get
> the transform which defines the destination local system
>
> tempTransform.invert(); // invert this transform
> tempTransform.transform(clickPt); // apply it to the point
>
> localSystem.addPoint(clickPt); //add the point -> t3D will be
> applied to it and cancel the application of tempTransform to result in no
> overall change in position
>
>
> Please let me know if you have any suggestions on how to do this!
>
>
> Chris
> __________________________________________________
> Christopher Collins http://www.ucs.mun.ca/~a62cmc
> Oceanic Consulting Corporation (709) 754-2357 [home]
> Memorial University of Newfoundland (709) 749-4383 [cell]
>
> ==========================================================================
> =
> 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".
>
===========================================================================
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".