ModelData

new CooSDK.ModelData(props)

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


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

包含如下属性的Object:

Name Type Default Description
url String

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

isLocate Boolean false optional

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

rotate Number 0.0 optional

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

pitch Number -45.0 optional

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

distance Number null optional

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

flyTime Number 3.0 optional

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

isHasTexture Boolean true optional

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

textureLevel Number 1 optional

模型的纹理层数。

visualMaxRange Number 0 optional

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

isEnableBlacklist Boolean false optional

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

blacklistUpdateTime Number 600 optional

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

isVisible Boolean true optional

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

priorityOffset Number 0.0 optional

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

renderOrder Number 0 optional

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

catalogUrl String null optional

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

isBuildCatalog Boolean false optional

是否生成数据信息目录。

dbUrl String optional

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

classifyNameArray Array.<String> null optional

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

screen CooMap | ScreenObj null optional

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

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

Members

blacklistUpdateTime : Number

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

Default Value: 600

catalogUrl : String

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

Default Value: null

classifyNameArray : Array.<String>

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

Default Value: null

readonlydataType : String

获取模型数据类型名称。

dbUrl : String

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

Default Value: null

distance : Number

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

Default Value: null

flyTime : Number

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

Default Value: 3.0

readonlyid : Number

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

isBuildCatalog : Boolean

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

Default Value: false

isEnableBlacklist : Boolean

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

Default Value: false

isHasTexture : Boolean

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

Default Value: true

isLoad : Boolean

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

isLocate : Boolean

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

Default Value: false

isVisible : Boolean

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

Default Value: true

modelDataArray : Array.<ModelData>

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

Default Value: [EnumCooMap.ALL_DATA]

pitch : Number

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

Default Value: -45.0

priorityOffset : Number

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

Default Value: 0.0

renderOrder : Number

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

Default Value: 0

rotate : Number

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

Default Value: 0.0

screen : CooMap|ScreenObj

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

Default Value: null

textureLevel : Number

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

Default Value: 1

url : String

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

visualMaxRange : Number

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

Default Value: 0

Methods

deserialize(url)ModelData

Name Type Description
url String

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

Returns:

模型数据对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getAttribute(objName, reCallback)String|FDTObject

根据单个模型对象名称获取其属性表字符串,格式为:"属性字段:属性值;属性字段:属性值;......"。

Name Type Description
objName String

单个模型对象名称。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

属性表字符串。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = modelData.getAttribute("zhygjz02yx0001");
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
modelData.getAttribute("zhygjz02yx0001", function(result){
     console.log(result);
});

getFields(objName, reCallback)String|FDTObject

根据单个模型对象名称获取其所有属性字段字符串,字段间以“;”间隔。

Name Type Description
objName String

单个模型对象名称。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

属性字段字符串。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = modelData.getFields("zhygjz02yx0001");
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
modelData.getFields("zhygjz02yx0001", function(result){
     console.log(result);
});

getObjNameListByField(field, reCallback)String|FDTObject

根据属性字段获得符合条件的模型对象名称列表,名称间以“;”间隔。

Name Type Description
field String

属性字段。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

模型对象名称列表。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = modelData.getObjNameListByField("MATERIAL");
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
modelData.getObjNameListByField("MATERIAL", function(result){
     console.log(result);
});

getObjNameListByKV(field, value, reCallback)String|FDTObject

根据属性字段及属性值获得符合条件的模型对象名称列表,名称间以“;”间隔。

Name Type Description
field String

属性字段。

value String

属性值。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

模型对象名称列表。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = modelData.getObjNameListByKV("MATERIAL", "Metal - Panel");
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
modelData.getObjNameListByKV("MATERIAL", "Metal - Panel", function(result){
     console.log(result);
});

queryBySql(sql, reCallback)String|FDTObject

根据SQL语句查询相关结果(仅在配置了mdbUrl的情况下才生效)。

Name Type Description
sql String

SQL语句。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

查询结果。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = modelData.queryBySql("SELECT * FROM Attribute");
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
modelData.queryBySql("SELECT * FROM Attribute", function(result){
     console.log(result);
});

serialize(url)

Name Type Description
url String

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

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

从场景中高亮单个模型。

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)

从场景中定位单个模型。

Name Type Description
objName String

单个模型对象名称。

rotate Number

方位角角度,单位:度。

pitch Number

俯仰角角度,单位:度。

distance Number

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

flyTime Number

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

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

setObjVisible(objName, isVisible)

从场景中显隐单个模型。

Name Type Description
objName String

单个模型对象名称。

isVisible Boolean

模型显隐状态。

Example:
// 显隐单个模型
modelData.setObjVisible("zhygjz02yx0001",true);

update(props)

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

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

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
isLocate Boolean optional

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

modelDataArray Array.<ModelData> [EnumCooMap.ALL_DATA] optional

ModelData对象的数组。

rotate Number optional

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

pitch Number optional

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

distance Number optional

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

flyTime Number optional

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

isVisible Boolean optional

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

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