Class: S3MTilesLayer

S3MTilesLayer

new S3MTilesLayer()

S3M(Spatial 3D Model)图层类,通过该图层实现加载三维瓦片,包括倾斜摄影模型、BIM模型、点云数据、精细模型、矢量数据、符号等。

通过Scene.addS3MTilesLayerByScp(url, options)的方式将发布的*.s3m格式的三维服务添加到场景中。

注:通过本地三维瓦片(.scp)发布的服务,不支持字段专题图功能。

Name Type Default Description
options.gl WebGLRenderingContext 可选

webgl上下文。

options.servers Array 可选

包含服务器地址的数组。

options.urls Array 可选

包含xml地址的数组。

options.position Array 可选

图层插入点位置([经度、纬度、高度])。

options.name Array 可选

图层名称。

options.WaterEffectSet Object 可选

水面特效参数。

options.urlType UrlType 可选

entity数据请求形式。

options.urlArguments String 可选

数据服务URL所带参数。

options.format Boolean 可选

是否支持纹理压缩。

options.cacheEntityCount Number 0 可选

LOD调度时瓦片的实体个数。

options.layerBounds Rectangle 可选

图层范围。(废弃set方法,保留get方法)

options.tileSpliteType String 'LOCAL' 可选

瓦片剖分类型。

options.volumeObj Object 可选

体渲染参数对象。

options.boundingSphereColc Array 可选

根节点boundingSphere。

options.MaxInstensity Number 可选

最大强度。

options.MinInstensity Number 可选

最小强度。

options.MaxHeight Number 可选

最大高度。

options.MinHeight Number 可选

最小高度。

options.HorizontalLine Number 可选

水平等高线。(废弃)

options.fileType String 可选

文件类型(数据类型)。

options.ProcessType String 可选

处理方式。

options.cullEnabled Boolean false 可选

是否剔除背面(默认为否,即双面渲染)。

options.cacheKey String 可选

三维瓦片密钥,该密钥即是iserver发布三维瓦片服务设置的三维瓦片密钥。

options.keyframes Object 可选

时间点。

options.duration Object 可选

动画持续时间。

options.interpolationType Object 可选

插值类型,默认值Linear。

options.emissionTextureUnit EmissionTextureUnit 可选

设置自发光纹理单元。

options.cullMode WindingOrder 可选

单面渲染时,可设置渲染时顺逆时针渲染。

options.CategoryFieldName CategoryFieldName 可选

点云数据的特征值字段。

Example
//new S3MTilesLayer instance
var S3MTilesLayer = new S3MTilesLayer({
 gl : gl,
 servers : ["http://localhost:8090"],
 urls : ["http://localhost:8090/data/tile_001.xml","http://localhost:8090/data/tile_002.xml"],
 position : [10,20],
 name : ["S3MTilesLayer"]
});

Members

allTilesLoadedEvent

当前视角下所有瓦片加载完成的事件。该事件会在所有瓦片加载完成时触发。

attributeDownloadedEvent

判断属性文件是否已经下载完成的事件。该事件会在所有属性文件都下载完成时触发。 说明:使用部分属性字段设置专题图时,设置queryFiledNames后会开始下载属性文件,不需要开启indexedDB的isAttributesSave。

Example
layer.queryFieldNames = ['FLOOR','HEIGHT']

bloomEffectS3MPolylineEffect

获取S3M图层泛光特效对象

bloomEnableboolean

获取泛光是否开启

brightnessNumber

设置图层亮度值调节颜色。

clearMemoryImmediatelyBoolean

是否及时释放内存,默认值为true。若设置为false,则需要对setCacheSize设置一个值。(废弃) 目前可根据显卡类型动态调配资源。如果想立即释放内存请使用SuperMap3D.MemoryManager.setCacheSize()整体释放,不需要对单个图层进行设置。

Default Value:
true
See:
Example
设置缓存空间大小,单位MB
SuperMap3D.MemoryManager.setCacheSize(512);
选择不及时释放内存
SuperMap3D.when.all ([promise],function (layers){
layers[0].forEach ((layer)=>{
layer.clearMemoryImmediately = false
})

clipLineColorColor

获取或设置对S3M图层进行BOX裁剪时裁剪线的颜色。

clippingTypeClippingType

获取或者设置裁剪模式。

clipPlaneColorColor

获取或者设置裁剪截面的颜色。

colorStyleNumber

设置或者获取图层风格的颜色混合模式,作用于图层style3D上的fillForeColor和lineColor。

colorTableChangedEvent

当前视角下所有体数据瓦片的颜色表应用完成时的事件。该事件会在体数据瓦片的颜色表应用完成时触发。

computeHeightBoolean

用于指定是否在前端自动计算模型的高度,默认值为false不计算高度。对于不带高度的数据指定为true可以保证淹没分析、设置等高线等操作正常运行。

Default Value:
false

contrastNumber

设置图层对比度值调节颜色。

coveredMapVectorTileMap RasterTileLayer

获取或设置(用于贴到倾斜摄影三维模型表面的)覆盖矢量瓦片图层。

coverImageryLayerImageryLayer

获取或者设置(用于贴到倾斜摄影三维模型表面的)覆盖影像图层,暂不支持贴3857坐标系功能。

cullEnabledBoolean

获取或者设置是否双面渲染(背面剔除)

cullModeWindingOrder

单面渲染时,获取或者设置顺逆时针渲染。

customRequestHeadersObject

获取或者设置自定义请求头。

dataMaxValueNumber

获取数据的最大高度值或最大强度值。 对点云数据而言,该属性为高度值或强度值(默认为强度值);对其他三维数据而言,该属性为高度值。

Example
//获取数据最大值
var dataMaxValue = S3MTilesLayer.DataMaxValue;

dataMinValueNumber

获取数据的最小高度值或最小强度值。 对点云数据而言,该属性为高度值或强度值(默认为强度值);对其他三维数据而言,该属性为高度值。

Example
//获取数据最小值
var dataMinValue = S3MTilesLayer.DataMinValue;

获取或设置S3M图层的线型符号。

enableDepthTestBoolean

获取或者设置S3M图层是否进行深度测试

enableHighlightBoolean

获取或者设置图层是否高亮。

Default Value:
True

gammaNumber

设置图层gamma值调节颜色。

readonly groupNameString

获取图层所在群组名称

hasLightBoolean

获取或者设置图层是否开启光照效果。

readonly hasWireframeBoolean

获取图层是否有线框。

headingNumber

获取或者设置相机的heading角度(单位:弧度)。

heightScaleNumber

设置模型z方向拉升高度值,默认值为1。

Default Value:
1

hueNumber

设置图层色调值调节颜色。

hypsometricSettingHypsometricSetting

获取或设置图层的分层设色表达。

Example
//设置图层分层设色属性
var hypsometricSetting = new SuperMap3D.HypsometricSetting();
hypsometricSetting.MinVisibleValue = 30;
hypsometricSetting.MaxVisibleValue = 150;
var colorTable = new SuperMap3D.ColorTable();
colorTable.insert(150, new SuperMap3D.Color(1, 0, 0));
colorTable.insert(30, new SuperMap3D.Color(0, 0, 1));
hypsometricSetting.ColorTable= colorTable;
S3MTilesLayer.hypsometricSetting = {
hypsometricSetting : hypsometricSetting,
analysisMode: SuperMap3D.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL
}
//获取图层分层设色属性
var hyp = S3MTilesLayer.hypsometricSetting ;

iconRelatedTextLayerIDNumber Undefined

获取或者设置文字图层的ID。该接口根据ID指定一个文字图层,让图标图层跟随该图层进行避让。 注意:只有当overlapDisplayOptions.allowIconWithTextDisplay为true时才会生效。

Default Value:
undefined

readonly idNumber

获取图层id

ignoreNormalBoolean

获取或者设置是否在GPU中自动计算法线,默认值为false。值为true时,在GPU中自动计算法线,不使用数据自带的法线。值为false时,在GPU中不自动计算法线,使用数据自带的法线。

ignoreVertexColorBoolean

是否忽略数据本身的顶点颜色

indexedDBSettingObject

获取或者设置indexedDB属性信息(IE浏览器不支持)。其中,在设置indexeDB属性时, 有三个布尔类型的分支属性:isGeoTilesSave——是否保存瓦片; isAttributesSave--是否保存属性;isGeoTilesRootNodeSave--是否保存根节点。

Example
//打开倾斜数据的Config图层。
var layer = scene.layers.find('Config');
//设置是否保存瓦片。
layer.indexedDBSetting.isGeoTilesSave = true

isOverlapDisplayedBoolean

获取或者设置图层重叠的部分是否显示。设为true时,重叠的部分依然显示,即不参与避让。默认值为false。

Default Value:
false

labelStyleS3MTilesLabelStyle

获取或者设置图层文字标签风格。

layerBoundsRectangle

获取或设置图层范围。(废弃set方法,保留get方法)

LoadingModeNumber

获取或者设置点云级别切换时的加载模式,分为追加模式和替换模式。

LoadingPriorityLoadingPriorityMode

获取或者设置加载的优先级模式,分为深度优先、层优先、空间索引、深度优先非线性切换。

Default Value:
Child_Priority : 1

loadVolumeDataBoolean

获取或者设置是否加载体数据,默认值为true。

Default Value:
true

lodRangeScaleNumber

获取或设置图层的LOD级别切换距离缩放系数。

deprecated maximumMemoryUsageNumber

Default Value:
512

maximumScreenSpaceErrorNumber

S3M切片根节点像素过滤阈值,当切片包围球占据的屏幕空间像素值小于该阈值时则会被过滤掉,默认为0,不过滤

maxTransparentAlphanumber

获取或者设置最大透明度阈值(前景色透明度设置为[0,maxTransparentAlpha]之间将被认为同一透明效果,[maxTransparentAlpha,1]之间将会有透明过渡效果)。

Default Value:
0.98

maxVisibleAltitudeNumber

获取或设置图层的最大可见高度。

minTransparentAlphanumber

获取或者设置最小透明度阈值(小于这个值将被过滤掉)

Default Value:
0.1

minVisibleAltitudeNumber

获取或设置图层的最小可见高度。

mipmapEnabledBoolean

用于指定纹理是否创建mipmap,默认值为true表示创建mipmap;设置为false则表示不创建。

Default Value:
true

mixColorTypeMixColorType

设置或者获取纹理替换模式(混合、替换)适用于修改图层风格style3D和设置对象setObjsColor(后者优先级高于style3D)。

multiChooseBoolean

获取或者设置图层是否支持多选

multiTemporalUseWaterBoolean

带时序的水流数据开启或关闭水面效果。

Default Value:
{false}

readonly nameString

获取图层名称

orderIndependentTranslucencyBoolean

获取或者设置是否开启透明排序功能(OIT),默认是true。

Default Value:
true

overlapWeightAttributeNameString

获取或者设置指定避让权重的属性字段名称,可根据该字段区分避让优先级。

particleVelocityFieldEffectParticleVelocityFieldEffect

获取三维流场效果。

deprecated partlyTransparentBoolean

Default Value:
false

PBRMaterialTypeNumber

获取或设置PBR材质类型。(废弃)

Default Value:
true

pointCloudShadingObject

获取封装点云渲染参数对象pointCloudShading。

priorityScaleNumber

获取或者设置更新优先级系数,可以控制多个图层间的更新优先级顺序。

constant rainEffect

设置或者获取雨水材质影响因素。

rasterPerFrameBoolean

是否实时绘制栅格化矢量线,以确保线粗细在不同级别保持一致。

Default Value:
false

receiveObjectClampBoolean

获取或者设置图层是否接受贴对象,默认设置为true,设置为false时则不会被贴对象。

Default Value:
true

RGBTOBGRBoolean

纹理压缩格式为webp的情况下,当纹理红绿反转时,使用颜色通道RGB转BGR。

Default Value:
false

S3MTileLoadedEventEvent

获取S3M瓦片加载完成时触发的事件,该事件的处理函数会被传入瓦片的包围球(BoundingSphere)作为参数。

saturationNumber

设置图层饱和度值调节颜色。

selectBoundRectangle

获取和设置框选范围。

selectColorTypeSelectColorType

获取或设置选取对象的显示风格,模型纹理与颜色混合显示或纯色显示。

selectedColorColor

获取或者设置选中图层显示的高亮颜色。当前模式为线框模式时,用来获取或者设置选中轮廓线的高亮颜色。

selectedLineColorColor

获取或者设置图层选中对象线框发光轮廓线的高亮颜色。

Default Value:
new Color(1.0,1.0,1.0,1.0)

selectedSkeletonIdNumber

获取或者设置子对象ID。

selectedTranslateCartesian3

获取或设置选中对象的偏移位置。

selectEnabledBoolean

获取或者设置图层是否可选。

selectionFiltrateByTransparencyNumber

获取或设置透明选择过滤阈值。

shadowTypeShadowType

获取或设置图层中模型参与显示阴影的范围类型。

shadowVolumeBottomHeightNumber

获取和设置阴影体向下拉升的最低高度。

shadowVolumeTopHeightNumber

获取和设置阴影体向上拉升的最大高度。

showCalloutBoolean

获取或者设置是否显示牵引线。

showIconBoolean

获取或者设置是否显示图标。

showLabelBoolean

获取或者设置是否显示标签。

skeletonSelectedColorColor

获取或者设置子对象选中高亮的颜色。

skeletonSelectEnableBoolean

获取或者设置图层中子对象是否可选择。

splitDirectionSplitDirection

获取或设置卷帘方向。

splitPositionNumber

获取或设置卷帘位置。

style3DStyle3D

获取或设置图层风格。

Example
//获取图层风格
var style = S3MTilesLayer.style3D;
//设置图层风格
var style3D = new SuperMap3D.Style3D();
var color = new SuperMap3D.Color(1.0, 0.0, 0.0);
style3D.fillForeColor = color;
S3MTilesLayer.style3D = style3D;
//设置后需刷新图层
S3MTilesLayer.refresh();

subdomainsString

获取或者设置子域名称。通过该接口可以向指定的子域请求数据。

swipeEnabledBoolean

获取或者设置是否开启卷帘功能。

swipeRegionBoundingRectangle

获取或者设置卷帘的四边形区域。

temporaInfosS3MCategoryFieldInfo

获取图层关联的外挂属性字段信息数组。

temporalCount

获取多时序帧数。 此接口已经废弃,S3M图层支持多业务有各自的时序信息,而每种时序可以时序数量不同,因此不能用同一个时序数来表示

temporalSettingTemporalSetting

获取多时序参数对象。

textureUVSpeedNumber

获取或者设置模型纹理在UV坐标上的运动速度。

themeStyleCesium3DTileStyle

获取或设置专题图风格,目前支持贴地面矢量瓦片在前端根据ID设置填充颜色和纹理的专题图。 注意:当使用模型数据做专题图,生成瓦片时需要在桌面软件中把“属性存储类型”改为“ATTRIBUTR”。

translucencyByDistanceboolean

获取或者设置图层是否开启最大可见距离的透明效果。

Default Value:
{false}

transparentBackColorColor

获取或者设置图层透明目标颜色。

transparentBackColorToleranceNumber

获取或者设置图层透明容限。

urlTypeUrlType

获取或者设置图层数据的请求形式。

visibleBoolean

获取或设置图层可见性。

Example
//获取可见性
var isVisible = S3MTilesLayer.visible;
//设置不可见
S3MTilesLayer.visible = false;

visibleDistanceMaxNumber

获取或设置该图层的最大可见距离值,单位为米。该距离值用于距离过滤功能,当相机与图层的距离大于该距离值时,该图层将不可见。

visibleDistanceMinNumber

获取或设置该图层的最小可见距离值,单位为米。该距离值用于距离过滤功能,当相机与图层的距离小于该距离值时,该图层将不可见。

volNameString

获取或者设置体数据名称。

waterParameterWaterParameter

获取水面效果参数。

wireFrameModeNumber

获取或设置图层线框模式。

wireFrameNearfarRangeCartesian2

获取或者设置图层线框透明度随相机视野距离越远而逐渐减小的效果,单位是米。 默认值Cartesian2(1000,20000)表示线框从1000米开始逐渐变淡,直到20000米完全消失。

Methods

addExcavationRegion(options){Boolean}

添加开挖面。

Name Type Description
options Object

开挖区域参数:

Name Type Description
position Array

开挖区域位置信息。

name String

开挖区域名称。

Returns:
Type Description
Boolean bool 成功返回true,失败返回false。

addFlattenRegion(options){Boolean}

添加压平面,用于压平模型表面。

Name Type Description
options Object

压平区域参数:

Name Type Description
position Array

指定压平区域位置信息。

name String

压平区域名称。

Returns:
Type Description
Boolean 成功返回true,失败返回false。
Example
S3MTilesLayer.addFlattenRegion({
    position : [13.0500640714, 47.8279189759, 400.0,
                13.0500640714, 47.8230189759, 400.0,
                13.0530640714, 47.8260189759, 400.0,
                13.0538640714, 47.8230189759, 400.0,
                13.0538640714, 47.8279189759, 400.0],
       name : 'flatten' + SuperMap3D.createGuid()});

addOverlayImage(){Boolean}

S3M图层指定范围叠加图片。

Name Type Description
options.name String

指定范围的名称。

options.bounds Array

指定范围的点集数组。

options.image Element

html image元素,用于叠加的纹理图片。

Returns:
Type Description
Boolean bool 成功返回true,失败返回false。

clearCustomClipBox()

清除自定义裁剪面。

Example
S3MTilesLayer.clearCustomClipBox();

clearDataRequestRegions()

移除图层中控制数据请求的范围。

clearModifyRegions()

清除多边形对象裁剪S3M图层。

datasetInfo(){Promise.Array}

获取图层数据集名称以及对应的Id范围(适用于多数据集生成瓦片)。

Returns:
Type Description
Promise.Array 数组包含所有数据集相关信息,每个数据集对象包含数据集名称、起始Id、终止Id。
Example
var data =  layer.datasetInfo();
SuperMap3D.when(data,function(dataSet){
       var length = dataSet.length;
       .......
        });

destroy()

销毁图层,释放内存、释放webgl资源

getAllFieldValues(fieldType)

获取点云数组对应属性字段的所有属性值。

Name Type Description
fieldType S3MFieldType 可选

属性值

Returns:
Array 类型取决于字段值的类型
Example
layer.getAllFieldValues(SuperMap3D.S3MFieldType.PointCloudClassification)

getAttributesById(id)

获取本地对象属性信息(indexedDB中的scvd,IE浏览器不支持)。

Name Type Description
id Number

索引。

Example
layer.getAttributesById(id).then(function (data) { })

getFieldInfos()

获取图层所有对象的属性信息数组。

Returns:
Example
layer.getFieldInfos().then(function (infos) { })

getFieldValuesByID(id){Promise.<fieldValue>}

根据id获取对象的属性值。

Name Type Description
id Number

查询的模型id。

Returns:
Type Description
Promise.<fieldValue> 返回属性值结果
Example
const layerInfos = await layer.getFieldInfos(); //先获取图层上所有对象的属性信息。
layer.getFieldValuesById(id).then(function (fieldValue) { 
     const {values, indexs} = fieldValue;
     const fieldInfos = []; 
     indexs.forEach((i)=>{
         fieldInfos.push(layerInfos[i]);  //通过索引获到属性字段,与属性值values对应。
     })
})

getHistoryDataKeys()

获取历史数据key值。

getLodRangeScale(){Number}

获取图层的lOD级别切换距离缩放系数。

Returns:
Type Description
Number LOD级别切换距离缩放系数。
Example
var num = S3MTilesLayer.getLodRangeScale();

getObjsColor(){Color}

根据id获取对应图元对象的颜色表

Returns:
Type Description
Color 对应id的颜色

getObjsVisible(id){Boolean}

获得指定ID的对象可见性。

Name Type Description
id Number

指定的对象ID。

Returns:
Type Description
Boolean 对象是否可见。
Example
var id = 12;
S3MTilesLayer.getObjsVisible(id);

getPointCloudGroupBounds(name){undefined|*}

获取点云分组的对应范围。

Name Type Description
name String

对应范围的名称。

Returns:
Type Description
undefined | * 通过点云名称获取点云分组的范围(Bounds),如果未获取到返回undefined。
Example
layer.getPointCloudGroupBounds(name);

getPointCloudGroupInfos()

获取点云的分组信息。

Example
layer.getPointCloudGroupInfos();

getQueryParameter(){Object}

获取属性查询参数。

Returns:
Type Description
Object 属性查询参数对象。

getSelection(){AssociativeArray}

获取选择集。

Returns:
Type Description
AssociativeArray 包含所有选中ID的关系数组。
Example
S3MTilesLayer.getSelection();

getVisibleInViewport(index){Boolean}

获取图层对应视口的可见性。

Name Type Description
index Number

索引。

Throws:

索引值范围为0~3。

Type
DeveloperError
Returns:
Type Description
Boolean visible 可见性。

getVolNames(){Array}

获取所有的体数据名称。

Returns:
Type Description
Array 所有体数据名称数组。

refresh()

刷新图层。

refreshVolume()

刷新体数据

releaseSelection()

释放选择集。

Example
S3MTilesLayer.releaseSelection();

removeAllExcavationRegion()

移除所有的开挖面。

removeAllFlattenRegion()

移除所有压平面。

Example
S3MTilesLayer. removeAllFlattenRegion();

removeAllObjsColor()

移除所有图元设置的颜色。

removeAllObjsExtendHeight()

移除所有设置的拉伸高度。(废弃)

removeAllObjsOffset()

移除所有图元的偏移

removeAllObjsTranslate()

移除所有对象的偏移。

removeExcavationRegion(name){Boolean}

移除指定名称的开挖面。

Name Type Description
name String

开挖面的名称。

Returns:
Type Description
Boolean bool 成功返回true,失败返回false。

removeFlattenRegion(name){Boolean}

移除指定名称的压平面。

Name Type Description
name String

待移除压平面的名称。

Returns:
Type Description
Boolean 移除成功返回true,失败返回false。
Example
S3MTilesLayer. removeFlattenRegion(regionName);

removeObjsColor(ids)

根据图元ID列表移除相应图元被设置的颜色。

Name Type Description
ids Array

图元ID列表。

removeObjsExtendHeight(ids)

根据图元ID列表移除对象被设置的拉伸高度(废弃)

Name Type Description
ids Array

图元ID列表

removeObjsOffset(ids)

根据图元ID列表移除相应图元的偏移

Name Type Description
ids Array

图元ID列表

removeObjsTranslate(ids)

移除指定id对象的偏移。

Name Type Description
ids Array

拟移除偏移的对象的id集合。

removeOverlayImage(name){Boolean}

移除指定名称的覆盖层区域。

Name Type Description
name String

覆盖层区域名称。

Returns:
Type Description
Boolean 成功返回true,失败返回false。

removePBRMaterial()

用于移除PBR材质。

setAnimation(keyframes, duration, InterpolationType)

设置图层的动画。

Name Type Description
keyframes Object

时间点。

duration Object

动画持续时间。

InterpolationType Object

表示插值类型,默认值Linear。

Throws:
Example
var promise = layer.setAnimation({
 keyframes: {
 '0%': { // 时间点
 translation: SuperMap3D.Cartesian3.fromDegrees(layer.lon, layer.lat, layer.height),
 rotation: new SuperMap3D.HeadingPitchRoll(0, 0, 0),
 scale: new SuperMap3D.Cartesian3(1, 1, 1),
 interpolationType: SuperMap3D.InterpolationType.SmoothStep // 这个时间点到下一时间点这段时间的插值类型,没有设置就用keyframes同级的InterpolationType。
 },
 // '20%': {},
 '100%': {
 translation: SuperMap3D.Cartesian3.fromDegrees(layer.lon, layer.lat, layer.height),
 rotation: new SuperMap3D.HeadingPitchRoll(0, 0, 0),
 scale: new SuperMap3D.Cartesian3(5, 5, 5)
 },
 },
 duration:
 5, // 动画持续几秒
 interpolationType: SuperMap3D.InterpolationType.Linear // 插值类型,默认值Linear
})

setBatchObjsTranslate(option)

批量设置对象偏移。

Name Type Description
option Object

拟移除偏移的对象的id和偏移量集合。

Example
var option = {
     id1:Cartesian3,
     id2: Cartesian3,
     }
layer.setBatchObjsTranslate(option);

setCategoriesVisible(categories, mode)

根据W位特征值隐藏显示对象。

Name Type Description
categories Array.<Number> | Number

特征值数组,或者特征值。

mode CategoryVisibleMode

隐藏、显示、重置。

setClipSection(firstPoint, secondPoint, thirdPoint, renderClipSection)

设置裁剪面。

Name Type Description
firstPoint Cartesian3

绘制裁剪面的第一个点。

secondPoint Cartesian3

绘制裁剪面的第二个点。

thirdPoint Cartesian3

绘制裁剪面的第三个点。

renderClipSection Boolean

绘制裁剪截面。

Example
var p1 =  new SuperMap3D.Cartesian3(-8787.4,2084.7,7021.04335128);
 var p2 =  new SuperMap3D.Cartesian3(-8786.3,2081.8,7024.90146083);
 var p3 =  new SuperMap3D.Cartesian3(-8783.2,2086.8,7021.04335128);
 for(var i = 0;i < layers.length;i++){
    layers[i].setClipSection(p1,p2,p3,true);
  }

setCustomClipBox(options){Boolean}

添加自定义裁剪面。

Name Type Description
options Object

裁剪面参数:

Name Type Description
dimensions Cartesian3

指定裁剪box的长宽高。

position Cartesian3

指定裁剪面位置。

clipMode String

指定裁剪模式。 裁剪模式包括以下几类:

clip_behind_any_plane:裁剪掉位于任何裁剪面后面的部分。

clip_behind_all_plane:裁剪掉位于所有裁剪面后面的部分。

only_keep_line:只保留裁剪线,裁剪掉其他部分。

Throws:

options and options.dimensions and options.position are required.

Type
DeveloperError
Returns:
Type Description
Boolean 添加成功返回true,失败返回false。
Example
var boxOptions = {
      dimensions : new SuperMap3D.Cartesian3(10, 10, 10)
      position : SuperMap3D.Cartesian3.fromDegrees(120, 40, 20),
      clipMode : "clip_behind_all_plane"
};
S3MTilesLayer.setCustomClipBox(boxOptions);

setCustomClipCross()

设置区域裁剪参数。

Name Type Description
options.position Cartesian3 可选

中心点位置坐标。

options.dimensions Cartesian2 可选

裁剪区域的宽度和高度,单位:米。

options.heading Number 可选

裁剪面绕Z轴的旋转角度,单位:度。

options.pitch Number 可选

裁剪面绕X轴的旋转角度,单位:度。

options.roll Number 可选

裁剪面绕Y轴的旋转角度,单位:度。

options.extrudeDistance Number 可选

裁剪区域中心点拉伸距离,单位:米。

setCustomClipGeometry()

设置多面体裁剪参数。

Name Type Description
options.geometry Geometry3D 可选

几何体对象(目前只支持凸多面体)。

options.clippingType ClippingType 可选

裁剪类型。

options.spatialQuery SpatialQuery3D 可选

空间查询对象。

Example
var geometry = new Geometry3D(pts)
geometry.extrudeHeight = 100;
var spatialQuery = new SpatialQuery3D();
spatialQuery.build();
layer.setCustomClipGeometry({
 geometry : geometry;
 clippingType : ClippingType.KeepOutside;
 spatialQuery : spatialQuery
 })

setCustomClipPlane(firstPoint, secondPoint, thirdPoint, clipPlaneMode)

剖面分析。

Name Type Description
firstPoint Cartesian3

绘制剖面的第一个点。

secondPoint Cartesian3

绘制剖面的第二个点。

thirdPoint Cartesian3

绘制剖面的第三个点。

clipPlaneMode ClipPlaneMode

裁剪截面模式。

Example
var p1 =  new SuperMap3D.Cartesian3(-8787.4,2084.7,7021.04335128);
 var p2 =  new SuperMap3D.Cartesian3(-8786.3,2081.8,7024.90146083);
 var p3 =  new SuperMap3D.Cartesian3(-8783.2,2086.8,7021.04335128);
 for(var i = 0;i < layers.length;i++){
    layers[i].setCustomClipPlane(p1,p2,p3);
  }

setDataRequestRegions(regions)

设置图层加载和显示的区域范围。

Name Type Description
regions Array | Array

设置一个或多个多边形请求范围区。在请求S3M数据时,只请求包含在多边形区域内的数据。多边形请求范围区数组由多个顶点构成,每个顶点的单位为以经纬度表示的地理坐标系。

setExtrudedPolygons()

对指定对象在前端分楼层显示。(废弃)

setFlattenRegionVisibleInViewport(index){Boolean}

设置压平区域分屏。

Name Type Description
index Number

索引。

Throws:

索引值范围为0~8。

Type
DeveloperError
Returns:
Type Description
Boolean visible 可见性。

setHistoryDataByKey(key)

设置历史数据。

Name Type Description
key String 可选

历史数据key值。

setHypsometricSetting(hypsometricSetting, param)

图层按字段做分层设色,目前支持点云、三维流场。

Name Type Description
hypsometricSetting HypsometricSetting

分层设色

param Param

参数

setLodRangeScale(lodrange)

设置图层的lOD级别切换距离缩放系数。

Name Type Description
lodrange Number

LOD级别切换距离缩放系数。

Example
S3MTilesLayer.setLodRangeScale();

setModifyRegions(regions, mode)

根据多边形对象裁剪S3M图层。

Name Type Description
regions Array

多边形数组。

mode mode

裁剪模式,设置裁剪多边形对象的内部范围或外部范围。值为CLIP_INSIDE时裁剪内部范围,值为CLIP_OUTSIDE时裁剪外部范围。

setObjsColor(ids, color)

根据图元IDS列表,设置对应图元的颜色。

Name Type Description
ids Array

图元ID列表。

color Color

图元的颜色。

setObjsExtendHeight(ids, height)

根据IDS列表,设置对象的拉伸高度。(废弃)

Name Type Description
ids Array

图元ID列表。

height Number

对象拉伸高度值。

setObjsOffset(ids)

根据对象ID列表设置对象偏移。

Name Type Description
ids Array

对象ID列表。

setObjsTranslate(ids, translate)

根据指定的id设置对象的偏移。

Name Type Description
ids Array

指定拟设置偏移的对象的id。

translate Cartesian3

指定偏移量。

setObjsVisible(ids, isVisible)

根据图元ID列表,设置对应的图元的可见性,并与该图层其他图元成互斥可见关系。

Name Type Description
ids Array

图元ID列表。

isVisible Boolean

是否可见。

Example
//设置该图层id为1的图元显示,其余所有图元全部不可见。
layer.setObjsVisible([1],true);
//设置图元id=1的隐藏,其余所有图元可见。
layer.setObjsVisible([1],false);

setOnlyObjsVisible(ids, isVisible)

根据图元ID列表,设置对应图元的可见性(手动设置),若ids为空则isVisible为设置所有图层的可见性。

Name Type Description
ids Array

图元ID列表。

isVisible Boolean

是否可见。

Example
//设置id为1和2的图元为不可见,其余图元的可见状态不变。
layer.setOnlyObjsVisible([1,2],false);
//设置id为1和2的图元为可见,其余图元的可见状态不变。
layer.setOnlyObjsVisible([1,2],true);

setPBRMaterial()

设置PBR材质类型(废弃)。

See:
  • PBRMaterialType

setPBRMaterialFromJSON()

用于从JSON文件中导入PBR材质,参数为JSON文件的URL。

setPointCloudGroupsVisible(groupNames, isVisible)

设置点云分组的可见性。

Name Type Description
groupNames Array

图层分组名称。

isVisible Boolean

是否可见。

Example
//设置该图层分组名为"group1"的对象为可见状态
layer.setPointCloudGroupsVisible(["group1"],true);

setPolygonoffset(factor, units)

设置多边形偏移。

Name Type Description
factor Number

偏移斜率因子,默认为0。

units Number

偏移单位,默认为0。

Example
layer.setPolygonoffset(-1,-1);

setQueryParameter()

设置属性查询参数。

Name Type Default Description
options.url String 可选

数据服务url。

options.dataSourceName String 可选

数据源名称。

options.dataSetName String 可选

数据集名称。

options.isMerge Boolean 可选

该图层是否为合并数据集的,如果是则不用指定数据集名称。

options.hasGeometry Boolean false 可选

属性查询返回结果是否包含几何信息。

Example
layer.setQueryParameter({
 url: 'localhost:8090/services/realspace/services/xxx/rest/data',
 dataSourceName: 'xxx',
 dataSetName: 'xxx'
});

setSelection(ids)

设置选择集,用于scene.pick时的选中。

Name Type Description
ids Array

图元ID集。

setTextureEmissive()

设置自发光单元(废弃)。

See:
  • EmissionTextureUnit

setVisibleInViewport(index, visible)

设置图层对应视口的可见性。

Name Type Description
index Number

索引。

visible Boolean

可见性。

Throws:

索引值范围为0~3。

Type
DeveloperError