Name | Type | Description |
---|---|---|
czmObject |
object | earth实例 |
Example:
// 节点创建方法1(直接通过JSON配置创建节点):
{
const leafConfig = {
"ref": 'pin1',
"czmObject": {
"name": 'Pin1',
"xbsjType": "Pin",
"position": [1.9017005694855162, 0.5972477268978722, 488.7695178987821],
"near": 300,
},
};
earth.sceneTree.root.children.push(leafConfig);
var pin = earth.sceneTree.$refs.pin1.czmObject;
return pin;
}
节点创建方法2(先创建节点,然后再加入场景树):
{
const objConfig = {
"name": 'Pin1',
"xbsjType": "Pin",
"position": [1.9017005694855162, 0.5972477268978722, 488.7695178987821],
"near": 300,
};
const pin = new XE.Obj.Pin(earth);
pin.xbsjFromJSON(objConfig);
// XE.SceneTree.Leaf是场景树的叶子节点类
earth.sceneTree.root.children.push(new XE.SceneTree.Leaf(pin));
return pin;
}
Extends
Members
获取指定节点
使用方法类似Vue,创建节点时,只需要增加ref属性,以后就可以通过$refs查询到该节点
使用方法类似Vue,创建节点时,只需要增加ref属性,以后就可以通过$refs查询到该节点
Example:
{
const leafConfig = {
"ref": 'pin1',
"czmObject": {
"name": 'Pin1',
"xbsjType": "Pin",
"position": [1.9017005694855162, 0.5972477268978722, 488.7695178987821],
"near": 300,
},
};
earth.sceneTree.root.children.push(leafConfig);
// 注意这样获取到的是Leaf类型的对象,即叶子节点,并不是叶子节点下挂接的czmObject对象!
var pinNode = earth.sceneTree.$refs.pin1;
// 增加.czmObject,才能获取到节点下挂接的对象!
var pin = earth.sceneTree.$refs.pin1.czmObject;
return pin;
}
用来收集资源销毁函数,并在析构时自动调用!
- 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));
获取Earth对象
Methods
加入一个sceneNode,如果有当前选中节点,则优先加在选中节点处。
Name | Type | Description |
---|---|---|
sceneNode |
SceneTree.Group | SceneTree.Leaf | sceneNode对象,类型要么是Group,要么是Leaf。 |
销毁对象
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
Returns:
返回undefined
- Inherited From:
Example:
// 使用范例
// 这样写的好处是,一旦对象销毁,会同时将引用该对象的变量同时置为undefined,防止再次使用。
this._myObject = this._myObject && this._myObject.destroy();
检查对象是否已被销毁
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
Returns:
对象是否已销毁
- Inherited From:
数据整个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);