原始 MediaWiki 页面

我知道编辑这个网站吗?

3D 查看器 › 内容结构

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

内容与宇宙的关系

您可以下载本指南 here 的示例来源代码。

下图显示了一个简化的类图,其中API用户最重要的类的类层次结构和关系: <div class="thumbnail" > Simplified class diagram showing the core classes of the 3D Viewer. Simplified class diagram showing the core classes of the 3D Viewer. </div>

###宇宙类的层次结构

三个类的存在,它们共同提供了Universe的功能:

  • DefaultUniverse初始化场景图。它提供了搜索显示宇宙的窗口以及Java3D场景图的根BranchGroup的方法,所有对象都放置在该根下。
  • DefaultAnimatableUniverse延伸DefaultUniverse。它提供动画和录制功能。
  • Image3DUniverse§§依次延伸DefaultAnimatableUniverse。它提供了添加、删除和选择内容的方法。

ContentImage3DUniverse之间的关系

Image3DUniverse可以容纳多个Content。它们存储在一个位置上,由它们的名称标志。这要求Content的名称是唯一的。

Content本身拥有颜色、透明度等属性,但也包含局部变换和对ContentNode的引用。

ContentContentNode之间的关系

ContentNode是代表3D对象的实际类。它是一个抽象类,是VoltexGroup(代表实体渲染)和MeshGroup(代表等值面)的子类。Content一次一个对§§4§§§的引用。

当需要所有ContentNode通用的功能时,与Content本身一起使用通常就足够了。然而,对于某种类型的Content的特殊功能,很可能需要与ContentNode一起使用。

例如,考虑体积编辑。该功能仅在体积渲染的上下文中才有意义,因此相应的方法位于VoltexGroup中。

Content和ContentNode之间的消息流

例如Content.setColor()被调用时,它首先检查指定的颜色是否与现有的颜色不同。如果是,它设置当前颜色(它是Content的字段)并调用colorUpdated()接口中定义的colorUpdated()方法。