<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-13487</id>
	<title>Nabble - java.net - Java3D</title>
	<updated>2009-11-29T14:39:35Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/java.net---Java3D-f13487.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.net---Java3D-f13487.html" />
	<subtitle type="html">Java 3D projects. java.net - Java3D home is &lt;a href=&quot;http://java3d.dev.java.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.
&lt;br&gt;
The Java 3D interest forum. A place for developers and users of the Java 3D API to discuss all aspects of Java 3D, including the core API, vecmath, the utilities, and example programs.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26567108</id>
	<title>Positioning the camera in overhead view</title>
	<published>2009-11-29T14:39:35Z</published>
	<updated>2009-11-29T14:39:35Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;In my game design I use first person view for movement and then switch to an overhead view for combat. &amp;nbsp;This is working fine.
&lt;br&gt;&lt;br&gt;When I setup combat I select a player and the scene is re-rendered with the camera raised few meters and facing down. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Then I want to select a specific player on the screen at a coordinate a move the camera so it's directly overhead. &amp;nbsp; This part for me is not working. &amp;nbsp;
&lt;br&gt;&lt;br&gt;So in my keyBehavior class I get the Transform3D from the player object and from that get his vector. Then I try to place the camera at that vector. But the camera view goes haywire.
&lt;br&gt;&lt;br&gt;Code is like this:
&lt;br&gt;&lt;br&gt;// Local new transform3D so it should be empty
&lt;br&gt;Transform3D t = new Transform3D();
&lt;br&gt;&lt;br&gt;// init the Transform3D from the selected object
&lt;br&gt;selectedPlayer.getTG().getTransform(t);
&lt;br&gt;&lt;br&gt;// Get the vector for this object
&lt;br&gt;Vector3d vector = new Vector3d();
&lt;br&gt;t.get(vector);
&lt;br&gt;&lt;br&gt;// Reset the KeyBehavior Transform3D
&lt;br&gt;t3d = new Transform3D();
&lt;br&gt;&lt;br&gt;// Set the KeyBehavior TransformGroup
&lt;br&gt;targetTG.getTransform(t3d);
&lt;br&gt;&lt;br&gt;// This is an instance var for repeated calcs
&lt;br&gt;toMove.setTranslation(theMove);
&lt;br&gt;&lt;br&gt;// move the camera?
&lt;br&gt;t3d.mul(toMove);
&lt;br&gt;targetTG.setTransform(t3d);
&lt;br&gt;&lt;br&gt;******
&lt;br&gt;&lt;br&gt;TIA
&lt;br&gt;[Message sent by forum member 'sproketboy' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373760&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373760&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26567108&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26567108&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Positioning-the-camera-in-overhead-view-tp26567108p26567108.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26551882</id>
	<title>Re: OrientedShape3D issues</title>
	<published>2009-11-28T02:28:06Z</published>
	<updated>2009-11-28T02:28:06Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I'm VERY interested in this to. I have a simple [b]orientedShape3d[/b] sphere with 
&lt;br&gt;constant scale enabled and everything works fine BUT on window resize
&lt;br&gt;i find that the sphere size is wrong ( it becomes bigger or smaller than it should be )
&lt;br&gt;&lt;br&gt;If anybody out there knows what's going on please help us!!
&lt;br&gt;[Message sent by forum member 'dusan010' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373666&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373666&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26551882&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26551882&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OrientedShape3D-issues-tp24861834p26551882.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26542948</id>
	<title>Re: Spinning object around X Axis and rotating around Y axis</title>
	<published>2009-11-27T06:13:11Z</published>
	<updated>2009-11-27T06:13:11Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Sorry - I meant your scene graph diagram as described here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.ddj.com/showArticle.jhtml?documentID=ddj0207a&amp;pgno=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ddj.com/showArticle.jhtml?documentID=ddj0207a&amp;pgno=8&lt;/a&gt;&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373621&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373621&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542948&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542948&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Spinning-object-around-X-Axis-and-rotating-around-Y-axis-tp26521065p26542948.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26539394</id>
	<title>Re: ToolTip on mouseOver for ColorCube</title>
	<published>2009-11-27T00:44:01Z</published>
	<updated>2009-11-27T00:44:01Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">have a look at the java3d tutorials PDFs. the version they handle is 1.3 but it's quite useful.
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373570&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373570&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26539394&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26539394&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ToolTip-on-mouseOver-for-ColorCube-tp26525070p26539394.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26538270</id>
	<title>Re: ToolTip on mouseOver for ColorCube</title>
	<published>2009-11-26T22:12:55Z</published>
	<updated>2009-11-26T22:12:55Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">&amp;gt; maybe you can extend pickmousebehavior. have a look
&lt;br&gt;&amp;gt; at picktranslatebehavior and use Event.MOUSE_MOVE
&lt;br&gt;&amp;gt; instead of Event.MOUSE_CLICK.
&lt;br&gt;&amp;gt; after that you could use postRender() method.
&lt;br&gt;&lt;br&gt;I'm very new to Java3D and i'm totally feel very vague. &amp;nbsp;I don't have any idea how to use PickMouseBehavior for a ColorCube. I tried to google, but unfortunaltely i didn't get anything unseful...Please help me. Here goes my code. I tried to draw some blocks. But i want to select each block and get its co-ordinates...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;/*
&lt;br&gt;&amp;nbsp;* To change this template, choose Tools | Templates
&lt;br&gt;&amp;nbsp;* and open the template in the editor.
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;&lt;br&gt;package applet3dexamples;
&lt;br&gt;//
&lt;br&gt;import com.sun.j3d.utils.applet.MainFrame;
&lt;br&gt;import com.sun.j3d.utils.geometry.ColorCube;
&lt;br&gt;&lt;br&gt;import com.sun.j3d.utils.picking.behaviors.PickMouseBehavior;
&lt;br&gt;import com.sun.j3d.utils.universe.SimpleUniverse;
&lt;br&gt;import java.awt.BorderLayout;
&lt;br&gt;&lt;br&gt;import java.awt.Color;
&lt;br&gt;import java.awt.Frame;
&lt;br&gt;import java.awt.GraphicsConfiguration;
&lt;br&gt;import java.awt.GraphicsEnvironment;
&lt;br&gt;import javax.media.j3d.BranchGroup;
&lt;br&gt;import javax.media.j3d.Canvas3D;
&lt;br&gt;&lt;br&gt;&lt;br&gt;import javax.media.j3d.GraphicsConfigTemplate3D;
&lt;br&gt;import javax.media.j3d.Transform3D;
&lt;br&gt;import javax.media.j3d.TransformGroup;
&lt;br&gt;import javax.media.j3d.View;
&lt;br&gt;import javax.swing.JApplet;
&lt;br&gt;import javax.vecmath.Vector3f;
&lt;br&gt;&lt;br&gt;&lt;br&gt;/**
&lt;br&gt;&amp;nbsp;* @author Shalini
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;public class applet3D extends JApplet 
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; SimpleUniverse u;
&lt;br&gt;&amp;nbsp; &amp;nbsp; BranchGroup g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; static Frame frame ;
&lt;br&gt;&amp;nbsp; &amp;nbsp; public applet3D()
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setLayout(new BorderLayout());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Canvas3D canvas &amp;nbsp; &amp;nbsp; = createCanvas();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.setSize(180, 180);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; canvas.setMonoscopicViewPolicy(View.CYCLOPEAN_EYE_VIEW);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add(&amp;quot;Center&amp;quot;, canvas);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BranchGroup scene &amp;nbsp; = new BranchGroup();
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PickMouseBehavior pick = new PickMouseBehavior(canvas,bg,) {
&lt;br&gt;//
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void updateScene(int arg0, int arg1) {
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new UnsupportedOperationException(&amp;quot;Not supported yet.&amp;quot;);
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float y = 0.6f;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(int i=0;i&amp;lt;7;i++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (float x = 0.8f; x &amp;gt;= -.8f; x = x - 0.15f)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ColorCube cube = new ColorCube(0.03f);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cube.setPickable(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TransformGroup tg = new TransformGroup();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D transform = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Vector3f vector = new Vector3f(x, y, .0f);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transform.setTranslation(vector);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tg.setTransform(transform);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tg.addChild(cube);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(cube.getScale());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scene.addChild(tg);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y -= 0.17f;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u.getViewingPlatform().setNominalViewingTransform();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u.addBranchGraph(scene);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ColorCube c = new ColorCube();
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; private Canvas3D createCanvas()
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GraphicsConfigTemplate3D graphicsTemplate = new GraphicsConfigTemplate3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GraphicsConfiguration gc1 =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(graphicsTemplate);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return new Canvas3D(gc1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; public static void main(String args[])
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // MainFrame allows an applet to run as an application
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; frame = new MainFrame(new applet3D(), 700, 700);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; frame.setBackground(Color.white);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Put the title in the application titlebar. &amp;nbsp;The titlebar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // isn't visible when running as an applet.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; frame.setTitle(&amp;quot;Java3D App&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Please help me...
&lt;br&gt;[Message sent by forum member 'neethu' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373565&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373565&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26538270&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26538270&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ToolTip-on-mouseOver-for-ColorCube-tp26525070p26538270.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26538168</id>
	<title>Co-ordinate system in Java 3D</title>
	<published>2009-11-26T21:52:39Z</published>
	<updated>2009-11-26T21:52:39Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I have wroked in java swing. There we used to give in pixel like(100,100). How about java3D??? 
&lt;br&gt;&lt;br&gt;Thank you.
&lt;br&gt;[Message sent by forum member 'neethu' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373563&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373563&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26538168&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26538168&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Co-ordinate-system-in-Java-3D-tp26538168p26538168.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26532882</id>
	<title>Re: Collada loader</title>
	<published>2009-11-26T09:46:04Z</published>
	<updated>2009-11-26T09:46:04Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I have finished the first round of code cleaning and a few important bugfixes. So far, I can load just about every Collada file I have found on Google 3D warehouse.
&lt;br&gt;&lt;br&gt;Also, I added some utility methods to inquire about which way is Up (often Z), and a scale factor to apply to get to Java 3D 'normalized' meters.
&lt;br&gt;&lt;br&gt;I will be releasing the improved code with the upcoming major J3DWorkbench release (within 5 days). I will build a collada jar and make in available on sourceforge (&lt;a href=&quot;http://sourceforge.net/projects/j3dworkbench/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/projects/j3dworkbench/&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;I would be happy to update the sourcecode in contrib-utils (original author, 'paulby': I would assume that is ok?).
&lt;br&gt;&lt;br&gt;&lt;br&gt;-Ken
&lt;br&gt;[Message sent by forum member 'mcneillk' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373545&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373545&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532882&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532882&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Collada-loader-tp26287810p26532882.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26528194</id>
	<title>Re: ToolTip on mouseOver for ColorCube</title>
	<published>2009-11-26T03:40:39Z</published>
	<updated>2009-11-26T03:40:39Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">maybe you can extend pickmousebehavior. have a look at picktranslatebehavior and use Event.MOUSE_MOVE instead of Event.MOUSE_CLICK.
&lt;br&gt;after that you could use postRender() method.
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373467&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373467&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26528194&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26528194&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ToolTip-on-mouseOver-for-ColorCube-tp26525070p26528194.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26527054</id>
	<title>Re: Spinning object around X Axis and rotating around Y axis</title>
	<published>2009-11-26T02:05:25Z</published>
	<updated>2009-11-26T02:05:25Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">The .obj file can be found here: &lt;a href=&quot;http://www.4shared.com/file/160097980/523e569b/blades6.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.4shared.com/file/160097980/523e569b/blades6.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;[Message sent by forum member 'joemanuk' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373458&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373458&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527054&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527054&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Spinning-object-around-X-Axis-and-rotating-around-Y-axis-tp26521065p26527054.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26525702</id>
	<title>Re: Spinning object around X Axis and rotating around Y axis</title>
	<published>2009-11-26T00:03:02Z</published>
	<updated>2009-11-26T00:03:02Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Can you upload your scene graph so we can see what bit goes where?
&lt;br&gt;&lt;br&gt;Dave
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373423&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373423&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525702&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525702&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Spinning-object-around-X-Axis-and-rotating-around-Y-axis-tp26521065p26525702.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26525188</id>
	<title>Re: Collada loader</title>
	<published>2009-11-25T23:15:06Z</published>
	<updated>2009-11-25T23:15:06Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I'm interested too. Is the improved version available somewhere?
&lt;br&gt;[Message sent by forum member 'yena' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373421&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373421&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525188&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525188&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Collada-loader-tp26287810p26525188.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26525070</id>
	<title>ToolTip on mouseOver for ColorCube</title>
	<published>2009-11-25T23:02:05Z</published>
	<updated>2009-11-25T23:02:05Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I have drawn number of blocks...Now i want to display a tooltip when a mouse is placed on the each block(cube). 
&lt;br&gt;I used to do the same in java swing. In swing we 'll be checking, whether the mouse point contains the rectangle
&lt;br&gt;How can i do it in 3D...please help me.
&lt;br&gt;[Message sent by forum member 'neethu' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373419&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373419&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525070&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26525070&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ToolTip-on-mouseOver-for-ColorCube-tp26525070p26525070.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521065</id>
	<title>Spinning object around X Axis and rotating around Y axis</title>
	<published>2009-11-25T14:03:04Z</published>
	<updated>2009-11-25T14:03:04Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi there,
&lt;br&gt;&amp;nbsp;I am trying to get an object which represents a set of blades such as you would find on a windmill or turbine to spin round the X axis just as you would see if there was some wind, and then say the wind changes direction, the blades still spin around the xAxis but also the blades rotate around the Y axis. &amp;nbsp;If you could imagine a wind turbine in a wind farm where the blades can spin and also face any direction based on wind direction this is the desired effect. &amp;nbsp;
&lt;br&gt;&lt;br&gt;I am trying to acheive this using two rotationInterpolators placed on a branch group. Also involved are three TransformGroups, two of them have Transform3D's - &amp;nbsp;One causes rotation around the xAxis and one causes rotation around the Yaxis. &amp;nbsp;However the problem being that the combined effect just causes the blades to spin wildly. &amp;nbsp;Could anyone offer any help? My code is pasted below. &amp;nbsp;Also if my question is not in line with any rules on this forum let me know as this is my first post.
&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;import java.applet.Applet;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import java.awt.BorderLayout;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import java.awt.Frame;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import java.awt.GraphicsConfiguration;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import java.io.FileNotFoundException;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import java.util.Vector;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.loaders.IncorrectFormatException;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.loaders.ParsingErrorException;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.loaders.Scene;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.loaders.objectfile.ObjectFile;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.utils.applet.MainFrame; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import com.sun.j3d.utils.universe.*;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import javax.media.j3d.*;
&lt;br&gt;import javax.vecmath.*;
&lt;br&gt;public class SpinBlade3 extends Applet {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public SpinBlade3() {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setLayout(new BorderLayout());
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GraphicsConfiguration config =
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SimpleUniverse.getPreferredConfiguration();
&lt;br&gt;&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Canvas3D canvas3D = new Canvas3D(config);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;add(&amp;quot;Center&amp;quot;, canvas3D);
&lt;br&gt;&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BranchGroup scene = createSceneGraph();
&lt;br&gt;&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// SimpleUniverse is a Convenience Utility class
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
&lt;br&gt;&lt;br&gt;&amp;nbsp;		// This will move the ViewPlatform back a bit so the
&lt;br&gt;&amp;nbsp;		// objects in the scene can be viewed.
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;simpleU.getViewingPlatform().setNominalViewingTransform();
&lt;br&gt;&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;simpleU.addBranchGraph(scene);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; public BranchGroup createSceneGraph() {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Create the root of the branch graph
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BranchGroup objRoot = new BranchGroup();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; ////Setup light source/////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //set light color
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Color3f lightsourcecolor = new Color3f(1.0f, 1.0f, 1.0f);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //set bounds of the light to be 100m from origin
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BoundingSphere lightsourcebounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //set light direction
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Vector3f lightsourcedirection = new Vector3f(4.0f, -7.0f, -12.0f);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //create the light
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DirectionalLight sun = new DirectionalLight(lightsourcecolor, lightsourcedirection);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sun.setInfluencingBounds(lightsourcebounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objRoot.addChild(sun);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D rotationOne = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	 	 	rotationOne.rotY(Math.PI/2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	 	 	TransformGroup objTGOne = new TransformGroup(rotationOne);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	 	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;objRoot.addChild(objTGOne);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TransformGroup tg = new TransformGroup();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;objTGOne.addChild(tg);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Create a new Behavior object that will perform the
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // desired operation on the specified transform and add
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // it into the scene graph.
&lt;br&gt;&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D yAxis = new Transform3D();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yAxis.rotX(Math.PI/2.0);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Alpha rotationAlpha = new Alpha(-1, 4000);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RotationInterpolator rotator = new RotationInterpolator(
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rotationAlpha, tg, yAxis,
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0f, (float) Math.PI*2.0f);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BoundingSphere bounds =
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rotator.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objRoot.addChild(rotator);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TransformGroup tg1 = new TransformGroup(rotationOne);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tg1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tg.addChild(tg1);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Transform3D xAxis = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xAxis.rotY(Math.PI/2.0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Alpha rotationAlpha1 = new Alpha(-1, 4000);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RotationInterpolator rotator1 = new RotationInterpolator(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rotationAlpha1, tg1, xAxis,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0f, (float) Math.PI*2.0f);	 &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rotator1.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tg.addChild(rotator1);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Transform3D both = new Transform3D();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //both.rotY(Math.PI/6.0);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TransformGroup group = new TransformGroup();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;group.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tg1.addChild(group);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; group.addChild(loadBlades().getSceneGroup());
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 	
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return objRoot;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; // translate object has composited transformation matrix
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;}
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;public Scene loadBlades(){
&lt;br&gt;&amp;nbsp; 	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Scene s = null;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ObjectFile f = new ObjectFile ();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f.setFlags (ObjectFile.RESIZE | ObjectFile.TRIANGULATE | ObjectFile.STRIPIFY);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	String s1 = &amp;quot;Blades6.obj&amp;quot;;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	try {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		s = f.load (s1);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	} catch (FileNotFoundException e) {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		e.printStackTrace();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	} catch (IncorrectFormatException e) {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		e.printStackTrace();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	} catch (ParsingErrorException e) {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;		e.printStackTrace();
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	return s;
&lt;br&gt;&amp;nbsp; 	 &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; public static void main(String[] args) {
&lt;br&gt;&amp;nbsp;			Frame frame = new MainFrame(new SpinBlade3(), 512, 512);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;[Message sent by forum member 'joemanuk' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373381&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373381&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26521065&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26521065&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Spinning-object-around-X-Axis-and-rotating-around-Y-axis-tp26521065p26521065.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26519218</id>
	<title>Re: Textures, Images and changing contrast</title>
	<published>2009-11-25T11:51:46Z</published>
	<updated>2009-11-25T11:51:46Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">i guess you answered the question yourself.
&lt;br&gt;&lt;br&gt;&amp;quot;I have a Texture2D on a triangle array with a buffered !!!IMAGE!!!. I want to change the brightness/ contrast of the !!IMAGE!!! being displayed.&amp;quot;
&lt;br&gt;&lt;br&gt;i think the brightness/contrast of a image is image dependent. images are handled with standard java.
&lt;br&gt;&lt;br&gt;if you absolutely want a java3d solution, i'd try with multi-texturing.
&lt;br&gt;with a image as texture and with a color (black to white) as second texture above, where you alter only the java3d color of the overlaying second texture. maybe you can achieve a effect like brightness/contrast ...
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373367&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373367&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519218&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519218&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Textures%2C-Images-and-changing-contrast-tp26517071p26519218.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26517071</id>
	<title>Textures, Images and changing contrast</title>
	<published>2009-11-25T09:33:59Z</published>
	<updated>2009-11-25T09:33:59Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I have a Texture2D on a triangle array with a buffered image. &amp;nbsp;I want to change the brightness/ contrast of the image being displayed. &amp;nbsp;Currently I am considering modifying the buffered image via awt, but I would prefer to manage this in java3d instead, I just haven't found a class to do it.
&lt;br&gt;&lt;br&gt;Any suggestions would be appreciated.
&lt;br&gt;&lt;br&gt;thanks
&lt;br&gt;[Message sent by forum member 'odinsbane' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373344&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26517071&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26517071&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Textures%2C-Images-and-changing-contrast-tp26517071p26517071.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26515066</id>
	<title>Re: Unstable Vista Menus</title>
	<published>2009-11-25T07:47:34Z</published>
	<updated>2009-11-25T07:47:34Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I had a problem at first because I couldn't get the canvas3d to show. &amp;nbsp;Mine is called c and I had to manually set the size like so after I created it.
&lt;br&gt;&lt;br&gt;// New universe
&lt;br&gt;c = createSplashUniverse();
&lt;br&gt;jPanel1.add(c, java.awt.BorderLayout.CENTER);
&lt;br&gt;c.setSize(jPanel1.getSize());
&lt;br&gt;&lt;br&gt;Maybe this is your problem? &amp;nbsp;You can check first by getting the size of the canvas3d object - if it is 0x0 it will be invisible.
&lt;br&gt;Dave
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373326&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373326&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26515066&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26515066&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unstable-Vista-Menus-tp26498370p26515066.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26514322</id>
	<title>Re: Unstable Vista Menus</title>
	<published>2009-11-25T07:07:49Z</published>
	<updated>2009-11-25T07:07:49Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">hi, maybe you can help me.
&lt;br&gt;&lt;br&gt;i executed your example (nice work) and i tried some similar thing with java3d.
&lt;br&gt;i have a borderlayout with a canvas3d and a jpanel.
&lt;br&gt;the jpanel is invisble, but during runtime i want the jpanel to be visible.
&lt;br&gt;but it remains invisible even set to true. how have you managed that
&lt;br&gt;lightweight heavyweight problem?
&lt;br&gt;thx in advance
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373319&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373319&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26514322&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26514322&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unstable-Vista-Menus-tp26498370p26514322.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26512783</id>
	<title>Re: Unstable Vista Menus</title>
	<published>2009-11-25T05:38:48Z</published>
	<updated>2009-11-25T05:38:48Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Finally found the fix - add these lines:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JPopupMenu.setDefaultLightWeightPopupEnabled( false );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
&lt;br&gt;&lt;br&gt;before the NetBeans generated line:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; initComponents();
&lt;br&gt;&lt;br&gt;Dave
&lt;br&gt;&lt;br&gt;ps I would still like to know if StarryOrbits works under Linux or Mac.
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373304&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373304&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26512783&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26512783&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unstable-Vista-Menus-tp26498370p26512783.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26510971</id>
	<title>Re: Shape3D Picking Problems: Very bad accuracy in Java3D?</title>
	<published>2009-11-25T03:13:12Z</published>
	<updated>2009-11-25T03:13:12Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Ok, I understand the problem now. getClosestIntersectionPoint I believe does only get the closest vertex point. So if your mesh is made up of a few large quads or triangles you might be getting the same closest vertex points depending on where your arrows are.
&lt;br&gt;&lt;br&gt;I assume you are using PickInfo.PICK_GEOMETRY and the flag PickInfo.CLOSEST_INTERSECTION_POINT. If you also use the flag PickInfo.CLOSEST_GEOM_INFO you can get access to the intersection info using getIntersectionInfos(). With the IntersectionInfo there is a method getIntersectionPoint(). I am not sure whether this point is any different, I have never used it, but try it out and see. Basically you want the intersection point of the ray through the polygon. If Java3D work this out for you, you can do it manually, you will need to use the intersection of a line through a plane where there are many examples of the equation online, e.g. &lt;a href=&quot;http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://local.wasp.uwa.edu.au/~pbourke/geometry/planeline/&lt;/a&gt;&lt;br&gt;To do this you need the normal of the intersected geometry, any point on the intersected face and the line geometry all of which you can gain access to.
&lt;br&gt;&lt;br&gt;That is indeed strange about having to repeat the picking using the old picking package, I have never had any problems using pickfast and the closest vertex has always been good enough for my needs. Hope this helps.
&lt;br&gt;[Message sent by forum member 'chrismcband' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373288&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373288&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26510971&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26510971&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Shape3D-Picking-Problems%3A-Very-bad-accuracy-in-Java3D--tp26480472p26510971.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505221</id>
	<title>Stereo Rendering inverted on one eye</title>
	<published>2009-11-24T15:33:16Z</published>
	<updated>2009-11-24T15:33:16Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;I hope, somebody of you knows this special problem.
&lt;br&gt;&lt;br&gt;If I use the regular Stereo Package from Java3D (with a nVidia/PNY Quadro FX card), I get, let's say, Eye Cancer - the reason, the right eye is rendered correctly like the regular view. But the left eye renders the opposite. This means, all objects are still in the correct place, but the objects are rendered the wrong way around: Objects in the back are in the front - and vice versa. I think I have to set a property somewhere - but where???
&lt;br&gt;&lt;br&gt;Thanks a lot for your suggestions!
&lt;br&gt;Björn
&lt;br&gt;[Message sent by forum member 'bjsommer' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373236&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373236&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505221&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505221&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Stereo-Rendering-inverted-on-one-eye-tp26505221p26505221.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505122</id>
	<title>Re: Shape3D Picking Problems: Very bad accuracy in Java3D?</title>
	<published>2009-11-24T15:23:29Z</published>
	<updated>2009-11-24T15:23:29Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Okay, so thanks for the Info that the Picking package is obsolute - so I changed it to the new PickFast Package. But the problem remains the same. So I try to point it out precisely.
&lt;br&gt;&lt;br&gt;So I use the VRML loader to load a 3D mesh into my project. It generates a Shape3D (I think it is not so important that it is originally a VRML object for this problem). Let's imagine, it is just a Sphere with many vertices.
&lt;br&gt;&lt;br&gt;Now want to distribute 100 small Shape3Ds onto this Sphere. Originally they are all placed close to each other on a rectangular area. The shapes are arrows, which are all pointing away from the area into the same direction. So they are like normal vectors to the area.
&lt;br&gt;&lt;br&gt;Now we want to place this area onto the sphere and then we want to move the arrows close to the sphere. While doing so, the distances between the arrows on the area should not change dramatically - so we can not just look for a vertex on the sphere and place it there, then the structure of the field of arrows would change drastically.
&lt;br&gt;&lt;br&gt;First we place the area with the arrows slidely outside the Sphere by using the TransformGroup of the area. Now it is floating a small distance across the Sphere.
&lt;br&gt;&lt;br&gt;Now the arrows should be moved downwards, until they meet the Sphere. 
&lt;br&gt;&lt;br&gt;For this, we send a PickRay from the top of the arrow down into the direction of the sphere - by using the Normal and the position of each arrow.
&lt;br&gt;&lt;br&gt;Now we should get exactly the point on the sphere, where the arrow should be placed now. 
&lt;br&gt;&lt;br&gt;But instead of this, we get a point in the neighbourhood of such a point. And although we are sending 100 different PickRays from 100 different positions into the direction of the sphere, we only get ca. 5 different PickingPoints by using getClosestIntersectionPoint().
&lt;br&gt;&lt;br&gt;P.S.: [i]The first while loop inside the for is redundant, you only need to do it once, doing it 10 times won't change the result unless the scene is animated.[/i]
&lt;br&gt;Yes, but it is a workaround for the old Picking, which sometimes returns only hits when doing the Picking more often, up to 1M times. This is really strange, but works in other methods of my project. I have to check this with the new PickFast now.
&lt;br&gt;[Message sent by forum member 'bjsommer' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373235&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373235&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505122&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505122&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Shape3D-Picking-Problems%3A-Very-bad-accuracy-in-Java3D--tp26480472p26505122.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26498370</id>
	<title>Unstable Vista Menus</title>
	<published>2009-11-24T07:50:54Z</published>
	<updated>2009-11-24T07:50:54Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I have almost finished my animated 3D star cluster simulation viewer and a semi-working prototype is available here.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.manybody.org/wiki/index.php/StarryOrbits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.manybody.org/wiki/index.php/StarryOrbits&lt;/a&gt;&lt;br&gt;&lt;br&gt;This works fine under Windows XP but the menus and dialogs are very dodgy under Vista. &amp;nbsp;The 3D scene sometimes shows up through the menus and dialogs. Can anyone point me towards a possible solution?
&lt;br&gt;&lt;br&gt;For info, StarryOrbits was produced in Netbeans using Swing. &amp;nbsp;The viewer uses a SimpleUniverse object on a Canvas3D which is contained in a JPanel. &amp;nbsp;I made all 3 menus heavyweight to see if that helped but it made no difference.
&lt;br&gt;&lt;br&gt;Many thanks
&lt;br&gt;Dave
&lt;br&gt;&lt;br&gt;ps - I would love to know if StarryOrbits works under other operating systems as well.
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373128&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373128&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498370&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498370&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Unstable-Vista-Menus-tp26498370p26498370.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26493469</id>
	<title>Re: Shape3D Picking Problems: Very bad accuracy in Java3D?</title>
	<published>2009-11-24T02:17:47Z</published>
	<updated>2009-11-24T02:17:47Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hmm, I'm not really sure what you are trying to do here? Can you explain exactly what you are trying to do, it sounds like you want the position of some objects loaded using the vrml loader. Why do you need picking for this? Can't you process the loaded scene in code to work out positions?. I don't know why you need to loop through the shapes, you are changing the coneray for each shape, is this because you need to orient the loaded shapes to face somewhere? The first while loop inside the for is redundant, you only need to do it once, doing it 10 times won't change the result unless the scene is animated.
&lt;br&gt;&lt;br&gt;Also you should use the picking tools from the pickfast package instead, the old picking package is obsolete. Please post some more details on what you are trying &amp;nbsp;to achieve so we can help.
&lt;br&gt;[Message sent by forum member 'chrismcband' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373098&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373098&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26493469&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26493469&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Shape3D-Picking-Problems%3A-Very-bad-accuracy-in-Java3D--tp26480472p26493469.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26493444</id>
	<title>Re: PickTranslateBehavior: Change axis</title>
	<published>2009-11-24T02:16:56Z</published>
	<updated>2009-11-24T02:16:56Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">thx a lot
&lt;br&gt;but there is some code missing..
&lt;br&gt;[Message sent by forum member 'exfalso' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373097&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373097&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26493444&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26493444&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PickTranslateBehavior%3A-Change-axis-tp26337910p26493444.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491299</id>
	<title>Re: PickTranslateBehavior: Change axis</title>
	<published>2009-11-23T23:03:05Z</published>
	<updated>2009-11-23T23:03:05Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">-ok, remove the zoom behavior.
&lt;br&gt;-remove the setFactor
&lt;br&gt;&lt;br&gt;create
&lt;br&gt;&lt;br&gt;import java.awt.*;
&lt;br&gt;import java.awt.event.*;
&lt;br&gt;import java.util.*;
&lt;br&gt;import javax.media.j3d.*;
&lt;br&gt;import javax.vecmath.*;
&lt;br&gt;&lt;br&gt;import com.sun.j3d.utils.behaviors.mouse.MouseBehavior;
&lt;br&gt;import com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback;
&lt;br&gt;&lt;br&gt;/**
&lt;br&gt;&amp;nbsp;* MouseTranslate is a Java3D behavior object that lets users control the 
&lt;br&gt;&amp;nbsp;* translation (X, Y) of an object via a mouse drag motion with the third
&lt;br&gt;&amp;nbsp;* mouse button (alt-click on PC). See MouseRotate for similar usage info.
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;public class MT extends MouseBehavior {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; double x_factor = .02;
&lt;br&gt;&amp;nbsp; &amp;nbsp; double y_factor = .02;
&lt;br&gt;&amp;nbsp; &amp;nbsp; Vector3d translation = new Vector3d();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; private MouseBehaviorCallback callback = null;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a mouse translate behavior given the transform group.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param transformGroup The transformGroup to operate on.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(TransformGroup transformGroup) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(transformGroup);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a default translate behavior.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a translate behavior.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Note that this behavior still needs a transform
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* group to work on (use setTransformGroup(tg)) and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the transform group must add this behavior.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param flags
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(int flags) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(flags);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a translate behavior that uses AWT listeners and behavior
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* posts rather than WakeupOnAWTEvent. &amp;nbsp;The behavior is added to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* specified Component. A null component can be passed to specify
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the behavior should use listeners. &amp;nbsp;Components can then be added
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* to the behavior with the addListener(Component c) method.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param c The Component to add the MouseListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* and MouseMotionListener to.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @since Java 3D 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(Component c) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(c, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; } 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a translate behavior that uses AWT listeners and behavior
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* posts rather than WakeupOnAWTEvent. &amp;nbsp;The behaviors is added to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the specified Component and works on the given TransformGroup.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* A null component can be passed to specify the behavior should use
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* listeners. &amp;nbsp;Components can then be added to the behavior with the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* addListener(Component c) method.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param c The Component to add the MouseListener and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* MouseMotionListener to.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param transformGroup The TransformGroup to operate on.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @since Java 3D 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(Component c, TransformGroup transformGroup) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(c, transformGroup);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Creates a translate behavior that uses AWT listeners and behavior
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* posts rather than WakeupOnAWTEvent. &amp;nbsp;The behavior is added to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* specified Component. &amp;nbsp;A null component can be passed to specify
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the behavior should use listeners. &amp;nbsp;Components can then be added to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the behavior with the addListener(Component c) method.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Note that this behavior still needs a transform
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* group to work on (use setTransformGroup(tg)) and the transform
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* group must add this behavior.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param flags interesting flags (wakeup conditions).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* @since Java 3D 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public MT(Component c, int flags) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(c, flags);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public void initialize() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super.initialize();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((flags &amp; INVERT_INPUT) == INVERT_INPUT) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; invert = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x_factor *= -1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y_factor *= -1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Return the x-axis movement multipler.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public double getXFactor() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return x_factor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Return the y-axis movement multipler.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public double getYFactor() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return y_factor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Set the x-axis amd y-axis movement multipler with factor.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void setFactor( double factor) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x_factor = y_factor = factor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Set the x-axis amd y-axis movement multipler with xFactor and yFactor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* respectively.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void setFactor( double xFactor, double yFactor) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x_factor = xFactor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y_factor = yFactor; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public void processStimulus (Enumeration criteria) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WakeupCriterion wakeup;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AWTEvent[] events;
&lt;br&gt;&amp;nbsp;	MouseEvent evt;
&lt;br&gt;// 	int id;
&lt;br&gt;// 	int dx, dy;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (criteria.hasMoreElements()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wakeup = (WakeupCriterion) criteria.nextElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (wakeup instanceof WakeupOnAWTEvent) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; events = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (events.length &amp;gt; 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; evt = (MouseEvent) events[events.length-1];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doProcess(evt);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (wakeup instanceof WakeupOnBehaviorPost) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (true) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // access to the queue must be synchronized
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; synchronized (mouseq) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (mouseq.isEmpty()) break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; evt = (MouseEvent)mouseq.remove(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // consolodate MOUSE_DRAG events
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while ((evt.getID() == MouseEvent.MOUSE_DRAGGED) &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!mouseq.isEmpty() &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(((MouseEvent)mouseq.get(0)).getID() ==
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MouseEvent.MOUSE_DRAGGED)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; evt = (MouseEvent)mouseq.remove(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doProcess(evt);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp;	wakeupOn(mouseCriterion);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; void doProcess(MouseEvent evt) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int dx, dy;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; processMouseEvent(evt);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (((buttonPress)&amp;&amp;((flags &amp; MANUAL_WAKEUP) == 0)) ||
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((wakeUp)&amp;&amp;((flags &amp; MANUAL_WAKEUP) != 0))){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; id = evt.getID();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((id == MouseEvent.MOUSE_DRAGGED) &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; !evt.isAltDown() &amp;&amp; evt.isMetaDown()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x = evt.getX();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y = evt.getY();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dx = x - x_last;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dy = y - y_last;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((!reset) &amp;&amp; ((Math.abs(dy) &amp;lt; 50) &amp;&amp; (Math.abs(dx) &amp;lt; 50))) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //System.out.println(&amp;quot;dx &amp;quot; + dx + &amp;quot; dy &amp;quot; + dy);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transformGroup.getTransform(currXform);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translation.x = dx*x_factor; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translation.z = -dy*y_factor;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transformX.set(translation);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (invert) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currXform.mul(currXform, transformX);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currXform.mul(transformX, currXform);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transformGroup.setTransform(currXform);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transformChanged( currXform );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (callback!=null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; callback.transformChanged( MouseBehaviorCallback.TRANSLATE,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currXform );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reset = false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x_last = x;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y_last = y;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (id == MouseEvent.MOUSE_PRESSED) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x_last = evt.getX();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y_last = evt.getY();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Users can overload this method &amp;nbsp;which is called every time
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* the Behavior updates the transform
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Default implementation does nothing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void transformChanged( Transform3D transform ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* The transformChanged method in the callback class will
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* be called every time the transform is updated
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void setupCallback( MouseBehaviorCallback callback ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.callback = callback;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }}
&lt;br&gt;&lt;br&gt;-use it in alternative picktranslatebehavior
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373085&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373085&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491299&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491299&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PickTranslateBehavior%3A-Change-axis-tp26337910p26491299.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26482369</id>
	<title>Re: Scale</title>
	<published>2009-11-23T09:22:35Z</published>
	<updated>2009-11-23T09:22:35Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Thanks Dave!
&lt;br&gt;[Message sent by forum member 'mtarullo463' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373018&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373018&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482369&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482369&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Scale-tp26445038p26482369.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26482279</id>
	<title>Re: PickTranslateBehavior: Change axis</title>
	<published>2009-11-23T09:17:26Z</published>
	<updated>2009-11-23T09:17:26Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">hi!
&lt;br&gt;&lt;br&gt;ok thanks. this is nearly what I was looking for. Now I'm able to move my objects along the x-axis by pressing the right button and moving my mouse curser left or right....
&lt;br&gt;&lt;br&gt;I also can zoom with my mouse wheel by moving my cursor up- and down.
&lt;br&gt;&lt;br&gt;&lt;br&gt;and here is my code:
&lt;br&gt;&lt;br&gt;&lt;br&gt;//MyPick is the code of optimusprime1982
&lt;br&gt;&amp;nbsp;MyPick pickTranslate = new MyPick(rootBG,c, bounds);
&lt;br&gt;&amp;nbsp;pickTranslate.setupCallback(myCallback);
&lt;br&gt;rootBG.addChild(pickTranslate);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;PickZoomBehavior pickZoom = new PickZoomBehavior(rootBG, c, behaveBounds);
&lt;br&gt;pickZoom.setupCallback(myCallback);
&lt;br&gt;rootBG.addChild(pickZoom); 
&lt;br&gt;&lt;br&gt;well, so far it works BUT this is what I want:
&lt;br&gt;I want my objects to be moveable along the x-axis by pressing the right mouse button and moving the curser left and right (this works already). and then I want to zoom my objects by pressing the RIGHT (not the wheel) button and moving the curser up and down. do you understand?
&lt;br&gt;&lt;br&gt;Eventually it would be some kind of luxury if you can move the objects diagonally :D over the surface.
&lt;br&gt;&lt;br&gt;thx a lot
&lt;br&gt;[Message sent by forum member 'exfalso' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=373013&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=373013&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482279&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482279&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PickTranslateBehavior%3A-Change-axis-tp26337910p26482279.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26480472</id>
	<title>Shape3D Picking Problems: Very bad accuracy in Java3D?</title>
	<published>2009-11-23T07:43:40Z</published>
	<updated>2009-11-23T07:43:40Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;We have a problem with placing objects onto a surface by using picking. At the moment Java3D's picking accuracy seems to be very bad.
&lt;br&gt;&lt;br&gt;What we are doing:
&lt;br&gt;&lt;br&gt;We load a 3DShape from a VRML97 object by using the regular Java3D VRML loader.
&lt;br&gt;Then we place a TransformGroup containing allElements onto the Surface. We already compute the correct starting postion and normal by using another pickray. 
&lt;br&gt;&lt;br&gt;This works quiet good. allElements are now levitating over the ShapePosition.
&lt;br&gt;&lt;br&gt;To optimize now the positions of allElements, we want to send a PickRay, here a PickConeRay, from the top of each element towards the Shape3D object by using 
&lt;br&gt;&lt;br&gt;the computed normal. This also seems to work partly, because we get hits. But if there are 200 different objects, we have only max. 6 different positions. 
&lt;br&gt;&lt;br&gt;Sometimes there are picked only 1 to 2. But of course we want to get an unique position for each different object. 
&lt;br&gt;&lt;br&gt;It looks as if the PickRay gets only coordinates of the closest vertex, but this is not requested and it seems, that also points are chosen outside of the 
&lt;br&gt;&lt;br&gt;closest vertex.
&lt;br&gt;&lt;br&gt;We tried days to find a solution for this problem - different PickRays and Segments, different origin positions for the PickRay. The degree with 90° is very 
&lt;br&gt;&lt;br&gt;large, but we do not get any results with a smaller one.
&lt;br&gt;&lt;br&gt;&lt;br&gt;In addition, another problem seems to be, if we are using the PickCanvas and we are to close to a Shape3D, then a position on the other side of the Shape is 
&lt;br&gt;&lt;br&gt;picked. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;Is there a way to solve this problems? Thanks a lot for your ideas!
&lt;br&gt;Björn
&lt;br&gt;&lt;br&gt;Code Snippet:
&lt;br&gt;&lt;br&gt;PickResult[] MyPickRayResult = null;
&lt;br&gt;int resCtr=0;
&lt;br&gt;pickTool = new PickTool(shapeBranchGroup);
&lt;br&gt;pickTool.setMode(PickTool.GEOMETRY_INTERSECT_INFO);
&lt;br&gt;&lt;br&gt;shapeBranchGroup.setCapability(BranchGroup.ALLOW_COLLIDABLE_READ);
&lt;br&gt;shapeBranchGroup.setCapability(BranchGroup.ALLOW_COLLIDABLE_WRITE);
&lt;br&gt;shapeBranchGroup.setCapability(BranchGroup.ALLOW_COLLISION_BOUNDS_READ);
&lt;br&gt;shapeBranchGroup.setCapability(BranchGroup.ALLOW_COLLISION_BOUNDS_WRITE);
&lt;br&gt;&lt;br&gt;PickTool.setCapabilities(shape3DWithGeometryInfo, PickTool.INTERSECT_FULL);
&lt;br&gt;&lt;br&gt;[...]
&lt;br&gt;&lt;br&gt;for (int m=0;m&amp;lt;allElements.size();m++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Node PickedObject = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PickResult[] MyPickRayResult = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int resCtr=0;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pickTool.setShapeConeRay(new Point3d(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getYTranslation()*nearestComputedNormal.x*10 + 										
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getPosition().x*scaleFactorPDB,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getYTranslation()*nearestComputedNormal.y*10 + 										
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getPosition().y*scaleFactorPDB,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getYTranslation()*nearestComputedNormal.z*10 + 										
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).getPosition().z*scaleFactorPDB), 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nearestComputedNormal,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Math.toRadians(90));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int redoCount = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (MyPickRayResult == null &amp;&amp; redoCount &amp;lt; 10) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MyPickRayResult = pickTool.pickAllSorted();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redoCount++;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float pointDistanceNearest = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Point3d pointCoordNearest = new Point3d();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointDistanceNearest = 1000;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (MyPickRayResult!=null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (resCtr&amp;lt;MyPickRayResult.length) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;		PickedObject=MyPickRayResult[resCtr].getObject();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	if (PickedObject.getName()!=null || PickedObject.getParent().getName()!=null) {				 		
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int p=0;p&amp;lt;MyPickRayResult[resCtr].numIntersections();p++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float pointDistance = new Float(MyPickRayResult[resCtr].getIntersection(p).getDistance());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (pointDistance&amp;lt;pointDistanceNearest) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointDistanceNearest = pointDistance;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointCoordNearest = MyPickRayResult[resCtr].getIntersection(p).getPointCoordinates();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;		resCtr++;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).setPosition(new Point3f(pointCoordNearest));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allElements.get(m).move();				
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;[Message sent by forum member 'bjsommer' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372981&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372981&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26480472&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26480472&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Shape3D-Picking-Problems%3A-Very-bad-accuracy-in-Java3D--tp26480472p26480472.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26478855</id>
	<title>Re: PickTranslateBehavior: Change axis</title>
	<published>2009-11-23T06:16:16Z</published>
	<updated>2009-11-23T06:16:16Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">no. you have to describe it more accurate.
&lt;br&gt;even the screenshot does not help.
&lt;br&gt;&lt;br&gt;what do you mean with &amp;quot;fly&amp;quot;?
&lt;br&gt;the &amp;quot;tree&amp;quot; should remain on the surface?
&lt;br&gt;&lt;br&gt;try this.
&lt;br&gt;&lt;br&gt;import com.sun.j3d.utils.picking.*;
&lt;br&gt;import com.sun.j3d.utils.picking.behaviors.PickMouseBehavior;
&lt;br&gt;import com.sun.j3d.utils.picking.behaviors.PickingCallback;
&lt;br&gt;import com.sun.j3d.utils.behaviors.mouse.*;
&lt;br&gt;import javax.media.j3d.*;
&lt;br&gt;&lt;br&gt;&lt;br&gt;/**
&lt;br&gt;&amp;nbsp;* A mouse behavior that allows user to pick and translate scene graph objects.
&lt;br&gt;&amp;nbsp;* Common usage: 1. Create your scene graph. 2. Create this behavior with
&lt;br&gt;&amp;nbsp;* the root and canvas. See PickRotateBehavior for more details. 
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;&lt;br&gt;public class PB extends PickMouseBehavior implements MouseBehaviorCallback {
&lt;br&gt;&amp;nbsp; MouseTranslate translate;
&lt;br&gt;&amp;nbsp; private PickingCallback callback = null;
&lt;br&gt;&amp;nbsp; private TransformGroup currentTG;
&lt;br&gt;&lt;br&gt;&amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp;* Creates a pick/translate behavior that waits for user mouse events for
&lt;br&gt;&amp;nbsp; &amp;nbsp;* the scene graph. 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param root &amp;nbsp; Root of your scene graph.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param canvas Java 3D drawing canvas.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param bounds Bounds of your scene.
&lt;br&gt;&amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&lt;br&gt;&amp;nbsp; public PB(BranchGroup root, Canvas3D canvas, Bounds bounds){
&lt;br&gt;&amp;nbsp; &amp;nbsp; super(canvas, root, bounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; translate = new MouseTranslate(MouseBehavior.MANUAL_WAKEUP);
&lt;br&gt;&amp;nbsp; &amp;nbsp; translate.setTransformGroup(currGrp);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setFactor(0.2, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; currGrp.addChild(translate);
&lt;br&gt;&amp;nbsp; &amp;nbsp; translate.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; this.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp;* Creates a pick/translate behavior that waits for user mouse events for
&lt;br&gt;&amp;nbsp; &amp;nbsp;* the scene graph. 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param root &amp;nbsp; Root of your scene graph.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param canvas Java 3D drawing canvas.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param bounds Bounds of your scene.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param pickMode specifys PickTool.BOUNDS, PickTool.GEOMETRY or
&lt;br&gt;&amp;nbsp; &amp;nbsp;* PickTool.GEOMETRY_INTERSECT_INFO. &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @see PickTool#setMode
&lt;br&gt;&amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; &amp;nbsp; public PB(BranchGroup root, Canvas3D canvas,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Bounds bounds, int pickMode) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super(canvas, root, bounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate = new MouseTranslate(MouseBehavior.MANUAL_WAKEUP);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setTransformGroup(currGrp);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setFactor(0.2, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currGrp.addChild(translate);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setSchedulingBounds(bounds);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setMode(pickMode);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp;* Update the scene to manipulate any nodes. This is not meant to be 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* called by users. Behavior automatically calls this. You can call 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* this only if you know what you are doing.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param xpos Current mouse X pos.
&lt;br&gt;&amp;nbsp; &amp;nbsp;* @param ypos Current mouse Y pos.
&lt;br&gt;&amp;nbsp; &amp;nbsp;**/
&lt;br&gt;&amp;nbsp; public void updateScene(int xpos, int ypos){
&lt;br&gt;&amp;nbsp; &amp;nbsp; TransformGroup tg = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; if (!mevent.isAltDown() &amp;&amp; mevent.isMetaDown()){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; pickCanvas.setShapeLocation(xpos, ypos);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; PickResult pr = pickCanvas.pickClosest();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ((pr != null) &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((tg = (TransformGroup)pr.getNode(PickResult.TRANSFORM_GROUP)) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; != null) &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (tg.getCapability(TransformGroup.ALLOW_TRANSFORM_READ)) &amp;&amp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (tg.getCapability(TransformGroup.ALLOW_TRANSFORM_WRITE))){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setTransformGroup(tg);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.wakeup();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentTG = tg;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Need to clean up Issue 123 --- Chien &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // freePickResult(pr);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (callback!=null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; callback.transformChanged( PickingCallback.NO_PICK, null );
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Callback method from MouseTranslate
&lt;br&gt;&amp;nbsp; &amp;nbsp; * This is used when the Picking callback is enabled
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; public void transformChanged( int type, Transform3D transform ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; callback.transformChanged( PickingCallback.TRANSLATE, currentTG );
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Register the class @param callback to be called each
&lt;br&gt;&amp;nbsp; &amp;nbsp; * time the picked object moves
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; public void setupCallback( PickingCallback callback ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.callback = callback;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (callback==null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setupCallback( null );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translate.setupCallback( this );
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;}
&lt;br&gt;&lt;br&gt;it is a copy from PickTranslateBehavior with just a setFactor call in the constructor.
&lt;br&gt;[Message sent by forum member 'optimusprime1982' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372963&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372963&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478855&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478855&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PickTranslateBehavior%3A-Change-axis-tp26337910p26478855.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26478621</id>
	<title>Re: Scale</title>
	<published>2009-11-23T06:03:16Z</published>
	<updated>2009-11-23T06:03:16Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Mike,
&lt;br&gt;&lt;br&gt;I am not an expert but I am developing an application that may be similar to yours. &amp;nbsp;Mine is a 3d viewer for watching animations of star clusters so my real life scene dimensions are pretty large. &amp;nbsp;I don't think this matters because it is up to you to set the scaling for your universe. &amp;nbsp;Just make sure that you set the view bounds to suit. &amp;nbsp;For instance, you could make each j3d unit equal to 10 miles. &amp;nbsp;
&lt;br&gt;&lt;br&gt;To scale your aircraft models I would make a line that is the same length as your aircraft and add it at the origin. &amp;nbsp;Then add your aircraft model and scale it to be the same length as your line - trial and error. &amp;nbsp;You obviously need to work out why your scaled aircraft are disappearing before you can do this. &amp;nbsp;This is the code that I use to scale my stars - are you using something similar?
&lt;br&gt;&lt;br&gt;transform.setScale(bodyScale);
&lt;br&gt;tg[star].setTransform(transform);
&lt;br&gt;&lt;br&gt;My application is described here
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.manybody.org/wiki/index.php/StarryOrbits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.manybody.org/wiki/index.php/StarryOrbits&lt;/a&gt;&lt;br&gt;&lt;br&gt;It is still under development so you can't download the application or datasets yet. &amp;nbsp;However, it may be possible to display your aircraft flight information in StarryOrbits. &amp;nbsp;All it needs is xyz data at fixed intervals for each body. &amp;nbsp;Do you have any data that I could convert to try out?
&lt;br&gt;&lt;br&gt;hth
&lt;br&gt;Dave
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372958&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372958&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478621&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478621&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Scale-tp26445038p26478621.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26478426</id>
	<title>Re: Thin lines / line sorting</title>
	<published>2009-11-23T05:52:17Z</published>
	<updated>2009-11-23T05:52:17Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Hi 
&lt;br&gt;&lt;br&gt;check com.sun.j3d.utils.scenegraph.transparency package javadocs.
&lt;br&gt;&lt;br&gt;In a nutshell,you can create your own sorting algorithm and set it for your View, this way :
&lt;br&gt;&lt;br&gt;[code]
&lt;br&gt;// static method
&lt;br&gt;TransparencySortControler.setComparator(myView, myTransparencySorter);
&lt;br&gt;&lt;br&gt;[/code]
&lt;br&gt;&lt;br&gt;&amp;quot;myTransparencySorter&amp;quot; is a subclass of java.util.Comparator and will compare TransparencySortGeom instances.
&lt;br&gt;TransparencySortGeom allows you to get squared Z distance, shape3d, geometry, etc. 
&lt;br&gt;Transparency sorts are enabled by 
&lt;br&gt;view.setTransparencySortingPolicy(TRANSPARENCY_SORT_GEOMETRY );
&lt;br&gt;&lt;br&gt;Links
&lt;br&gt;&lt;a href=&quot;http://download.java.net/media/java3d/javadoc/1.5.2/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://download.java.net/media/java3d/javadoc/1.5.2/index.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://download.java.net/media/java3d/javadoc/1.5.2/com/sun/j3d/utils/scenegraph/transparency/package-summary.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://download.java.net/media/java3d/javadoc/1.5.2/com/sun/j3d/utils/scenegraph/transparency/package-summary.html&lt;/a&gt;&lt;br&gt;[Message sent by forum member 'zesharp' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372954&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372954&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478426&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478426&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Thin-lines---line-sorting-tp26445836p26478426.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26476896</id>
	<title>Re: PickTranslateBehavior: Change axis</title>
	<published>2009-11-23T04:05:45Z</published>
	<updated>2009-11-23T04:05:45Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">anyone an idea? :D
&lt;br&gt;&lt;br&gt;yours 
&lt;br&gt;ex
&lt;br&gt;[Message sent by forum member 'exfalso' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372938&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372938&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26476896&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26476896&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PickTranslateBehavior%3A-Change-axis-tp26337910p26476896.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26470158</id>
	<title>Re: How to move local coordinate system in world coordinate vector?</title>
	<published>2009-11-22T14:17:04Z</published>
	<updated>2009-11-22T14:17:04Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">I found the solution by my own.
&lt;br&gt;&lt;br&gt;If somebody has the same problem to translate virtualworld vectors to the local world, try this:
&lt;br&gt;&lt;br&gt;objectGroup is the transformgroup with a local coordinate system.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D worldMove = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; worldMove.set(theMove); //the move is the vector relative to virtual world
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D localToVworld = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objectGroup.getLocalToVworld(localToVworld);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; localToVworld.invert();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; worldMove.mul(localToVworld,worldMove);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transform3D objectLocal = new Transform3D();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objectGroup.getTransform(objectLocal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objectLocal.mul(worldMove,objectLocal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objectGroup.setTransform(ponchoLocal);
&lt;br&gt;[Message sent by forum member 'chhrabia' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372860&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372860&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26470158&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26470158&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-move-local-coordinate-system-in-world-coordinate-vector--tp26459317p26470158.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26467733</id>
	<title>8th chapter of j3d tutorial?</title>
	<published>2009-11-22T10:07:58Z</published>
	<updated>2009-11-22T10:07:58Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">hi,
&lt;br&gt;&lt;br&gt;is there a plan to write 8th chapter of j3d tutorial? topics like best practices or shaders would be interesting...
&lt;br&gt;&lt;br&gt;jiri
&lt;br&gt;[Message sent by forum member 'goddard' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372855&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372855&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467733&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467733&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/8th-chapter-of-j3d-tutorial--tp26467733p26467733.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26464662</id>
	<title>Re: Can I remove Lib folder files in distributable package?</title>
	<published>2009-11-22T03:54:41Z</published>
	<updated>2009-11-22T03:54:41Z</updated>
	<author>
		<name>java3d-interest</name>
	</author>
	<content type="html">Thanks for your help - I finally got it to work.
&lt;br&gt;&lt;br&gt;The files 
&lt;br&gt;&lt;br&gt;appframework-1.0.3.jar
&lt;br&gt;swing-worker-1.1.jar
&lt;br&gt;&lt;br&gt;are needed for Java to display the Swing stuff so I had to leave them in the ../lib/ folder.
&lt;br&gt;&lt;br&gt;The Java 3D files 
&lt;br&gt;&lt;br&gt;j3dcore.jar
&lt;br&gt;j3dutils.jar
&lt;br&gt;vecmath.jar
&lt;br&gt;&lt;br&gt;can be removed from the ../lib/ folder and downloaded directly from java.net.
&lt;br&gt;&lt;br&gt;Here is the &amp;lt;resources&amp;gt; part of my JNLP file that made this work.
&lt;br&gt;&lt;br&gt;&amp;lt;resources&amp;gt;
&lt;br&gt;&amp;lt;j2se version=&amp;quot;1.5+&amp;quot; &amp;nbsp;/&amp;gt;
&lt;br&gt;&amp;lt;jar eager=&amp;quot;true&amp;quot; href=&amp;quot;myApplication.jar&amp;quot; main=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;extension href=&amp;quot;&lt;a href=&quot;http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;jar href=&amp;quot;lib/appframework-1.0.3.jar&amp;quot; download=&amp;quot;eager&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;jar href=&amp;quot;lib/swing-worker-1.1.jar&amp;quot; download=&amp;quot;eager&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/resources&amp;gt;
&lt;br&gt;&lt;br&gt;Thanks again for your help and I hope this helps other NetBeans - Java 3D - WebStart noobies.
&lt;br&gt;&lt;br&gt;Dave
&lt;br&gt;[Message sent by forum member 'dwsubc' ]
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forums.java.net/jive/thread.jspa?messageID=372849&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forums.java.net/jive/thread.jspa?messageID=372849&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464662&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26464662&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;interest-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/java.net---java3d-interest-f13491.html&quot; embed=&quot;fixTarget[13491]&quot; target=&quot;_top&quot; &gt;java.net - java3d interest&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Can-I-remove-Lib-folder-files-in-distributable-package--tp26374757p26464662.html" />
</entry>

</feed>
