Extends
Members
是否循环播放
如果为false,则playing设置为true时,会从当前位置播放到最后一个关键点,并停止播放,此时playing属性会自动变成false。 若此属性为true时,播放到最后一个关键点以后,将自动重第一个关键点继续播放。
如果为false,则playing设置为true时,会从当前位置播放到最后一个关键点,并停止播放,此时playing属性会自动变成false。 若此属性为true时,播放到最后一个关键点以后,将自动重第一个关键点继续播放。
-
Default Value:
false,
始终沿着路径方向运动
-
Default Value:
false
是否处于创建状态
设置为true以后,将进入重新创建的状态;此时可以使用鼠标左键在三维窗口中点击来创建路径的关键点,当点击鼠标右键,则表示创建完成。此时该属性会自动变成false。
设置为true以后,将进入重新创建的状态;此时可以使用鼠标左键在三维窗口中点击来创建路径的关键点,当点击鼠标右键,则表示创建完成。此时该属性会自动变成false。
-
Default Value:
false
当前步进距离
指当前播放状态下由第一个关键点沿路径运动到当前位置的长度,单位是米。
当前playing属性为false时,此属性恒定不变;当playing为true,此属性会自动增加。 随着currentD的变化,会实时计算currentPosition、currentRotation这两个属性。 currentPosition指当前位置,currentRotation指当前姿态
指当前播放状态下由第一个关键点沿路径运动到当前位置的长度,单位是米。
当前playing属性为false时,此属性恒定不变;当playing为true,此属性会自动增加。 随着currentD的变化,会实时计算currentPosition、currentRotation这两个属性。 currentPosition指当前位置,currentRotation指当前姿态
-
Default Value:
0
当前相机位置,形式如:[0, 0, 0]
该数组中的元素分别表示经度(单位弧度)、纬度(单位弧度)、高度(单位米)。 注意该属性,为只读属性!
该数组中的元素分别表示经度(单位弧度)、纬度(单位弧度)、高度(单位米)。 注意该属性,为只读属性!
当前相机姿态,形式如:[0, 0, 0]
该数组中的元素分别表示偏航角(单位弧度)、俯仰角(单位弧度)、翻转角(单位弧度)。 注意该属性,为只读属性!
该数组中的元素分别表示偏航角(单位弧度)、俯仰角(单位弧度)、翻转角(单位弧度)。 注意该属性,为只读属性!
当前相机是否可见
当前相机指位于currentPosition处的一个相机。
此属性,主要用来显示当前播放的位置,方便调试。
注意:当设置cameraAttached为true时,务必手动将此属性设置为false。否则相机绑定以后,会发现前方有一个物体遮挡整个画面!
当前相机指位于currentPosition处的一个相机。
此属性,主要用来显示当前播放的位置,方便调试。
注意:当设置cameraAttached为true时,务必手动将此属性设置为false。否则相机绑定以后,会发现前方有一个物体遮挡整个画面!
-
Default Value:
false
当前播放速度,单位为米/秒。
注意,此属性可以实时修改,修改后的速度立即生效,所以可以动态修改路径上物体的前进速度!
注意,此属性可以实时修改,修改后的速度立即生效,所以可以动态修改路径上物体的前进速度!
-
Default Value:
50.0,
用来临时存储客户需要的一些信息,方便使用
- Inherited From:
- Default Value:
''
销毁时的执行语句,只有在对象销毁时才会执行,方便用来清理随该对象创建时附带创建的资源
有一个内置变量p,表示当前对象。 注意对象的销毁除了使用destroyEvalString,还可以使用
有一个内置变量p,表示当前对象。 注意对象的销毁除了使用destroyEvalString,还可以使用
disposers
属性来销毁。
- Inherited From:
- Default Value:
''
See:
用来收集资源销毁函数,并在析构时自动调用!
- Inherited From:
Example:
// 示例1:
myObject.disposers.push(() => {
// 此处执行需要销毁的资源
});
// 示例2:
// XE.MVVM.bind的返回值是一个函数,作用是用来解除双向绑定,
// 把它的返回值放到disposer中,那么对象销毁时就会执行解绑操作。
myObject.disposers.push(XE.MVVM.bind(xxx));
// 示例3:
// XE.MVVM.watch的返回值是一个函数,作用是用来取消监视,
// 把它的返回值放到disposer中,那么对象销毁时就会执行取消监视的操作。
myObject.disposers.push(XE.MVVM.watch(xxx));
readonlyearth : Earth
返回该对象的所属earth实例
- Inherited From:
是否处于编辑状态
设置为true以后,将进入重新创建的状态;此时可以使用鼠标左键在三维窗口中选取需要修改路径的关键点,当点击鼠标右键,则表示编辑完成。此时该属性会自动变成false。
设置为true以后,将进入重新创建的状态;此时可以使用鼠标左键在三维窗口中选取需要修改路径的关键点,当点击鼠标右键,则表示编辑完成。此时该属性会自动变成false。
-
Default Value:
false
是否启用
- Inherited From:
设置执行语句,
内部有一个内置的变量p,用来指示当前对象。
注意evalString每次进行属性设置都会执行一遍,如果evalString中有创建资源,资源需要记录,避免再次执行后销毁不了。
内部有一个内置的变量p,用来指示当前对象。
注意evalString每次进行属性设置都会执行一遍,如果evalString中有创建资源,资源需要记录,避免再次执行后销毁不了。
- Inherited From:
- Default Value:
''
Example:
myObject.evalString = `
// 技巧1:p是一个内置变量,可以直接使用
if (p._div) { // 技巧2:evalString有可能执行多次,这个地方的判断是避免div重复创建!
return;
}
// 创建div
const div = document.createElement('div');
p._div = div;
// 技巧3:可以通过p.earth来获取earth变量
const earth = p.earth;
`;
See:
对象的唯一标识符
注意,对象一旦创建,guid不可更改!
注意,对象一旦创建,guid不可更改!
- Inherited From:
当前路径的总长
注意当loop设置true和false时,即使关键点没有变化,但是总长是会变化的。
因为loop为true时,首末关键点会相连,这一段距离也会考虑到路径总长中。
注意当loop设置true和false时,即使关键点没有变化,但是总长是会变化的。
因为loop为true时,首末关键点会相连,这一段距离也会考虑到路径总长中。
是否为环线
-
Default Value:
false
是否循环播放
如果为false,则playing设置为true时,会从当前位置播放到最后一个关键点,并停止播放,此时playing属性会自动变成false。 若此属性为true时,播放到最后一个关键点以后,将自动重第一个关键点继续播放。
如果为false,则playing设置为true时,会从当前位置播放到最后一个关键点,并停止播放,此时playing属性会自动变成false。 若此属性为true时,播放到最后一个关键点以后,将自动重第一个关键点继续播放。
-
Default Value:
false,
是否处于播放状态
如果属性值为true,则所有'current'开头的相关属性会动态发生变化。 可以通过手动设置为false,来结束播放状态。 当loopPlay属性为false时,playing属性会在路径播放到最后一个关键点的位置时,自动变为false。
如果属性值为true,则所有'current'开头的相关属性会动态发生变化。 可以通过手动设置为false,来结束播放状态。 当loopPlay属性为false时,playing属性会在路径播放到最后一个关键点的位置时,自动变为false。
-
Default Value:
false
设置每帧执行语句,和evalString的作用类似
它有三个内置变量,分别是p, scene, time,分别表示当前对象,Cesium的场景对象scene,Cesium的当前帧的时间time 需要注意的是它会每帧执行一次。
它有三个内置变量,分别是p, scene, time,分别表示当前对象,Cesium的场景对象scene,Cesium的当前帧的时间time 需要注意的是它会每帧执行一次。
- Inherited From:
- Default Value:
‘’
Example:
myObject.preUpdateEvalString = `
// 技巧1:p是一个内置变量,可以直接使用,还有scene,time都可以直接使用
p._angle += 1;
if (p._angle > 360.0) {
p._angle = 0.0;
}
const angle = p._angle;
// drawCanvas时使用angle来改变图像内容
// ...
`;
See:
显示路径
-
Default Value:
true
显示方向
-
Default Value:
true
是否显示辅助线框
-
Default Value:
false
曲线分段数
-
Default Value:
100
是否处于指定所有关键点相机的目标的状态
设置为true以后,所有关键点相机都会同时旋转,指向目标点。鼠标左键点击以后,该属性会自动变为false。 注意:关键点相机状态需要开启showDirection属性以后,才能方便观察!
设置为true以后,所有关键点相机都会同时旋转,指向目标点。鼠标左键点击以后,该属性会自动变为false。 注意:关键点相机状态需要开启showDirection属性以后,才能方便观察!
-
Default Value:
false
- Inherited From:
Deprecated: true
获取对象的类型信息
- Inherited From:
Methods
同时给所有关键点增加高度
Name | Type | Description |
---|---|---|
height |
number | 高度,单位米 |
应用当前相机姿态
将该路径的currentPosition和currentRotation设置为相机的position和rotation。
将该路径的currentPosition和currentRotation设置为相机的position和rotation。
销毁对象
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
Returns:
返回undefined
- Inherited From:
Example:
// 使用范例
// 这样写的好处是,一旦对象销毁,会同时将引用该对象的变量同时置为undefined,防止再次使用。
this._myObject = this._myObject && this._myObject.destroy();
自动延沿路径计算关键点的姿态
注意:如果不设置参数,从修改所有关键点的姿态。
includeIndex是一个数组,囊括所有需要计算的关键点的索引。
注意:如果不设置参数,从修改所有关键点的姿态。
includeIndex是一个数组,囊括所有需要计算的关键点的索引。
Name | Type | Description |
---|---|---|
includeIndex |
Array.<number> | undefined | 索引数组,如果有值,则指只处理includeIndex有的索引,如果无值,则全部处理 |
根据索引值为first和last的关键点的姿态,对first和last之间的关键点自动进行插值处理。
这样操作,可以做到自动进行相机姿态的平滑。
如果参数不写,则自动根据首末关键点的姿态插值中间所有关键点的姿态。
注意:first务必小于last
这样操作,可以做到自动进行相机姿态的平滑。
如果参数不写,则自动根据首末关键点的姿态插值中间所有关键点的姿态。
注意:first务必小于last
Name | Type | Default | Description |
---|---|---|---|
first |
number | undefined |
0
|
第一个索引 |
last |
number | undefined | 最后一个索引 |
飞入该对象
- Inherited From:
检查对象是否已被销毁
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
Returns:
对象是否已销毁
- Inherited From:
将所有关键点的方向指向target所在位置
Name | Type | Description |
---|---|---|
target |
Array.<number> | 用来表示观察位置,包含三个元素的数组,分别表示经度、纬度、高度 |
includeIndex |
Array.<number> | 索引数组,如果有值,则指只处理includeIndex有的索引,如果无值,则全部处理 |
数据整个JSOn对象,包括默认值
Returns:
创建的JSON数据对象
- Inherited From:
转化成JSON字符串,输出全部元素
Returns:
JSON格式化好的字符串
- Inherited From:
转化成一个JSON数据对象
注意:每次都会创建一个新对象!
注意:每次都会创建一个新对象!
Returns:
创建的JSON数据对象
- Inherited From:
转化成JSON字符串,默认元素不输出
Returns:
JSON格式化好的字符串
- Inherited From:
通过JSON数据对象来设置属性
Name | Type | Description |
---|---|---|
jsonObject |
* |
- Inherited From:
Example:
// 创建一个pin对象
const objConfig = {
"name": 'Pin1',
"xbsjType": "Pin",
"position": [1.9017005694855162, 0.5972477268978722, 488.7695178987821],
"near": 300,
"show": false,
evalString,
};
const pin = new XE.Obj.Pin(earth);
pin.xbsjFromJSON(objConfig);