I've got a frame and it just pretend to be a top view
of a rectangle sweeping the frame and leaving a tale
made of white points. To achieve it I�ve been using
Threads.
The following is the Thread code:
public class Movement2D implements Runnable{
public static double tx, ty, a=-0.96, b=-0.29;
public static Thread runner;
private double d = 0.01;
public Movement2D() {
runner = new Thread (this);
}
public void run(){
while(true){
double v1=0.29;
if (b <= -v1){
d = 0.01;
a += 0.01;
}
if (b >= v1){
d = -0.01;
a += 0.01;
}
b += d;
ty = b;
tx = a;
Movil2D.TransL1.setTranslation(new Vector3d(tx,
ty, 0));
Movil2D.thoraxRotate.setTransform(Movil2D.TransL1);
try{
runner.sleep (100);
}
catch(Throwable t){}
}
}
}
The following is the body object code:
public class Movil2D {
private BranchGroup root;
public static TransformGroup thoraxRotate;
public static final double
width = 0.02,
height = 0.06,
public static Transform3D TransL1, TransDots;
public static TransformGroup Link1TG;
public Movil2D() {
// Create the root of the branch graph
root = new BranchGroup();
/*Make the figure able to rotate*/
thoraxRotate = new TransformGroup ();
thoraxRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
thoraxRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
thoraxRotate.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
root.addChild(thoraxRotate);
//Set Translations
TransL1 = new Transform3D();
//Box (link)
Link1TG = new TransformGroup(TransL1);
Box legLink1 = new Box((float)width,(float)height,
(float)width, new BodyAppear().redAppearance());
Link1TG.addChild(legLink1);
thoraxRotate.addChild(Link1TG);
//Let the java3D perform optimizations on this
scene
root.compile();
}
public BranchGroup getLeg1BG(){
return root;
}
}
Now I want to introduce this code in the thread so the
box could leave a tale made of white points
Point3f[] positions = new Point3f[1];
positions[0]= new Point3f((float)tx,(float)ty,0f);
PointArray point_geom = new PointArray(1,
GeometryArray.COORDINATES);
point_geom.setCoordinates(0, positions);
Shape3D points = new Shape3D(point_geom, new
BodyAppear().whiteAppearance());
thoraxRotate.addChild(points);
Where the tx and ty variables are going to be refresh
by the thread every 100 milisec.
I'll apreciate any help.
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".