Skip to content

SingleObjects

基于Three.js的单对象管理模块,用于管理独立的3D对象。提供单对象的创建和管理功能,适用于需要独立控制的复杂对象。

类定义

javascript
class SingleMesh extends Mesh
class SingleLine extends Line
class SingleLineSegments extends LineSegments
class SingleLineLoop extends LineLoop

常量

SINGLE_OBJECT3D_TYPE

单对象类型枚举,定义支持的单对象类型。

类型: {Object}
静态: true
只读: true

属性:

  • MESH {string} - 单网格对象
  • LINE {string} - 单线条对象
  • LINE_SEGMENTS {string} - 单线段对象
  • LINE_LOOP {string} - 单线环对象

通用方法

以下方法在所有单对象类中通用:

方法名功能描述参数返回值
getUniqueIDByIndex()获取唯一标识符-
getInstance(overWriteMaterial)获取对象实例overWriteMaterial {Material} [可选]
toJSON()转换为JSON格式-

重写方法

每个类重写了以下方法,提供类型特定的实现:

getInstance()

类名方法签名特殊功能
SingleMeshgetInstance(overWriteMaterial, edgesLineMaterial)支持边缘线材质,可添加边缘线显示
SingleLinegetInstance(overWriteMaterial)基础实现,设置renderOrder=2
SingleLineSegmentsgetInstance(overWriteMaterial)基础实现,设置renderOrder=2
SingleLineLoopgetInstance(overWriteMaterial)基础实现,设置renderOrder=2

toJSON()

每个类设置不同的类型标识:

类名类型标识
SingleMeshSINGLE_OBJECT3D_TYPE.MESH
SingleLineSINGLE_OBJECT3D_TYPE.LINE
SingleLineSegmentsSINGLE_OBJECT3D_TYPE.LINE_SEGMENTS
SingleLineLoopSINGLE_OBJECT3D_TYPE.LINE_LOOP

使用场景

独立对象管理

  • 复杂的建筑构件
  • 需要独立控制的对象
  • 具有特殊属性的对象

动态对象控制

  • 动态修改对象属性
  • 实时更新对象变换
  • 动态更换对象材质

对象属性管理

  • 存储对象元数据
  • 管理对象分类信息
  • 跟踪对象状态

相关链接

文档内容为北京逆维悦动科技有限公司版权所有,禁止未授权转载