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

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

感谢您的时间

最佳答案

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

关于java - 我可以不扩展就访问Sphere类的几何吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9267240/

10-11 17:07