ModelInstanceCollection

new GisEye.ModelInstanceCollection(options)

模型批量实例化加载的对象,会自动根据给定的模型状态进行分组进行实例化加载模型,适用于大量的同样的模型 只是在表现形式(位置、朝向、缩放大小、颜色)上不同的加载

Name Type Description
options Object

初始化对象

Name Type Default Description
url string optional

模型网络地址,gltf和url参数只能设置一个

gltf Object | ArrayBuffer | Uint8Array optional

模型对象,gltf和url参数只能设置一个

show Boolean true optional

设置模型是否显示

allowPicking Boolean true optional

设置是否可以被选中

instanceMaxModelCount Number 1000 optional

设置单个实例最大的承载的模型容量,设置合适的数值能提高渲染效率

Example:
var collection=new GisEye.ModelInstanceCollection({
            url:ur1
          });
    collection.addModelState(new GisEye.ModelState({
      position:Cesium.Cartesian3.fromDegrees(position1.lng,position1.lat,position1.height),
      scale:new Cesium.Cartesian3(10,10,10)
    }))
    collection.addModelState(new GisEye.ModelState({
      position:Cesium.Cartesian3.fromDegrees(position1.lng,position1.lat,position1.height+120),
      scale:new Cesium.Cartesian3(20,10,30)
    }))
    collection.addModelState(new GisEye.ModelState({
      position:Cesium.Cartesian3.fromDegrees(position1.lng,position1.lat,position1.height+50),
      scale:new Cesium.Cartesian3(10,10,10),
      color:Cesium.Color.RED
    }))
    collection.addModelState(new GisEye.ModelState({
      position:Cesium.Cartesian3.fromDegrees(position1.lng,position1.lat,position1.height+80),
      scale:new Cesium.Cartesian3(10,10,10),
      color:Cesium.Color.GREEN
    }))
    collection.readyPromise.then(p=>{
      console.log(p)
    })
    viewer.scene.primitives.add(collection)
See:

Members

allowPicking

获取和设置是否可被选中

ready

是否初始化完成

readyPromise

初始化promise

show

获取和设置是否显示模型

Methods

addModelState(modelState)ModelInstanceCollection

添加模型

Name Type Description
modelState ModelState

模型状态信息

Returns:

destroy()

销毁对象,如果是添加到scene的primtiives中通过remove移除后会自动调用此方法,否则手动调用此方法用于销毁对象

findState(filterFunc)Object

根据属性查找模型,这里只会找到第一个符合结果的模型对象

Name Type Description
filterFunc function

属性过滤函数

Returns:

返回模型对象以及相关的父级对象

getBoundingSphere()

获取当前的外包球

isDestroyed()boolean

判断对象是否

Returns:

是都被销毁 ,true为已销毁,反之则没被销毁

releaseAllInstance()

释放所有实例

reload()

重新加载所有实例

removeModelState(modelState)ModelInstanceCollection

移除模型状态即移除模型的显示

Name Type Description
modelState ModelState

要移除的模型状态对象

Returns:

removeModelStates(modelStates)ModelInstanceCollection

批量移除模型状态

Name Type Description
modelStates Array.<ModelState>

需要移除的模型状态

Returns:

setModelStates(modelStates)ModelInstanceCollection

批量设置要加载模型的状态信息,调用此方法会清除之前的状态信息

Name Type Description
modelStates Array.<ModelState>

模型状态的数组对象

Returns:

updateModelState(modelState)ModelInstanceCollection

更新模型的状态信息

Name Type Description
modelState ModelState

模型状态信息

Returns:

updateModelStates(modelStates)ModelInstanceCollection

批量更新模型的状态信息

Name Type Description
modelStates Array.<ModelState>

批量模型状态信息

Returns: