ModelInstanceManager

new GisEye.ModelInstanceManager(options)

模型实例化的管理接口类,可以对多种不同路径的不同模型进行调度管理和控制 ModelInstanceManager

Name Type Description
options Object

初始化参数

Name Type Default Description
show boolean false optional

是否显示

See:

Members

readyPromise

获取是否加载完成Promise

show

设置和获取是否显示

Methods

addModelSates(modelUrl, modelStates, options)ModelInstanceCollection

添加模型实例

Name Type Description
modelUrl string

模型路径

modelStates ModelState

模型加载的参数

options Object

初始化实例模型的参数

Returns:

返回加载模型的实例集合

destroy()

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

findState(filterFunc)ModelState|undefined

根据模型属性信息查找模型对象

Name Type Description
filterFunc function

根据属性过滤查找模型对象

Returns:

返回查找到的模型数据对象

getBoundingSphere()

获取当前的外包盒,获取的值开会是变化的,因为随着场景的移动,显示模型的会有变化

isDestroyed()boolean

判断对象是否

Returns:

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

releaseCollection()

释放所有模型实例集合

releaseCollectionByUrl(modelUrl)

根据模型路径释放对应集合的实例,需要注意的是这里并没有移除掉该集合只是将集合内的所有实例释放 现象上是该集合中的所有模型被移除了

Name Type Description
modelUrl string

指定的模型路径

reload()

重新加载所有实例集合,模型会先移除然后再次显示

reloadCollectionByUrl(modelUrl)

根据模型路重新加载对应集合的实例,这里会先释放集合然后从新加载

Name Type Description
modelUrl string

指定的模型路径

removeAll()

移除所有模型实例集合

removeHighlight()

移除模型的高亮,这个主要是用在点选模型的时候用到

removeInstanceCollection(modelUrl)

根据指定的模型路径移除实例集合

Name Type Description
modelUrl string

指定的模型路径

removeModelStates(modelUrl, modelStates)

根据模型路径和模型对象移除模型

Name Type Description
modelUrl string

模型路径

modelStates Array | ModelState

需要移除的模型

setHighLight(collection, state)

设置高亮

Name Type Description
collection ModelInstanceCollection

模型所在实例集合

state ModelState

模型对象

updateModelStates(modelUrl, modelStates)

根据模型的路径和模型对象更新模型

Name Type Description
modelUrl string

模型的路径

modelStates Array | ModelSy-tate

需要更新的模型对象