Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Java 3D / January 2007

Tip: Looking for answers? Try searching our database.

Trouble Picking with my own VirtualUniverse on Ortho Projection

Thread view: 
tiago.cardoso - 05 Jan 2007 19:16 GMT
Hello,

I made a simple app with a simpleUniverse. After testing it and using
picking (worked fine).

I decided to implement the real app. The real app has to be in Ortho
projection and have tranformations on the viewbranch.

So, I implemented the a class extending virtualuniverse. I did
everything "by the book" I think and everything worked fine as for the
visual aspect, object showed up in the right place and the view was
right.

Now, I'm trying to use pickcanvas but it doesn't work at all :(
I've search a lot on the web and I already saw that there some kind of
problem with the pickcanvas pickshape for the customized
virtualuniverse.
In fact, the PickShape orign point, direction and start point don't
seem to make any sense at all.
(my objects have about 100 of size and the camera is ver faraway, and
the pickshape point is about  (-0.07767107179733918,
-0.2967893129673346, 0.4174332443807395) although it changes - though I
don't understand how and why)

My universe has only a Locale. A world branch where I have my objects
and a view branch with my viewplataform and where I apply my
tranformgroup to change the camera point of view.
I use...

projection2.ortho(0, _width, 0, _height, -BACK_CLIP_DISTANCE,
BACK_CLIP_DISTANCE);

Transform3D cameratransf= new Transform3D();
       this.getTransformGroup().getTransform(cameratransf);
projection2.mul(cameratransf);
view.setLeftProjection(projection2);

... to have a ortho projection.

Any tips.. plz ?? :D

Thanks!

Tiago Cardoso
Thomas Partsch - 05 Jan 2007 19:52 GMT
Hi Tiago!

I know that problem. It is discussed before in that newsgroup under the
title "SimpleUniverse vs VirtualUniverse". I had the same idea as you
had, that it would be a problem with the universe. But it isn't.

The problem is that you activated the View's compatibility mode. That is
to apply camera based options to the View model as you did (
setLeftProjection(t3d) ). But this is not the original intention of the
Java 3D View Model. The Java 3D View Model works different (see
PhysicalBody and PhysicalEnvironment).

Fact is, that the PickBehaviors don't work in compatibility mode. I just
wrote a dissertation about an application using that compatibility mode
(and the camera based model) and I used a frustum. I found no way to
make the pickbehaviors work. So I implemented a key control.

You'll find further information at
download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/doc-files/ViewModel.html
I would recommend read that document. It can probably explain the things
better than I can at the moment ;)

hth
Thomas Partsch

tiago.cardoso schrieb:
> Hello,
>
[quoted text clipped - 40 lines]
>
> Tiago Cardoso
tiago.cardoso - 06 Jan 2007 21:23 GMT
Hey Thomas,

Thanks for the info. I'd already seen "SimpleUniverse vs
VirtualUniverse" and the link you said but I was still a bit confused.
So, does it mean that to have a Ortho Projection I'll have to be in
Compatible Mode or is there any alternative to "setLeftProjection" ?

I'll like to do everything without the Compatible mode as this is the
better way to keep thing working in most places, I suppose!

If it isn't possible in my case, this means that I'll have to create my
own pickshape, right ? Do you know any place where I can learn to do
this in ortho, if needed ?

Once again, thanks :D

Take care,

Tiago Cardoso

> Hi Tiago!
>
[quoted text clipped - 66 lines]
> >
> > Tiago Cardoso
Thomas Partsch - 07 Jan 2007 17:49 GMT
tiago.cardoso schrieb:
> Hey Thomas,
>
> Thanks for the info. I'd already seen "SimpleUniverse vs
> VirtualUniverse" and the link you said but I was still a bit confused.
> So, does it mean that to have a Ortho Projection I'll have to be in
> Compatible Mode or is there any alternative to "setLeftProjection" ?

If you want to use Transform3D.ortho(...), you have to set it with
setLeftProjection. And this is only possible in compatibility mode.

> I'll like to do everything without the Compatible mode as this is the
> better way to keep thing working in most places, I suppose!

This would be indeed better, because you would not have to give up the
standard behaviors. Unfortunately I don't know a way to set ortho
projection differently. I would appreciate any answer to this problem;
it could also help my project. The time given for my project was too
short to find that out... (and now I want to have some freetime :) )

> If it isn't possible in my case, this means that I'll have to create my
> own pickshape, right ? Do you know any place where I can learn to do
> this in ortho, if needed ?

No, sorry. But keep me informed.

> Once again, thanks :D

No worries


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.