mauriziop81
14-03-2009, 15:05
Salve,
qualcuno sa come dare al BoundingBox le stesse dimensioni di un Box?io ho provato nel seguente modo:
float x=.0f;
float y=.0f;
float z=9f;
float xdim=0.5f;
float ydim=0.5f;
float zdim=0.1f;
Appearance appearance = new Appearance();
Material material = new Material();
material.setEmissiveColor(new Color3f(1, 0, 0));
appearance.setMaterial(material);
Box box = new Box(xdim, ydim, zdim, Box.GENERATE_NORMALS, appearance);
Transform3D transf = new Transform3D();
TransformGroup tg = new TransformGroup();
Vector3f posizione = new Vector3f(x,y,z);
transf.setTranslation(posizione);
tg.setTransform(transf);
box.setBoundsAutoCompute(false);//per non prendere quello generato dal box,che ha i limiti più grande del box
//definizione bound
Bounds bounds = new BoundingBox(new Point3d(x,y,z),new Point3d(x+xdim,y+ydim,z+zdim);
//bounds.transform(transf);
box.setBounds(bounds);
ma non ho traccia di questo Bound, usando il metodo intersect non riesco a trovarlo.
Qualcuno di voi sa dove sbaglio?
qualcuno sa come dare al BoundingBox le stesse dimensioni di un Box?io ho provato nel seguente modo:
float x=.0f;
float y=.0f;
float z=9f;
float xdim=0.5f;
float ydim=0.5f;
float zdim=0.1f;
Appearance appearance = new Appearance();
Material material = new Material();
material.setEmissiveColor(new Color3f(1, 0, 0));
appearance.setMaterial(material);
Box box = new Box(xdim, ydim, zdim, Box.GENERATE_NORMALS, appearance);
Transform3D transf = new Transform3D();
TransformGroup tg = new TransformGroup();
Vector3f posizione = new Vector3f(x,y,z);
transf.setTranslation(posizione);
tg.setTransform(transf);
box.setBoundsAutoCompute(false);//per non prendere quello generato dal box,che ha i limiti più grande del box
//definizione bound
Bounds bounds = new BoundingBox(new Point3d(x,y,z),new Point3d(x+xdim,y+ydim,z+zdim);
//bounds.transform(transf);
box.setBounds(bounds);
ma non ho traccia di questo Bound, usando il metodo intersect non riesco a trovarlo.
Qualcuno di voi sa dove sbaglio?