Hello Martin,

Thanks for your reply. This was indeed the problem, I didn't know the 3D
system handles it's measures that way.
As for my server; I'm still a student and the machine eats a lot of
power, so I turn it off at night here to save some power. A man needs
money to drink beer too... ;-)

thanks again!

Bram

Op di, 19-04-2005 te 02:20 +0100, schreef Martin Lenahan:
> Hi Bram
>
> Problem here isnt the transform its the box. I believe the values of
> passed to a Box object are from center out, so a Box(1f,1f,1f) will
> actually give a physical  cube with each  side length 2f..
>
> So your value of 0.5f you use for x length is creating a  box of 1f
> wide, youre then only moving 0.25 along x length (length/2.0f), 1/4 of
> box width
>
> I imagine your screen shot shows the corner offset...  I cant access it
> to examine/.
>
> Martin...
>
> Bram Biesbrouck wrote:
>
> >Hi all,
> >
> >I'm having troubles with the translation of a simple Box in Java3D.
> >I created a TransformGroup-subclass, called Room like this:
> >
> ><START CODE>
> >
> >public class Room
> >        extends TransformGroup
> >{
> >    //constants
> >    ...
> >
> >    private Box box = null;
> >
> >    public Room(float width, float length, Color3f color, String
> >caption)
> >    {
> >        super();
> >        this.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE |
> >TransformGroup.ALLOW_BOUNDS_WRITE | TransformGroup.ALLOW_BOUNDS_READ);
> >        this.setBoundsAutoCompute(true);
> >
> >        Appearance ap = new Appearance();
> >        ap.setColoringAttributes(new ColoringAttributes(color,
> >ColoringAttributes.NICEST));
> >        ap.setTransparencyAttributes(new TransparencyAttributes
> >(TransparencyAttributes.FASTEST, 0.5f));
> >
> >        box = new Box(width, BOX_HEIGHT, length,
> >Primitive.GENERATE_NORMALS | Primitive.GEOMETRY_NOT_SHARED, ap);
> >
> >        this.addChild(box);
> >    }
> >}
> >
> ><END CODE>
> >
> >I then call this function in a mail class like this:
> >
> ><START CODE>
> >
> >//CONSTANTS
> >private final float KITCHEN_X_LENGTH = 0.5f;
> >private final float KITCHEN_Y_LENGTH = 0.25f;
> >
> >...
> >
> >SimpleUniverse universe = new SimpleUniverse();
> >        universe.getViewingPlatform().setNominalViewingTransform();
> >        BranchGroup group = new BranchGroup();
> >
> >        Room kitchen = new Room(KITCHEN_X_LENGTH, KITCHEN_Y_LENGTH,
> >KITCHEN_COLOR, "Kitchen");
> >        kitchen.getTransform(transform);
> >        transform.setTranslation(new Vector3d(-KITCHEN_X_LENGTH/2.0f,
> >0f, -KITCHEN_Y_LENGTH/2.0f));
> >        kitchen.setTransform(transform);
> ><END CODE>
> >
> >The meaning of this is that the box gets translated to the upper left
> >(when looking a it from the Y-axe down), so that its lower right corner
> >is in the origin. However, the box doesn't translate like it's supposed
> >to. I took a screenshot of the result, it's at:
> >http://www.beligum.org/example.png
> >You can see that the box gets translated a bit, but not far enough.
> >
> >Any help
> >
> >Bram
> >
> >===========================================================================
> >To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> >of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> >[EMAIL PROTECTED] and include in the body of the message "help".
> >
> >
> >
> >
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to