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

发布于 2025-01-04 19:16:39 字数 294 浏览 1 评论 0原文

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

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

谢谢您的宝贵时间

I'm trying to create a generic abstract superclass for all 3d objects in a Java3D program I am writing. I need this to add shared functionality, such as moving objects, to all 3d objects via a common interface. I would like to use the pre-existing geometry of the Sphere class to create my own sphere3d object.

I want to be able to access the geometry of the Sphere class without inheriting it, as my object3d abstract class extends Shape3D and thus subclasses must inherit object3d. Is there a way to set the geometry of my own sphere3d class (which extends object3d) to that of Sphere? The geometry is all I need.

Thank you for your time

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谷夏 2025-01-11 19:16:39
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);
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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文