业务咨询
开发咨询
微信沟通

Class: TileLayer

CMAP~ TileLayer

瓦片图层类


new TileLayer(param)

构造函数

Parameters:
Name Type Description
param Object

参数列表

Properties
Name Type Description
name String

瓦片图层name

maximumLevel Number

瓦片图地图服务最大级别 如不设置默认是无限制

url String

瓦片图地图服务url

style Object

瓦片图层样式

Properties
Name Type Description
template String

预置的模板、主要有以下几种
CMAP.TileLayerStyle.DARKBLUE,CMAP.TileLayerStyle.DARKGREEN,CMAP.TileLayerStyle.NORMAL,CMAP.TileLayerStyle.CUSTOMCOLOR

customColor Array

当tileStyle==CMAP.TileLayerStyle.CUSTOMCOLOR时生效,代表瓦片图上的一层颜色滤镜,格式为[r,g,b]

brightness Number

地球亮度设置默认1.0

contrast Number

瓦片对比度默认1.0

saturation Number

瓦片饱和度默认1.0

gamma Number

瓦片伽马值默认1.0

hue Number

瓦片色调默认0.0

Example
var app = new THING.App({
    container: 't3d', // 3D 的容器
});
var map = app.create({
    type: 'Map'
});
var tileLayer = app.create({
    type: 'TileLayer',
    name: 'tileLayer1',
    url: 'http://mt{0,1,2,3}.google.cn/vt/lyrs=s&x={x}&y={y}&z={z}',
    maximumLevel:18 // 超过该级别的瓦片将不被刷新 这里的级别是指瓦片服务的级别 不传该参数则不限制瓦片级别
});
map.baseLayers.add(tileLayer);

Extends

Members


angles :Array.<number>

三轴相对角度,相对于自身坐标

Type:
  • Array.<number>
Inherited From:
Overrides:

brothers :THING.Selector

获取物体的所有兄弟对象(排除自己),返回物体对象集合

Type:
Inherited From:
Overrides:

children :Array.<THING.BaseObject>

获取子物体列表(数组)

Type:
Inherited From:
Overrides:

controls :Array.<Object>

获取控件列表(数组)

Type:
  • Array.<Object>
Inherited From:
Overrides:

draggable :Boolean

设置/获取 物体是否可被拖拽

Type:
  • Boolean
Inherited From:
Overrides:
Example
obj.draggable = true

dragState :THING.DragState

获取物体当前拖拽状态 THING.DragState.No —— 非拖拽模式、 THING.DragState.DragEnd —— 拖拽结束、 THING.DragState.Dragging —— 拖拽中、

Type:
Inherited From:
Overrides:

id :String

设置/获取 物体 id

Type:
  • String
Inherited From:
Overrides:

inheritAngles :Boolean

设置/获取 物体是否跟随父物体旋转, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritPickable :Boolean

设置/获取 物体拾取是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritPosition :Boolean

设置/获取 物体位置是否跟随父物体移动, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritScale :Boolean

设置/获取 物体是否跟随父物体缩放, 默认true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritStyle :Boolean

设置/获取 物体样式是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritTheme :Boolean

设置/获取 物体模板是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

inheritVisible :Boolean

设置/获取 物体可见性是否受父物体影响, 默认 true.

Type:
  • Boolean
Inherited From:
Overrides:

keepSize :Boolean

设置/获取 图标是否保持像素大小不变。默认为 false,即图标在 3D 场景中呈现“近大远小”的表现形式。

Type:
  • Boolean
Inherited From:
Overrides:
Example
// 设置物体始终保持像素大小(不随场景缩放“近大远小”)
object.keepSize = true;

localPosition :Array.<number>

设置/获取 物体在父物体坐标系下的相对位置

Type:
  • Array.<number>
Inherited From:
Overrides:

<readonly> maximumLevel :Number

瓦片图地图服务最大级别

Type:
  • Number

name :String

设置/获取 物体 name

Type:
  • String
Inherited From:
Overrides:

parent :THING.BaseObject

获取直接父物体

Type:
Inherited From:
Overrides:

parents :THING.Selector

获取所有父物体(祖先),返回物体对象集合,集合中的第一个对象为直接父物体,最后一个为世界根对象

Type:
Inherited From:
Overrides:
Example
// 获取某对象的所有父物体
var parents=obj.parents;
// parents[0] 等同于 obj.parent
// 遍历物体集合
parents.forEach(function (parent) {
  THING.Utils.log(parent.name)
})

pickable :Boolean

设置/获取 物体是否能被拾取

Type:
  • Boolean
Inherited From:
Overrides:

position :Array.<number>

设置/获取 物体在世界坐标系下的绝对位置

Type:
  • Array.<number>
Inherited From:
Overrides:

quaternion :Array.<number>

设置四元数

Type:
  • Array.<number>
Inherited From:
Overrides:

scale :Array.<number>

物体自身缩放比例

Type:
  • Array.<number>
Inherited From:
Overrides:
Example
// 等比例缩放 2 倍
obj.scale = [2,2,2]

style :CMAP.TileLayerStyle

瓦片图层样式,一般我们通过设置TileLayer.style.template,TileLayer.style.customColor,TileLayer.style.brightness等属性设置瓦片图层的样式,而不是直接设置TileLayer.style

Type:
Overrides:

subNodes :THING.Selector

获取子部件(模型的 Mesh 列表)

Type:
Inherited From:
Overrides:
Example
var subNodes = obj.subNodes;
subNodes.forEach(function(subnode){
  THING.Utils.log(subnode.name)
})

type :String

设置/获取 物体类型

Type:
  • String
Inherited From:
Overrides:

url :String

瓦片图地图服务url

Type:
  • String

userData :Object

获取/设置用户自定义属性

Type:
  • Object
Inherited From:
Overrides:

Methods


add(params [, index])

添加子物体

Parameters:
Name Type Argument Description
params THING.BaseObject | *

物体或者参数列表

Properties
Name Type Argument Description
object THING.BaseObject

物体

localPosition Array.<Number> <optional>

相对于父物体的坐标位置

angles Array.<Number> <optional>

旋转角度

basePoint String <optional>

作为位置参考基准的子节点名字

index Number <optional>

插入下标,默认插入到最后位置

Inherited From:
Overrides:
Example
// 将物体 box 作为孩子直接添加到 car 上
car.add(box);
// 添加子物体 box ,并设置其与父物体的相对位置
car.add({
  object: box, // 作为孩子的对象
  localPosition: [0, 2, 0] // 相对于父物体的坐标
});
// 以某个“子节点”作为参考基准点,添加子物体
car.add({
  object: box,
  basePoint: "chazi", // 作为“基准”的“子节点”名称
});

addControl(type [, name]) → {Object}

添加物体控件

Parameters:
Name Type Argument Description
type Object

系统内置控件类型 或 用户自定义控件类型

name String <optional>

控件自定义名称(用于查找)

Inherited From:
Overrides:
Returns:

控件

Type
Object
Example
obj.addControl(new THING.AxisTransformControl(obj), 'axisControl');

clearClipping()

清除物体裁剪

Inherited From:
Overrides:

destroy()

销毁自身及其所有子物体(递归删除)

Inherited From:
Overrides:

distanceTo(position) → {Number}

获取物体到某坐标或者另一物体的绝对距离

Parameters:
Name Type Description
position Array.<number> | THING.BaseObject

世界坐标系下的位置 或 另一物体

Inherited From:
Overrides:
Returns:

距离

Type
Number
Example
// 填写世界坐标系下的位置
obj.distanceTo([0,0,0]);
// 填写物体对象
obj.distanceTo(otherObj);

fadeIn(param)

淡入

Parameters:
Name Type Description
param Object

参数列表

Properties
Name Type Argument Description
time Number <optional>

淡入时间(毫秒) 默认 1s

complete function <optional>

完成时的回调

Inherited From:
Overrides:
Example
obj.fadeIn();
// 设置时间和回调
obj.fadeIn({
  time:2000,
  complete:function(ev){
    THING.Utils.log('complete')
  }
})

fadeOut(param)

淡出

Parameters:
Name Type Description
param Object

参数列表

Properties
Name Type Argument Description
time Number <optional>

淡出时间(毫秒) 默认 1s

complete function <optional>

完成时的回调

Inherited From:
Overrides:
Example
obj.fadeOut();
// 设置时间和回调
obj.fadeOut({
  time:2000,
  complete:function(ev){
    THING.Utils.log('complete')
  }
})

getAttribute(key) → {*}

获取属性值

Parameters:
Name Type Description
key String

属性名,可以使用 a/b/c 的路径方式

Inherited From:
Overrides:
Returns:

属性值

Type
*
Example
obj.getAttribute("userData/power");

getControl(name) → {Object}

获取控件

Parameters:
Name Type Description
name String

控件自定义名称

Inherited From:
Overrides:
Returns:

控件

Type
Object
Example
var control = obj.getControl('axisControl');

getEvents(eventType) → {Array.<Object>}

获取绑定的事件列表,返回数组

Parameters:
Name Type Description
eventType THING.EventType | String

事件名称, 如果不传则返回所有已绑定的事件

Inherited From:
Overrides:
Returns:
Type
Array.<Object>
Example
var events=obj.getEvents();
// 返回数组,结构形如:
[{"type":"enterlevel","priority":50,"userData":null,'tag':'__level_scene_operations__'},
{"type":"leavelevel","priority":50,"userData":null,'tag':'__level_scene_operations__'},
{"type":"click","priority":50,"userData":null,'tag':'我的单击事件'}]

getOrientedBox(onlyVisible, onlySelf) → {OrientedBoxResult}

获取带方向的包围盒信息

Parameters:
Name Type Default Description
onlyVisible Boolean true

是否仅获取可见物体数据

onlySelf Boolean false

是否仅获取自身物体数据

Inherited From:
Overrides:
Returns:
Type
OrientedBoxResult

hasAttribute(key) → {Boolean}

判断属性是否存在

Parameters:
Name Type Description
key String

属性名,可以使用 a/b/c 的路径方式

Inherited From:
Overrides:
Returns:
Type
Boolean
Example
// 物体属性 obj.userData.power 是否存在
obj.hasAttribute("userData/power");

hasChild(object) → {Boolean}

检测是否拥有此子物体

Parameters:
Name Type Description
object THING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

hasControl(control) → {Boolean}

查询是否拥有控件

Parameters:
Name Type Description
control Object | String

控件或者控件自定义名字

Inherited From:
Overrides:
Returns:
Type
Boolean
Example
obj.hasControl('axisControl');

isBrotherOf(object) → {Boolean}

判断该物体是否为某物体的兄弟

Parameters:
Name Type Description
object THING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

isChildOf(parent) → {Boolean}

判断该物体是否为某物体的孩子

Parameters:
Name Type Description
parent THING.BaseObject

物体

Inherited From:
Overrides:
Returns:
Type
Boolean

lookAt(target, params)

设置物体观察朝向

Parameters:
Name Type Description
target Array.<Number> | THING.BaseObject | THING.CameraController

世界坐标下某坐标、某物体或者摄像机,设为 null 时表示取消观察

params Array.<Number> | Object

参数列表

Properties
Name Type Argument Description
angles Array.<Number> <optional>

叠加的修正值

lockYAxis Boolean <optional>

是否锁定 Y 轴

always Boolean <optional>

是否一直朝向观察物体

Inherited From:
Overrides:
Example
//让物体面向[0,1,0],该坐标是在世界坐标下位置
obj.lookAt([0,1,0])
//让物体一直面向摄影机
obj.lookAt(app.camera)
//让物体一直面向一个物体
obj.lookAt(obj2)
//让物体一直面向一个物体,同时物体沿自身Y轴向再旋转90度
obj.lookAt(obj2,[0,90,0])
//取消lookAt功能
obj.lookAt(null)

movePath(params)

沿指定路径移动

Parameters:
Name Type Description
params Object
Properties
Name Type Argument Description
path Array.<Number>

路径,由世界坐标系下的坐标点组成

orientToPath Boolean <optional>

物体方向是否沿路径方向

orientToPathDegree Number <optional>

相对于路径方向的角度旋转值

time Number <optional>

沿路径移动的时间(毫秒)

local Boolean <optional>

输入的坐标是否相对于父物体的位置(默认false), 否则路径为世界坐标

delayTime Number <optional>

延时执行时间(毫秒)

lerpType THING.LerpType <optional>

插值类型

loopType String <optional>

循环类型,默认为 no

update function <optional>

移动中的回调

complete function <optional>

移动完成时的回调

Inherited From:
Overrides:
Example
// 世界坐标系下坐标点构成的数组 关于坐标的获取 可利用「工具」——>「拾取场景坐标」
var path = [[0, 0, 0], [20, 0, 0], [20, 0, 10], [0, 0, 10], [0, 0, 0]];
obj.movePath({
  orientToPath: true, // 物体移动时沿向路径方向
  path: path, // 路径坐标点数组
  time: 5 * 1000, // 路径总时间 毫秒
  delayTime: 1000, // 延时 1s 执行
  lerpType: null, // 插值类型(默认为线性插值)此处设置为不插值
  complete: function (ev) {
    THING.Utils.log(ev.object.name + "移动结束")
  }
});

moveTo(params)

移动到某位置 或 某物体对象

Parameters:
Name Type Description
params Object
Properties
Name Type Argument Description
position Array.<Number> | THING.BaseObject

目标位置(世界坐标系下绝对位置) 或 物体对象

orientToPath Boolean <optional>

是否朝向目标方向

loopType String <optional>

循环类型,默认为 no

time Number <optional>

完成移动的时间(毫秒)

offsetPosition Array.<Number> <optional>

相对于当前位置的移动偏移量(与 position 选填其一)

complete function <optional>

移动完成时的回调,仅当 loopType 为 no 时才有回调

Inherited From:
Overrides:
Example
// 移动到世界坐标系下 [0,0,10] 处位置
obj.moveTo([0, 0, 10]);
// 3s 移动到世界坐标系下原点位置 [0,0,0]
obj.moveTo({
  position: [0,0,0],
  time: 3000,
  orientToPath: true,// 朝向目标方向
  complete:function(ev) {
    THING.Utils.log(ev.object.name + '移动完成');
  }
});
// 2s 向前移动 10m
obj.moveTo({
  offsetPosition: [0, 0, 10], // 相对自身 向前移动 10m
  time: 2 * 1000,
  orientToPath: true,
  complete: function (ev) {
    THING.Utils.log(ev.object.name + '移动完成');
  }
});

off(eventType, condition, callback)

移除事件绑定

Parameters:
Name Type Description
eventType String

事件类型名称

condition String

物体类型选择条件

callback function | String

事件触发的回调函数 或 事件标签(tag)

Inherited From:
Overrides:
Example
// 移除所有 Click 事件的绑定
obj.off('click');
// 移除对物体下 Marker 子物体的 Click 事件绑定
obj.off('click','.Marker');
// 移除标记为某个事件标签的事件绑定,如果绑定(on)时没写条件,则第二个参数需填写 null
obj.off('click','.Marker','我的点击事件01')
obj.off('click',null,'我的点击事件02')

on(eventType [, condition] [, userData], callback [, tag] [, priority])

绑定事件

Parameters:
Name Type Argument Description
eventType String

事件类型名称

condition String <optional>

物体类型选择条件,用于筛选子物体

userData Object <optional>

事件传递自定义数据

callback function

事件触发的回调函数

tag String <optional>

事件标签

priority Number <optional>

优先级(默认值 50 ),数值越大优先级越高,越先响应

Inherited From:
Overrides:
Example
// 绑定 Click 事件
obj.on('click',function(ev){
  THING.Utils.log(ev.object.name);
})
// 给物体下的所有 Marker 类型孩子,绑定 Click 事件
obj.on('click','.Marker',function(ev){
   THING.Utils.log(ev.object.name);
})
// 设置事件标签 tag
obj.on('click','.Marker',function(ev){
  THING.Utils.log(ev.object.name);
},'我的点击事件01');
// 设置事件优先级
obj.on('click',function(ev){
  THING.Utils.log(ev.object.name);
},'我的点击事件02',51)
// 填写 userData 传递参数
obj.on('click', { color: '#ff0000' }, function (ev) {
  var color = ev.data.color;
  THING.Utils.log(color)
});

one(eventType [, condition] [, userData], callback [, tag] [, priority])

绑定事件(只触发一次)

Parameters:
Name Type Argument Description
eventType String

事件类型名称

condition String <optional>

物体类型选择信息

userData Object <optional>

事件传递自定义数据

callback function

事件触发的回调函数

tag String <optional>

事件标签

priority Number <optional>

优先级,数值越大优先级越高

Inherited From:
Overrides:

pauseEvent(eventType [, condition] [, tag])

暂停事件响应

Parameters:
Name Type Argument Description
eventType THING.EventType | String

事件名称

condition String <optional>

物体类型选择条件

tag String <optional>

事件标签

Inherited From:
Overrides:

query(param [, recursive]) → {THING.Selector}

在子物体中查询(不包括自己)

Parameters:
Name Type Argument Default Description
param String

查询条件

recursive Boolean <optional>
true

是否递归查询所有子物体, 默认true

Inherited From:
Overrides:
Returns:

查询结果

Type
THING.Selector
Example
// 查询名称为 car01 的子物体
obj.query('car01');
// 查询类型为 Marker 的子物体
obj.query('.Marker');
// 查询id为 001 的子物体
obj.query('#001');
// 根据自定义属性值筛选子物体
obj.query('[userData/power=40]');
// 根据正则表达式匹配 name 中包含 'car' 的子物体
obj.query(/car/);
// 上行代码等同于
// var reg = new RegExp('car');
// var cars=app.query(reg);

remove(object)

移除子物体

Parameters:
Name Type Description
object THING.BaseObject

物体

Inherited From:
Overrides:

removeAllControls()

删除该物体的所有控件

Inherited From:
Overrides:

removeControl(control)

删除控件

Parameters:
Name Type Description
control Object | String

控件或控件自定义名称

Inherited From:
Overrides:
Example
var control = obj.removeControl('axisControl');

resumeEvent(eventType [, condition] [, tag])

恢复事件响应

Parameters:
Name Type Argument Description
eventType THING.EventType | String

事件名称

condition String <optional>

物体类型选择信息

tag String <optional>

事件标签

Inherited From:
Overrides:

rotate(angle, axis)

让物体以自身坐标系下指定坐标轴旋转(默认 Y 轴)

Parameters:
Name Type Description
angle Number

旋转角度值

axis Array.<number>

方向轴,默认为物体 Y 轴方向

Inherited From:
Overrides:
Example
// 绕自身 Y 轴旋转45度,等同于 obj.rotateY(45)
obj.rotate(45);
// 绕自身 X 轴旋转30度,等同于 obj.rotateX(30)
obj.rotate( 30, [1,0,0])
// 绕自身 Z 轴向旋转-45度,等同于 obj.rotateZ(-45)
obj.rotate( -45, [0,0,1])

rotateAround(params)

绕某点或某物体旋转

Parameters:
Name Type Description
params Object

参数列表

Properties
Name Type Argument Description
object THING.BaseObject <optional>

围绕某物体

target Array.<Number> <optional>

围绕世界坐标系下某位置点

angle Number <optional>

水平旋转角度

time Number <optional>

旋转时间(毫秒)

speed Number <optional>

速度 (与 time 选填其一)

loopType String <optional>

循环类型

complete function <optional>

旋转结束时的回调函数,仅当 loopType 为 no 时才有回调

Inherited From:
Overrides:
See:
Example
// obj2 绕着 obj1 旋转360度,2s转完
obj2.rotateAround({
  object: obj1,
  angle:360,
  time:2000,
  loopType:THING.LoopType.No,
  complete:function(){
    THING.Utils.log('finish')
  }
})
// obj 绕着 世界坐标系下的原点旋转360度,2s转完
obj.rotateAround({
  target: [0,0,0],
  angle:360,
  time:2000,
  loopType:THING.LoopType.No,
  complete:function(){
    THING.Utils.log('finish')
  }
})

rotateTo(params)

在一段时间内物体旋转一定角度

Parameters:
Name Type Description
params Object

参数列表

Properties
Name Type Argument Description
angles Array.<number>

旋转角度

time Number <optional>

完成旋转的时间(毫秒)

speed Number <optional>

旋转速度(与 time 选填其一)

loopType String <optional>

循环类型,默认为 no

lerpType String <optional>

旋转速度插值类型

complete function <optional>

旋转完成时的回调函数,仅当 loopType 为 no 时有回调

Inherited From:
Overrides:
Example
// 物体绕 Y 轴旋转 90 度,5s 转完
obj.rotateTo({
  angles: [0, 90, 0], // 旋转角度
  time: 5000, // 总时间
  complete: function () {
    THING.Utils.log('rotate complete');  // 旋转结束回调
  }
})

// 物体绕 Y 轴旋转 90 度,5s 变加速转完
obj.rotateTo({
  angles: [0, 90, 0],
  time: 5000,
  lerpType: THING.LerpType.Quadratic.In, // 速度插值
  complete: function () {
    THING.Utils.log('finish')
  }
})

rotateX(value)

绕自身 X 轴旋转

Parameters:
Name Type Description
value Number

旋转角度值

Inherited From:
Overrides:

rotateY(value)

绕自身 Y 轴旋转

Parameters:
Name Type Description
value Number

旋转角度值

Inherited From:
Overrides:

rotateZ(value)

绕自身 Z 轴旋转

Parameters:
Name Type Description
value Number

旋转角度值

Inherited From:
Overrides:

scaleTo(params)

在一段时间内将物体缩放至某比例

Parameters:
Name Type Description
params Object
Properties
Name Type Argument Description
scale Array.<number>

缩放值

time Number <optional>

完成缩放的时间(毫秒)

speed Number <optional>

缩放速度(与 time 选填其一)

lerpType THING.LerpType <optional>

缩放速度插值类型

loopType String <optional>

循环类型,默认为 no

complete function <optional>

缩放完成时的回调

Inherited From:
Overrides:
Example
// 5s 物体缩放至两倍
obj.scaleTo({
  scale: [2,2,2], // 等比例缩放两倍
  time: 5000,
  complete: function () {
    THING.Utils.log('scale completed');  // 缩放结束回调
  }
});
// 缩放循环往复进行
obj.scaleTo({
  scale:[2,2,2],
  time: 2000,
  loopType: THING.LoopType.PingPong // 循环类型:来回往复
})

selfToWorld(localPos [, ignoreScale]) → {Array.<number>}

将物体自身坐标系下的相对位置转换成世界坐标系下的绝对位置

Parameters:
Name Type Argument Default Description
localPos Array.<number>

物体自身坐标系下的相对位置

ignoreScale Boolean <optional>
false

是否忽略缩放系数

Inherited From:
Overrides:
Returns:

世界坐标系下的绝对位置

Type
Array.<number>
Example
// 例如某书柜在三楼的原点(相对位置)
// floor 为三楼楼层对象,返回结果为书柜在世界坐标系下的绝对位置,比如 [5,6,-15]
floor.selfToWorld([0,0,0]);

setAttribute(key, value)

设置属性值

Parameters:
Name Type Description
key String

属性名,可以使用 a/b/c 的路径方式

value *

属性值

Inherited From:
Overrides:
Example
obj.setAttribute("userData/price",50);

setAttributes(attributes [, overwrite])

批量设置属性值

Parameters:
Name Type Argument Default Description
attributes Object

属性列表

overwrite Boolean <optional>
true

是否覆盖原有属性(默认覆盖),如果为 false 表示如果原属性存在,则不会更新属性值

Inherited From:
Overrides:
Example
obj.setAttributes({
  "userData/power": 50,
  "userData/pirce": 60
})

setClipping(planes, spaceType)

设置物体裁剪

Parameters:
Name Type Description
planes Object | Array.<Object>

裁剪平面 { height: {Number} 裁剪平面高度, direction: {Number[]} 裁剪平面方向 }

spaceType SpaceType

裁剪空间,默认为Self

Inherited From:
Overrides:

stopMoving()

停止移动(针对 moveTo 、 movePath)

Inherited From:
Overrides:

stopRotating()

停止旋转动画(停止 rotateTo 、rotateAround )

Inherited From:
Overrides:

stopScaling()

停止缩放动画( scaleTo )

Inherited From:
Overrides:

translate(offset)

相对于自身坐标系进行移动

Parameters:
Name Type Description
offset Array.<Number>

相对于自身坐标系的偏移量

Inherited From:
Overrides:
Example
// 沿 X 轴移动 1m (即 左移 1m)
obj.translate([1,0,0]);
// 沿 Y 轴移动 1m (即 上移 1m)
obj.translate([0,1,0]);
// 沿 Z 轴移动 1m (即 向前移动 1m)
obj.translate([0,0,1]);

trigger(eventType [, ev] [, tag])

触发事件

Parameters:
Name Type Argument Description
eventType THING.EventType | String

事件名称

ev Object <optional>

事件信息,传递回调参数

tag String <optional>

事件标签

Inherited From:
Overrides:
Example
// 触发自定义的告警事件
obj.trigger('Alarm');
obj.on('Alarm',function(ev){
  THING.Utils.log(ev.object.name);
})
// 传递参数
obj.trigger('Alarm',{level:2});
obj.on('Alarm',function(ev){
  THING.Utils.log(ev.level)
})

worldToSelf(worldPos [, ignoreScale]) → {Array.<number>}

将世界坐标系下的绝对位置转换成物体自身的坐标系下的相对位置

Parameters:
Name Type Argument Default Description
worldPos Array.<number>

世界坐标系下的绝对位置

ignoreScale Boolean <optional>
false

是否忽略缩放系数

Inherited From:
Overrides:
Returns:

相对坐标

Type
Array.<number>
Example
// 例如三楼某书柜在世界坐标系下的绝对坐标是 [5,6,-15]
// floor 为三楼楼层对象,返回结果为书柜相对于该楼层的坐标,比如 [0,0,0]
floor.worldToSelf([5,6,-15]);