1. 外部构件节点信息

位于:BOS3D.ExternalObjectNodeInfo

1.1. 属性

1.1.1. type

  • ExternalObjectNodeInfoType 类型

1.1.2. nodeId

-

1.1.3. matrix

1.1.4. center

  • 记录中心位置,因为构件的中心点不一定是原点,因此升版之后可能不在原来的位置,需要根据这个值来定位到原来位置

1.1.5. modelKey

  • type=ExternalObjectNodeInfoType.model 时候有效

1.1.6. componentKey

  • ExternalObjectNodeInfoType.component 时候有效

1.1.7. componentsKey

  • type=ExternalObjectNodeInfoType.components 时候有效

1.1.8. children

  • type=ExternalObjectNodeInfoType.group 时候有效

2. 外部构件转换器 ExternalObjectConverter

位于:BOS3D.ExternalObjectConverter

  • 外部构件:由外部添加进来的模型、构件、mesh 等,统称为外部构件,区别于场景中模型的构件;
  • 节点(node):外部构件添加到场景后,视为场景里的一个节点,由 viewer 生成并持有,每个节点都有唯一标识,由本模块负责生成,所有在场景中的操作(如变换)都是根据这个节点标识进行的

2.1. 类声明

表示一个转换器

名称 说明 类型 是否必须 示例
host 数据的来源,一般为 BOS3D 服务端的地址 字符串 String "https://bos3d.bimwinner.com"
projectUrl 项目 key 字符串 String "1232"
accessToken 用户令牌 字符串 String "1232"

示例

var eoc = new BOS3D.ExternalObjectConverter(host, projectUrl, accessToken);

2.2. 属性

2.3. 方法

2.3.1. getExternalObjectByModelKey

加载模型数据,并组织成 THREE.Group 对象,模型中的每个构件构成其 children

名称 说明 类型 是否必须 示例
modelKey 模型的 key 字符串 String "M123"
返回值说明 类型 示例
返回 Promise 对象,成功回调参数为 THREE.Group 对象,失败参数表示失败原因 Promise null

调用方式:

/**
 * 加载模型数据,并组织成THREE.Group对象,模型中的每个构件构成其children
 * @function getExternalObjectByModelKey
 * @param { string }  modelKey 模型的key
 * @return { Promise } 返回Promise对象,成功回调参数为THREE.Group对象,失败参数表示失败原因
 */
var promise = eoc.getExternalObjectByModelKey("M123");
promise.then((group) => {
    console.log(group);
});

demo 示例

示例名称 示例地址
加载单个模型 去体验

2.3.2. getExternalObjectByComponentKey

加载构件数据,并组织成 THREE.Mesh 对象

名称 说明 类型 是否必须 示例
componentKey 构件 key 字符串 String "M123_456"
返回值说明 类型 示例
返回 Promise 对象,成功回调参数为 THREE.Group 对象,失败参数表示失败原因 Promise null

调用方式:

/**
 * 加载构件数据,并组织成THREE.Mesh对象
 * @function getExternalObjectByComponentKey
 * @param { string }  componentKey 构件key
 * @return { Promise } 返回Promise对象,成功回调参数为THREE.Mesh对象,失败参数表示失败原因
 */
var promise = eoc.getExternalObjectByComponentKey("M123_456");
promise.then((mesh) => {
    console.log(mesh);
});

demo 示例

示例名称 示例地址
加载单个构件 去体验

2.3.3. getExternalObjectByComponentsKey

加载构件数据,并组织成 THREE.Mesh 对象

名称 说明 类型 是否必须 示例
componentKeys 构件 key 数组 字符串数组 array "M123_456"
返回值说明 类型 示例
返回 Promise 对象,成功回调参数为 THREE.Group 对象,失败参数表示失败原因 Promise null

调用方式:

/**
 * 加载模型数据,并组织成THREE.Group对象,所有构件构成其children
 * @function getExternalObjectByComponentsKey
 * @param { array }  componentKeys 构件key数组
 * @return { Promise } 返回Promise对象,成功回调参数为THREE.Group对象,失败参数表示失败原因
 */
var promise = eoc.getExternalObjectByComponentsKey(["M123_456"]);
promise.then((group) => {
    console.log(group);
});

demo 示例

示例名称 示例地址
加载多个构件 去体验

2.3.4. getExternalObjectByNodeInfo

加载模型数据,并组织成 THREE.Group 对象,模型中的每个构件构成其 children。nodeInfo 的样例数据可以调用 eoc.testData()方法获取

名称 说明 类型 是否必须 示例
info 节点信息 BOS3D.ExternalObjectNodeInfo "1232"
返回值说明 类型 示例
返回 Promise 对象,成功回调参数为 THREE.Group 对象,失败参数表示失败原因 Promise null

调用方式:

/**
 * 根据节点信息加载数据,根据节点类型,返回不同的对象,可能值有{THREE.Group,THREE.Mesh}
 * @function getExternalObjectByNodeInfo
 * @param { ExternalObjectNodeInfo }  info 节点信息
 * @return {Promise} 返回Promise对象,成功回调参数为THREE.Group对象,失败参数表示失败原因
 */
var promise = eoc.getExternalObjectByNodeInfo({});
promise.then((group) => {
    console.log(group);
});
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-06-27 15:28:06

results matching ""

    No results matching ""