我正在尝试为我正在编写的Java3D程序中的所有3d对象创建一个通用的抽象超类。我需要这个通过公共接口向所有3d对象添加共享功能,例如移动对象。我想使用Sphere类的预先存在的几何来创建我自己的sphere3d对象。
我希望能够访问Sphere类的几何体而不继承它,因为我的object3d抽象类扩展了Shape3D,因此子类必须继承object3d。有没有办法将我自己的sphere3d类(扩展object3d)的几何设置为Sphere的几何?几何形状就是我所需要的。
感谢您的时间
答案 0 :(得分:1)
float radius = 2.4f;
int divisions = 24;
// Further flags: GENERATE_TEXTURE_COORDS etc.
int primflags = Sphere.GEOMETRY_NOT_SHARED | Sphere.GENERATE_NORMALS;
Sphere sphere = new Sphere(radius, primflags, divisions);
Shape3D shape3D = sphere.getShape();
Geometry = shape3D.getGeometry(); // Your desired result !
shape3D.setGeometry(null);