Alp,

>   How can i recompile the scene.
>
> i want to make my  robotarm -to pick an available shape from the
> eviroment and put it to a another  given x,y,z coordinate

Then it is not necessary to recompile the scene, just modify
the object's Transform3D.

>  i make it like this.
>
> during runtime my robot arm goes on to the shape to pick it. and i
> add the shape to the robot arm..
> like   lowerArm.addChild(Shape3D);
> but when i done this rendering during the runtime stops.

Most probably with the exception "$(someobject) already has a parent",
right?
If you intend to follow your idea, you'll have to remove the shape
from the scene just in the instant you reattach it as a successor to
some other node (i.e. your simulated arm).
When the arm shall put the object down, you'll have to repeat this
in the other direction. (Detach it from the arm and reattach it to
the environment.)
To be able to change the structure of the scenegraph's contentbranch,
you'll have to have the appropriate capabilities set, otherwise you'll
receive some exceptions during runtime.
Also observe that the object must be a descendant of "BranchGroup".

> is this right?

No.

> or Wrong?

Yes.
The part that you want to manipulate doesn't change it's relation
to the arm. It doesn't move in the scenegraph's hierarchy to become
one if it's children.
When I pick up a ball with my hand, the ball still stays an individual
object. It doesn't become a part of my body. It just happens to have
the approximately same coordinates, by chance.

> if it is wrong how can i pick an object during runtime.

Why don't you just modify the Transform3D of the object you'd like
to transpose accordingly?
Following the SceneGraphPath, you should be able to retrieve the
position in 3-space of the "hand" of your arm.
Just take these coordinates and hand them over to the object to be
manipulated. Keep them synchronized and it will look as if the
object moves along with the arm.

To have an object accept different coordinates during runtime, you
must have the capabilities TransformGroup.ALLOW_TRANSFORM_READ and
..._WRITE set, otherwise a "CapabilityNotSetException" will occur.

Just have a look at the example code, supplied with J3D.
"HelloUniverse.java" in your case when it comes to modifying
the Transform3D during runtime. This one features a
RotationInterpolator to have a cube rotate around the y-axis.

Regards,
André

BTW: To help the people to help you, you should always include any
error messages along with the stacktrace. Otherwise, one is stuck
to blind guessing where the mistake might be, instead of knowing the
place where and the kind of error that occurs.

===========================================================================
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".

Reply via email to