我可以在不扩展的情况下访问Sphere类的几何体吗?

时间:2012-02-13 20:05:54

标签: java inheritance geometry java-3d extends

我正在尝试为我正在编写的Java3D程序中的所有3d对象创建一个通用的抽象超类。我需要这个通过公共接口向所有3d对象添加共享功能,例如移动对象。我想使用Sphere类的预先存在的几何来创建我自己的sphere3d对象。

我希望能够访问Sphere类的几何体而不继承它,因为我的object3d抽象类扩展了Shape3D,因此子类必须继承object3d。有没有办法将我自己的sphere3d类(扩展object3d)的几何设置为Sphere的几何?几何形状就是我所需要的。

感谢您的时间

1 个答案:

答案 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);