三维场景类,它是所有三维图形对象和状态的容器,通常不直接创建场景,而是由CesiumWidget隐式创建。
contextOptions参数详细信息
默认值为: { webgl : { alpha : false, depth : true, stencil : false, antialias : true, premultipliedAlpha : true, preserveDrawingBuffer : false, failIfMajorPerformanceCaveat : false },
allowTextureFilterAnisotropic : true }
webgl属性对应用于创建WebGL环境的WebGLContextAttributes对象。
webgl.alpha默认为false,与标准WebGL默认值为true相比,这可以提高性能。
其他webgl属性与WebGLContextAttributes.的WebGL默认值匹配。
allowTextureFilterAnisotropic默认为true,这允许在支持WebGL扩展时进行各向异性纹理过滤。设置为false可以提高性能,但会损害视觉质量,特别是对于水平视角
    
    
    
    
    
    
        
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| options | Object | optional
                
                
                
            
                对象具有以下属性: 
 | 
Throws:
- 
    DeveloperError : options and options.canvas are required.
- CesiumWidget
- WebGLContextAttributes
Example:
// 创建一个场景
var scene = new LSGlobe.Scene({
  canvas : canvas,
  contextOptions : {
    allowTextureFilterAnisotropic : false
  }
});See:
Members
- 
    readonlycamera : Camera
- 
    
    获取当前场景的相机对象
- 
    
    获取与场景绑定的canvas对象
- 
    
    WebGL中绘制缓存的高度See:
- 
    
    WebGL中绘制缓存的宽度See:
- 
    
    用于纸板或WebVR的眼睛间隔距离(米)
- 
    
    使用纸板或WebVR时,使用的焦距
- 
    globe : Globe
- 
    
    获取或设置深度测试
- 
    
    获取groundPrimitives对象集合
- 
    
    获取场景的唯一标示
- 
    readonlyimageryLayers : ImageryLayerCollection
- 
    
    获取三维地球上影像层的集合
- 
    
    获取或设置视口中影像分割条的位置。取值范围为0.0~1.0
- 
    
    3D Tiles正常渲染时,该值为false。分类3D Tile几何体将正常渲染,未分类的3D Tile几何体使用颜色乘以Scene#invertClassificationColor渲染- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 false
- 
    invertClassificationColor : Color
- 
    
    当Scene#invertClassification为true时,未分类的3D Tile为高亮显示。当alpha值小于1.0时,3D Tile的未分类部分 将无法与3D Tile的分类位置正确混合。此外,当颜色的alpha值小于1.0时,必须支持WEBGL_depth_texture和EXT_frag_depth WebGL扩展- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 Color.WHITE
- 
    
    获取上次渲染场景时的模拟时间。如果场景尚未渲染,则返回undefined
- 
    
    用来设置2D地图是否可以旋转,或者是否可以无限制的在水平方向上移
- 
    
    获取在二维和Columbus 视图模式下使用的地图投影- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 new GeographicProjection()
- 
    
    在像素里所能显示的最大线宽。支持用webGL去实现。至少是一个像素- glGet with ALIASED_LINE_WIDTH_RANGE.
 See:
- glGet with 
- 
    
    立方体纹理边缘的最大像素长度- glGet with GL_MAX_CUBE_MAP_TEXTURE_SIZE.
 See:
- glGet with 
- 
    
    如果Scene#requestRenderMode是true,则此值定义在请求呈现之前允许的模拟时间的最大更改。 较低的值会增加渲染帧的帧数,较高的值会减少渲染的帧数。如果undefined,对模拟时间的更改将永远不会请求渲染。 此值会影响场景中的渲染率,如光照、实体属性更新和动画- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 0.5See:
- 
    
    距离相机的距离(此时广告板,标签和点等的深度测试无效) 例如,为了防止裁剪地形。当把这个属性值设置为0的时候,深度测试就会一直开启;当值比0小的时候,深度测试将一直关闭。 如果设置了广告板,标签,点的disableDepthTestDistance属性值将会覆盖它- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 0.0
- 
    
    获取或者设置当前场景的模式- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 SceneMode.SCENE3D
- 
    
    R如果支持拾取位置的功能,则返回true
- 
    readonlypitCollection : LSPitCollection
- 
    
    获取场景地形开挖对象的集合
- 
    
    获取在渲染场景后立即引发的事件。事件的订阅者接收scene实例作为第一个参数,将当前时间作为第二个参数
- 
    
    获取在场景更新后以及渲染场景之前立即引发的事件。事件的订阅者接收scene作为第一个参数,将当前事件作为第二个参数
- 
    
    获取在场景更新后以及渲染场景之前将引发的事件。事件的订阅者接收scene作为第一个参数,将当前时间作为第二个参数
- 
    
    获取在更新或呈现场景之前将引发的事件,事件的订阅接受scene实例作为第一个参数,将当前事件作为第二个参数
- 
    
    获取primitives对象的集合
- 
    
    当render函数里有错误发生时,触发此事件
- 
    
    当场景需要渲染的时候,渲染帧就发生。启用它可以提高程序的性能,但是需要使用Scene#requestRender在这种模式下显式地呈现新框架。在对API的其他部分的场景进行改进之后,在很多情况下这是必要的- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 falseSee:
- 
    
    获取场景是否仅支3D显示
- 
    
    获取相机输入的控制参数
- 
    
    场景地表透明度
- 
    
    获取或设置地球的地形服务提供者。
- 
    
    地形服务提供者改变事件
- 
    
    获取或设置场景是否用单个视景体- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 true
- 
    
    获取或设置是否开启WebVR- 
    
    
    
    
    
    
    
    
    
    Default Value:
    
 false
- 
    
    获取场景水面对象的集合
Methods
- 
    
    将笛卡尔坐标转换成canvas坐标。这通常用于去定位一个HTML元素(与之在同样屏幕位置的场景中的一个对象)Name Type Description positionCartesian3 笛卡尔坐标系中的位置. resultCartesian2 optional 可选对象(返回转换成canvas坐标系时的输入坐标) Returns:如果未提供的话,则返回修改过的结果参数或者是新的笛卡尔二维坐标值。如果输入位置靠近球心,值是未定义的Example:// 随着鼠标移动,每时每刻都输出一个canvas的(0,0)格式的经纬度位置信息 var scene = widget.scene; var ellipsoid = scene.globe.ellipsoid; var position = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0); var handler = new LSGlobe.ScreenSpaceEventHandler(scene.canvas); handler.setInputAction(function(movement) { console.log(scene.cartesianToCanvasCoordinates(position)); }, LSGlobe.ScreenSpaceEventType.MOUSE_MOVE);
- 
    
    将笛卡尔坐标转换成canvas坐标。这通常用于去定位一个HTML元素(与之在同样屏幕位置的场景中的一个对象)Name Type Description positionCartesian3 在笛卡尔坐标系中的位置 resultCartesian2 optional 可选对象(返回转换成canvas坐标系时的输入坐标) Returns:如果未提供的话,则返回修改过的结果参数或者是新的笛卡尔二维坐标值。如果输入位置靠近球心,值是未定义的Example:// 随着鼠标移动,每时每刻都输出一个canvas的(0,0)格式的经纬度位置信息 var scene = widget.scene; var ellipsoid = scene.globe.ellipsoid; var position = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0); var handler = new LSGlobe.ScreenSpaceEventHandler(scene.canvas); handler.setInputAction(function(movement) { console.log(scene.cartesianToCanvasCoordinates(position)); }, LSGlobe.ScreenSpaceEventType.MOUSE_MOVE);
- 
    
    立即结束一个有效的转换
- 
    
    通过这个对象销毁webGL资源。销毁一个对象时候允许确定性的webGL资源的释放,而不是依靠垃圾回收站去销毁这个对象
 Returns:Throws:- 
    DeveloperError : 对象被销毁响应destroy()函数
 Example:scene = scene && scene.destroy();See:
- 
    
- 
    
    返回一系列对象。对于所有在特定屏幕坐标位置的primitives来说,每个对象都有一个primitive属性。 其他属性的设置也会依赖于primitive的类型。返回列表中的primitives是通过他们在场景中的可见顺序(从前往后)进行排序Name Type Description windowPositionCartesian2 执行拾取的窗口坐标 limitNumber optional 如果提供这个参数,在进行多次的pick之后将会停止drilling. Returns:对象数组,每个对象包含一个选取的primitives.Throws:- 
    DeveloperError : 窗口坐标未定义
 Example:var pickedObjects = scene.drillPick(new LSGlobe.Cartesian2(100.0, 200.0));
- 
    
- 
    
    判断是否支持压缩纹理形式Name Type Description formatString 纹理格式。可以是格式名称或WebGL扩展名称,例如 s3tc或WEBGL_compressed_texture_s3tc Returns:是否支持该格式
- 
    
    如果对象被销毁返回true,否则,falseReturns:true如果对象被销毁 否则,false.See:
- 
    
    异步转换场景2D模式.Name Type Default Description durationNumber 2.0optional 时间的值,以秒为单位,表示结束转换所需要的时间 
- 
    
    异步地把场景转成3DName Type Default Description durationNumber 2.0optional 时间的值,以秒为单位,表示结束转换所需要的时间 
- 
    
    异步地把场景转换成Columbus ViewName Type Default Description durationNumber 2.0optional 时间的值,以秒为单位,表示结束转换所需要的时间 
- 
    
    返回一个拥有primitive属性的对象(特定窗口坐标对应的场景中的第一个(最上面)的primitive对象。 或者返回undefined,如果定位处没有对象, 其他的属性的设置很有可能依赖于primitive对象的类, Dtiles对象被拾取,pick方法返回3DTileFeature对象Name Type Description windowPositionCartesian2 执行拾取的窗口坐标 Returns:包含拾取的primitive对象Throws:- 
    DeveloperError : 窗口坐标未定义
 Example:// 鼠标移动时,设置feature颜色为黄色 handler.setInputAction(function(movement) { var feature = scene.pick(movement.endPosition); if (feature instanceof LSGlobe.Cesium3DTileFeature) { feature.color = LSGlobe.Color.YELLOW; } }, LSGlobe.ScreenSpaceEventType.MOUSE_MOVE);
- 
    
- 
    pickPosition(windowPosition, result) → Cartesian3
- 
    
    从屏幕位置和深度纹理中获取笛卡尔坐标Name Type Description windowPositionCartesian2 执行拾取的窗口坐标 resultCartesian3 optional 待还原结果的对象 Returns:笛卡尔坐标位置Throws:- 
    DeveloperError : 不支持从深度纹理中拾取,请检查pickPositionSupported.
 
- 
    
- 
    
    Requests a new rendered frame whenScene#requestRenderModeis set totrue. The render rate will not exceed theCesiumWidget#targetFrameRate.
