ModelData

new CooSDK.ModelData(props)

用于加载模型格式为c3s的基础数据对象,支持本地及在线服务数据的加载展示。


人工模型数据加载效果图
Name Type Description
props Object

包含如下属性的Object:

Name Type Default Description
url String

模型数据路径,支持本地路径及网络路径。

urlArray Array.<String> optional

模型数据批量路径,支持本地路径及网络路径。当该参数生效时,url参数无效。

blacklistUpdateTime Number 600 optional

黑名单重新请求间隔时长,单位:秒。

blacklistRequestCount Number 5 optional

黑名单机制中黑名单对象请求次数阈值。

catalogUrl String null optional

数据信息目录,默认与数据同目录。

classifyNameArray Array.<String> null optional

待生成数据信息的查询字符串数组。

colorScheme String null optional

分层分户配色方案名称。

dataName String "" optional

数据名称,可重复。

dbUrl String optional

存放模型属性的数据库本地路径。

displayNodeName String null optional

模型加载时,根据该名称进行模糊查询,符合条件的模型进行显示,其余模型隐藏。

distance Number null optional

自定义定位:视点距离数据中心点距离,该值为null时则无法进行自定义定位。

flyTime Number 3.0 optional

自定义定位:定位飞行时间,单位:秒。

gradualShadeFrame Number 20.0 optional

节点显隐动画显隐的帧数。

gradualShadeRate Number 10.0 optional

节点显隐动画显隐的速度。

isBuildCatalog Boolean false optional

是否生成数据信息目录。

isEnableBlacklist Boolean false optional

是否开启黑名单机制,如果开启,则数据加载失败时会进入黑名单。

isGradualShade Boolean false optional

是否开启节点显隐动画。

isHasTexture Boolean true optional

是否有纹理,该参数在分析时起效。

isJoinPick Boolean true optional

是否可以被拾取。

isLocate Boolean false optional

模型数据定位开关,如果设置为 true,相机目标点会自动飞行至模型数据中心位置。

isRepeatLoad Boolean false optional

是否允许同一数据重复加载。

isVisible Boolean true optional

模型数据显隐开关,如果设置为 false,数据会在场景中隐藏。

isThread Boolean false optional

是否以线程方式加载数据。

isTransparent Boolean false optional

数据是否透明显示,此参数仅初始化时设置有效。

loadCallback CBCallback | String "none" optional

批量加载数据成功时触发的回调事件。

pickColor ColorObj null optional

拾取颜色。

pitch Number -45.0 optional

自定义定位:俯仰角角度。

priorityOffset Number 0.0 optional

模型数据调度优先级,数值越大优先级越高。

rangeScale Number 1 optional

定位距离比例值,默认为1。

renderOrder Number 0 optional

模型数据绘制顺序,数值越大绘制越往后,无特殊需求无需设置。

rotate Number 0.0 optional

自定义定位:方位角角度。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

schemeColor ColorObj null optional

模型盒子配色。

textureLevel Number 1 optional

模型的纹理层数。

then CBOCallback optional

对象创建完成后触发的回调事件,传出参数为ModelData对象本体。

visualMaxRange Number 0 optional

模型最大显示距离,如不设或者设为0,将使用数据默认值。

Example:
// 创建模型数据对象并添加至三维场景中
var modelData = new CooSDK.ModelData({
     url: "http://127.0.0.1:8088/demo/0.c3s.zip",
     isLocate: true
});
Demo:

Members

blacklistRequestCount : Number

黑名单机制中黑名单对象请求次数阈值。

Default Value: 5

blacklistUpdateTime : Number

获取或者设置黑名单重新请求间隔时长,单位:秒。

Default Value: 600

catalogUrl : String

获取或者设置数据信息目录,默认与数据同目录。

Default Value: null

classifyNameArray : Array.<String>

获取或者设置待生成数据信息的查询字符串数组。

Default Value: null

colorScheme : String

获取或者设置分层分户配色方案名称。

dataName : String

获取或者设置数据名称,可重复。

Default Value: ""

readonlydataType : String

获取模型数据类型名称。

dbUrl : String

获取或者设置存放模型属性的数据库本地路径。

Default Value: null

displayNodeName : String

获取或者设置模型加载时,根据该名称进行模糊查询,符合条件的模型进行显示,其余模型隐藏。

Default Value: null

distance : Number

获取或者设置自定义定位的视点距离数据中心点距离,该值不设置则无法进行自定义定位。

Default Value: null

flyTime : Number

获取或者设置自定义定位的定位飞行时间,单位:秒。

Default Value: 3.0

gradualShadeFrame : Number

获取或者设置节点显隐动画显隐的帧数,如不设将使用数据默认值。

Default Value: 20

gradualShadeRate : Number

获取或者设置节点显隐动画显隐的速度,如不设将使用数据默认值。

Default Value: 10

readonlyid : Number

获取模型数据唯一标识符id。

isBuildCatalog : Boolean

获取或者设置是否生成数据信息目录。

Default Value: false

isEnableBlacklist : Boolean

获取或者设置是否开启黑名单机制,如果开启,则数据加载失败时会进入黑名单。

Default Value: false

isGradualShade : Boolean

获取或者设置是否开启节点显隐动画。

Default Value: false

isHasTexture : Boolean

获取或者设置是否有纹理,该参数在分析时起效。

Default Value: true

isJoinPick : Boolean

获取或者设置是否可以被拾取。

Default Value: true

isLoad : Boolean

获取或者设置模型数据加载状态。

isLocate : Boolean

获取或者设置模型数据定位状态。

Default Value: false

isRepeatLoad : Boolean

获取或者设置是否允许同一数据重复加载。

Default Value: true

isThread : Boolean

获取或者设置是否以线程方式加载数据。

Default Value: false

isVisible : Boolean

获取或者设置模型数据显隐状态。

Default Value: true

modelDataArray : Array.<ModelData>

获取或者设置ModelData对象的数组。

Default Value: [EnumCooMap.ALL_DATA]

pickColor : ColorObj

获取或者设置拾取颜色。

pitch : Number

获取或者设置自定义定位的俯仰角角度。

Default Value: -45.0

priorityOffset : Number

获取或者设置模型数据调度优先级。

Default Value: 0.0

rangeScale : Number

获取或者设置模型定位距离比例值。

Default Value: 1

renderOrder : Number

获取或者设置模型数据绘制优先级。

Default Value: 0

rotate : Number

获取或者设置自定义定位的方位角角度。

Default Value: 0.0

schemeColor : ColorObj

获取或者设置模型盒子配色。

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

textureLevel : Number

获取或者设置模型的纹理层数。

Default Value: 1

then : CBOCallback

获取或者设置对象创建完成后触发的回调事件,传出参数为ModelData对象本体。

Default Value: undefined

url : String

获取或者设置模型数据路径地址。

urlArray : Array.<String>

获取或者设置模型数据批量路径地址。

visualMaxRange : Number

获取或者设置模型最大显示距离,如不设或者设为0,将使用数据默认值。

Default Value: 0

Methods

deserialize(url)ModelData

Name Type Description
url String

反序列化文件保存路径,支持本地路径和网络路径。

Returns:

模型数据对象。

destroy(reFunc)

从场景中销毁自身

Name Type Default Description
reFunc NNCallback null optional

销毁地图成功后可传入的回调函数。。

Returns:

null 空值。

Example:
// 销毁对象
modelData = modelData.destroy();

getAttribute(objName, reCallback)String

根据单个模型对象名称获取其属性表字符串,格式为:"属性字段:属性值;属性字段:属性值;......",不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称。

reCallback CBCallback optional

可传递的回调函数,返回属性表字符串。

Returns:

属性表字符串。

Example:
// 获取分析结果
var result = modelData.getAttribute("zhygjz02yx0001");

getCenterByNodeName(objName, reCallback, 返回模型中心点坐标。)

从场景中获得模型中心点坐标,不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称。

reCallback CBCallback optional

可传递的回调函数,返回模型中心点坐标。

返回模型中心点坐标。 String
Example:
// 获得模型中心点坐标
var pos = modelData.getCenterByNodeName("zhygjz02yx0001");

getFields(objName, reCallback)String

根据单个模型对象名称获取其所有属性字段字符串,字段间以“;”间隔,不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称。

reCallback CBCallback optional

可传递的回调函数,返回所有属性字段字符串。

Returns:

属性字段字符串。

Example:
// 获取分析结果
var result = modelData.getFields("zhygjz02yx0001");

getObjNameListByField(field, reCallback)String

根据属性字段获得符合条件的模型对象名称列表,名称间以“;”间隔,不适用于通过urlArray方式加载。

Name Type Description
field String

属性字段。

reCallback CBCallback optional

可传递的回调函数,返回模型对象名称列表。

Returns:

模型对象名称列表。

Example:
// 获取分析结果
var result = modelData.getObjNameListByField("MATERIAL");

getObjNameListByKV(field, value, reCallback)String

根据属性字段及属性值获得符合条件的模型对象名称列表,名称间以“;”间隔,不适用于通过urlArray方式加载。

Name Type Description
field String

属性字段。

value String

属性值。

reCallback CBCallback optional

可传递的回调函数,返回模型对象名称列表。

Returns:

模型对象名称列表。

Example:
// 获取分析结果
var result = modelData.getObjNameListByKV("MATERIAL", "Metal - Panel");

queryBySql(sql, reCallback)String

根据SQL语句查询相关结果(仅在配置了mdbUrl的情况下才生效),不适用于通过urlArray方式加载。

Name Type Description
sql String

SQL语句。

reCallback CBCallback optional

可传递的回调函数,返回查询结果。

Returns:

查询结果。

Example:
// 获取分析结果
var result = modelData.queryBySql("SELECT * FROM Attribute");

serialize(url)

Name Type Description
url String

序列化文件保存路径,仅支持本地路径。

setBatchVisible(idArray)

从场景中批量显隐数据,适用于通过urlArray加载的方式。

Name Type Description
idArray Array.<Number>

数据图层id数组。 `* @param {Boolean} isVisible 显隐状态。

Example:
// 显隐批量模型
modelData.setBatchVisible([3,4,1222],false);

setObjHighlight(objName, isLight, r, g, b, a)

从场景中高亮单个模型,不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称。

isLight Boolean

模型高亮状态。

r Number

红色值。范围0.0-1.0。

g Number

绿色值。范围0.0-1.0。

b Number

蓝色值。范围0.0-1.0。

a Number

透明度值。范围0.0-1.0。

Example:
// 高亮单个模型
modelData.setObjHighlight("zhygjz02yx0001",true);

setObjLocate(objName, rotate, pitch, distance, flyTime)

从场景中定位单个模型,不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称。

rotate Number

方位角角度,单位:度。

pitch Number

俯仰角角度,单位:度。

distance Number

视点距离数据中心点距离,单位:米。

flyTime Number

定位飞行时间,单位:秒。

Example:
// 定位单个模型
modelData.setObjLocate("zhygjz02yx0001", 0, -15, 50, 3);

setObjVisible(objName, isVisible)

从场景中显隐单个模型或者模糊查询到的模型,不适用于通过urlArray方式加载。

Name Type Description
objName String

单个模型对象名称,若以模糊查询方式,请以 sql* 开头。

isVisible Boolean

模型显隐状态。

Example:
// 显隐单个模型
modelData.setObjVisible("zhygjz02yx0001",true);
// 模糊查询模型
modelData.setObjVisible("sql*zhy",true);

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免逐个更新导致的性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
distance Number optional

自定义定位:视点距离数据中心点距离,该值为null时则无法进行自定义定位。

flyTime Number optional

自定义定位:定位飞行时间,单位:秒。

gradualShadeFrame Number optional

节点显隐动画显隐的帧数。

gradualShadeRate Number optional

节点显隐动画显隐的速度。

isJoinPick Boolean optional

是否可以被拾取。

isLocate Boolean optional

模型数据定位开关,如果设置为 true,相机目标点会自动飞行至模型数据中心位置。

isGradualShade Boolean optional

是否开启节点显隐动画。

isVisible Boolean optional

模型数据显隐开关,如果设置为 false,数据会在场景中隐藏。

pitch Number optional

自定义定位:俯仰角角度。

pickColor ColorObj optional

拾取颜色。

rotate Number optional

自定义定位:方位角角度。

schemeColor ColorObj null optional

模型盒子配色。

visualMaxRange Number optional

模型最大显示距离,如不设或者设为0,将使用数据默认值。

isRepeatLoad Boolean optional

重复加载锁定参数,防止相同配置名称的图层重复加载。

colorScheme String optional

配色方案,用以请求c3ss的模型配色方案。

priorityOffset Number optional

图层优先级公式中的偏移值。

Example:
// 更新模型数据部分属性
modelData.update({
   // 修改定位属性
   isLocate : true,
   // 修改显隐属性
   isVisible : false
});