动态图层,一个动态图层可以包含多种类型的模型,每种模型又能包含多个实例,每个实例以一定刷新间隔更新状态信息
DynamicObjectState
,从而达到动态效果。
Name | Type | Description |
---|---|---|
context |
Context | webgl context对象。 |
urls |
Array | 模型url数组。 |
Example:
var uls = ['model1.s3m','model2.s3m'];
var layer = new DynamicLayer3D(context,urls);
scene.primitives.add(layer);
Members
-
设置是否支持模型局部偏移(模型自带偏移矩阵)。
-
获取动态图层的所有模型分组集合{url:object}。
-
获取或者设置动态图层的最大可见高度。
-
获取该图层类型标识。
-
获取或者设置动态图层的刷新间隔时间,单位ms。
-
获取或者设置动态图层的可见性。
Methods
-
清除该动态图层所有动态实例对象的状态信息,在下次更新状态之前,所有动态实例都不被渲染。
Example:
layer.clearAllState();
-
根据模型url和动态实例ID,清除该类型模型指定ID的动态实例的状态信息,下次更新状态之前,该实例不被渲染。
Name Type Description url
String 模型url。 ids
Array 动态实例ids。 Example:
layer.clearState('ship.s3m',[1]);
-
删除该动态图层所有动态实例对象,在下次更新状态之前,所有动态实例都不被渲染。
Example:
layer.deleteAllObjects();
-
根据模型url和动态实例ID,删除指定类型的对应ids的实例对象,下次再次更新相同id的状态,将不会在渲染对应id的对象。
Name Type Description url
String 模型url。 ids
Array 动态实例ids。 Example:
layer.deleteObjects('ship.s3m',[1]);
-
释放webgl资源。
一旦释放对象资源, 它将不能被使用;调用任何方法将会抛出
DeveloperError
异常。Returns:
- DynamicLayer3D#isDestroyed
Example:
layer = layer && layer.destroy();
See:
-
获取是否开启单双面渲染。
Name Type Description url
String 模型url。 Returns:
是否开启单双面渲染。 -
设置是否开启单双面渲染。
Name Type Description url
String 模型url。 enabled
boolean 是否开启单双面渲染。 -
根据动态图层的url设置url对应的模型实例是否可选。
Name Type Description url
String 动态图层的url。 enable
Boolean 其值为true时可选,为false时不可选。 -
取消所有实例的选中状态
-
根据url设置该图层下指定模型类型的所有实例的可见性。
Name Type Description modelUrl
String 模型url(指定模型类型)。 isVisible
Boolean 是否可见。 Example:
//设置model.s3m类型的所有实例不可见。 layer.setVisibleByUrl('model.s3m',false);
-
根据指定模型类型(url)更新对象状态信息。
Name Type Description url
String 模型类型url。 arrStates
Array 状态信息(DynamicObjectState)数组。 Example:
//更新model.s3m类型实例的状态信息 var states = []; states.push(new DynamicObjectState({id : 1,longitude : 100,latitude : 10})); states.push(new DynamicObjectState({id : 2,longitude : 101,latitude : 11})); layer.updateObjectWithModel('model.s3m',states);
See: