Model

模型

new YS.Model(options)

模型
Name Type Description
options Object 对象有下面这些属性:
Name Type Default Description
id String optional 模型的唯一标识. 如果为空, GUID自动生成.
name String optional 模型名称
category String "" optional 模型分组
url String 模型地址
longitude Number 模型所在地理坐标的经度
latitude Number 模型所在地理坐标的纬度
altitude Number 0 optional 模型距离地面的高度
scale Number 1 optional 模型在原基础上的缩放系数
pitch Number 0 optional 模型Y轴旋转角度
heading Number 0 optional 模型Z轴旋转角度
roll Number 0 optional 模型X轴旋转角度
scaleX Number 1 optional 模型X轴缩放系数
scaleY Number 1 optional 模型Y轴缩放系数
scaleZ Number 1 optional 模型Z轴缩放系数
allowSelected Boolean true optional 是否允许模型选中
selectedColor Object {r: 1,g: 0.6, b: 0,a: 1} optional 模型选中时模型颜色
minDisplayAltitude Number Number.MIN_VALUE optional 模型显示最小视角高度
maxDisplayAltitude Number Number.MAX_VALUE optional 模型显示最大视角高度
icon String optional 模型缩略图
color Object {r: 1,g: 1,b: 1,a: 1} optional 定义与模型的混合颜色,默认白色
colorBlendMode ColorBlendMode ColorBlendMode.HIGHLIGHT optional 定义颜色与模型的混合方式
colorBlendAmount Number 0.5 optional 当colorBlendMode为ColorBlendMode.MIX时,模型颜色与目标颜色混合强度,范围[0 ~ 1]之间
silhouetteColor Object {r: 1,g: 0,b: 0,a: 1} optional 模型的边框颜色
silhouetteSize Number 0 optional 模型边框大小
flattenEnable Boolean false optional 是否开启压平功能
flattenHeight Number 0.0 optional 压平高度
flattenSide Boolean true optional 压平区域外还是区域内(true代表区域内,false代表区域外)
flattenPolygon Array.<XYZ> optional 压平的区域, 相对模型位置的模型坐标区域([{x: ,y: ,z: }, {x: ,y: ,z: }, {x: ,y: ,z: }])
cutEnable Boolean false optional 是否开启裁剪功能
cutSide Boolean true optional 裁剪区域外还是区域内(true代表区域内,false代表区域外)
cutPolygon Array.<XYZ> optional 裁剪的区域, 相对模型位置的模型坐标区域([{x: ,y: ,z: }, {x: ,y: ,z: }, {x: ,y: ,z: }])
waterMarkEnable Boolean false optional 是否开启水印功能
waterMarkAlpha Number 1.0 optional 水印的透明度
waterMarkRect Object optional 水印的区域{x: ,y: ,z: ,w: }(x代表左边界,y代表下边界,z代表右边界,w代表上边界, 如{x: -10, y: -5, z: 5, w: 10})
waterMarkImage String optional 水印的图片地址
Implements:
Example:
//定义Model
var model = new YS.Model({
                 name: 'house',
                 url: 'http://ys.infoearth.com:9090/Model/md.gltf',
                 longitude: 114,
                 latitude: 30,
                 altitude: 400
             });

Members

allowSelected : Boolean

获取或设置模型是否可以选中

animations : ModelAnimationCollection

模型动画

readonlyboundingSphere : BoundingSphere

获取模型的边界球, 模型开始加载后使用
Implements:

color : Object

获取或设置模型的混合颜色
Default Value: {r: 1,g: 1,b: 1,a: 1}

colorBlendAmount : Number

获取或设置模型颜色与目标颜色混合强度, 范围[0 ~ 1]之间
Default Value: 0.5

colorBlendMode : ColorBlendMode

获取或设置颜色与模型的混合方式 ColorBlendMode.HIGHLIGHT将模型自身颜色乘以目标颜色, ColorBlendMode.REPLACE将模型颜色替换为目标颜色, ColorBlendMode.MIX将源颜色和目标颜色混合在一起
Default Value: ColorBlendMode.HIGHLIGHT

protectedcontent : Object

获取模型挂接的内部数据
Implements:

data : Cesium.Model

获取模型底层数据;没有加载完成时返回undefined

icon : String

获取或设置模型缩略图

id : String

获取ModelMaterial的id
Implements:

id : String

获取ModelMesh的id
Implements:

readonlym2wMatrix : Matrix4

获取模型的模型矩阵,没有初始化时返回undefined
Implements:

materials : Array.<ModelMaterial>

获取ModelMesh的所有材质

maxDisplayAltitude : Number

获取或设置模型的最大显示视角

meshName : String

获取ModelMesh的meshName

minDisplayAltitude : Number

获取或设置模型的最小显示视角

moveSpeedX : Number

获取或设置模型向X轴平移的速度(m/s)
To Do:
  • 暂未实现

moveSpeedY : Number

获取或设置模型向Y轴平移的的速度(m/s)
To Do:
  • 暂未实现

moveSpeedZ : Number

获取或设置模型向Z轴平移的的速度(m/s)
To Do:
  • 暂未实现

name : String

获取ModelMaterial的name
Implements:

nodeName : String

获取ModelMesh的nodeName

readonlyready : Boolean

判断模型是不是加载完成
Implements:

readonlyreadyPromise : Promise

模型加载的Promise
Implements:

selectedColor : Object

获取或设置模型选中状态下的颜色

show : String

获取或设置ModelMesh显示或隐藏

silhouetteColor : Object

获取或设置模型的边框颜色
Default Value: {r: 1,g: 0,b: 0,a: 0}

silhouetteSize : Number

获取模型模型边框大小
Default Value: 0

visible : Boolean

获取或设置模型是否显示.

readonlyw2mMatrix : Matrix4

获取模型的世界转模型矩阵,没有初始化时返回undefined\n 如果多次使用,建议自行缓存
Implements:

Methods

cleanSelected()

清除模型选中状态

getAnimationNames()Array.<String>

获取Model模型的内置动画的名称
Returns:
动画名称数组

getMeshByMeshName(name)ModelMesh

根据ModelMesh的meshName获取mesh
Name Type Description
name String ModelMesh的meshName
Returns:
ModelMesh 获取到的mesh对象,没有返回undefined

getMeshByNodeName(name)ModelMesh

根据ModelMesh的nodeName获取mesh
Name Type Description
name String ModelMesh的nodeName
Returns:
ModelMesh 获取到的mesh对象,没有返回undefined

getMeshs()Array.<ModelMesh>

获取Model所有的mesh对象
Returns:
ModelMesh数组

getNameToTime(name)Number

根据Model模型的内置动画的名称获取节点动画执行一次所需要的时间
Name Type Description
name String 节点动画名称
Returns:
时间/s

pickMesh(global, pos)ModelMesh

获取点击屏幕时点击到的mesh对象
Name Type Description
global Object 三维球对象(YouScene.earth)
pos XY 屏幕坐标,单位像素
Returns:
点击到的mesh对象,没有返回undefined