BoundingComponent()

BoundingComponent包围盒组件。

new BoundingComponent()

包围盒(AABB, OBB)组件。

Extends

Members

accuracyMode :AccuracyMode

获取/设置精度模式。
Example
// 用于在包围盒计算精度和性能之间进行权衡,精确模式提供更准确的包围盒但性能消耗更大(通常建议使用基础模式, 只在需要特别精确的包围盒数据时才临时切换到精确模式)。可以参考以下示例使用该接口:
// 设置精度模式为精确模式
object.bounding.accuracyMode = THING.AccuracyMode.Accurate;
// 获取包围盒
let boundingBox = object.bounding.boundingBox;
// 设置初始局部包围盒
object.bounding.initialLocalBoundingBox = boundingBox;
// 设置精度模式为基础模式
object.bounding.accuracyMode = THING.AccuracyMode.Basic;

active :boolean

激活或停用组件。
Overrides:

app :THING.App

获取应用程序。
Overrides:

boundingBox

获取世界坐标系下的包围盒(AABB)。
Example
let aabb = object.bounding.boundingBox;
console.log('center: ', aabb.center);
console.log('halfSize: ', aabb.halfSize);

inheritType :InheritType

获取/设置包围盒继承类型。
Example
// 对象将进行包围盒计算,但是子对象将被忽略
object.bounding.inheritType = InheritType.Break
// 对象将跳过包围盒计算,但是子对象将被正常计算进包围盒
object.bounding.inheritType = InheritType.Jump
// 对象将中断包围盒计算,且子对象也将被忽略
object.bounding.inheritType = InheritType.Stop

initialLocalBoundingBox :BoundingBoxResult

获取/设置初始局部包围盒。
Example
// 设置初始局部包围盒
object.bounding.initialLocalBoundingBox = {
    center: [0, 0, 0],
    halfSize: [5, 5, 5]
};

// 清除初始局部包围盒
object.bounding.initialLocalBoundingBox = null;

object :THING.BaseObject

获取对象。
Overrides:

onActiveChange :OnActiveChangeComponentCallback

活动状态改变时的回调函数。
Overrides:

onAfterAdd :OnAfterAddComponentCallback

添加之后。
Overrides:

onAfterAddChild :OnAddChildComponentCallback

添加子对象之后的回调函数。
Overrides:

onAfterRemove :OnAfterRemoveComponentCallback

移除之后。
Overrides:

onAfterRemoveChild :OnRemoveChildComponentCallback

移除子对象之后的回调函数。
Overrides:

onBeforeAdd :OnBeforeAddComponentCallback

添加之前。
Overrides:

onBeforeAddChild :OnAddChildComponentCallback

添加子对象之前的回调函数。
Overrides:

onBeforeRemove :OnBeforeRemoveComponentCallback

移除之前。
Overrides:

onBeforeRemoveChild :OnRemoveChildComponentCallback

移除子对象之前的回调函数。
Overrides:

onCopy :OnCopyComponentCallback

复制时的回调函数。
Overrides:

onExport :OnExportComponentCallback

导出数据时。
Overrides:

onImport :OnImportComponentCallback

导入数据时。
Overrides:

onInit :OnInitComponentCallback

初始化时的回调函数。
Overrides:

onLoadResource :OnLoadResourceComponentCallback

加载资源时的回调函数。
Overrides:

onParentChange :OnParentChangeComponentCallback

改变父对象时的回调函数。
Overrides:

onRefresh :OnRefreshComponentCallback

刷新时的回调函数。
Overrides:

onResize :OnResizeComponentCallback

调整大小时的回调函数。
Overrides:

onUnloadResource :OnUnloadResourceComponentCallback

卸载资源时的回调函数。
Overrides:

onUpdate :OnUpdateComponentCallback

更新时的回调函数。
Overrides:

onVisibleChange :OnVisibleChangeComponentCallback

可见性改变时的回调函数。
Overrides:

orientedBox

获取世界坐标系下的定向包围盒(OBB)。
Example
let obb = object.bounding.orientedBox;
console.log('center: ', obb.center);
console.log('halfSize: ', obb.halfSize);
console.log('angles: ', obb.angles);

pickedSize :Array.<number>

获取/设置选中包围盒的尺寸(设置为 null 可清除)。
Example
// 获取当前选中包围盒的尺寸
let size = object.bounding.pickedSize;

// 设置选中包围盒的尺寸
object.bounding.pickedSize = [10, 20, 30];

// 清除选中包围盒
object.bounding.pickedSize = null;

Methods

onAdd(object)

当添加组件时。
Parameters:
Name Type Description
object THING.BaseObject 对象。
Overrides:

onRemove()

当移除组件时。
Overrides: