OrthographicOffCenterFrustum

new SuperMap3D.OrthographicOffCenterFrustum()

视锥由6个平面定义。每个平面由一个Cartesian4对象表示,其中x、y和z分量定义了与平面垂直的单位矢量,w分量是平面到原点/相机位置的距离。
Example:
var maxRadii = ellipsoid.maximumRadius;

var frustum = new SuperMap3D.OrthographicOffCenterFrustum();
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;

Members

bottom : Number

底部裁剪平面。
Default Value: undefined

far : Number

远平面的距离。
Default Value: 500000000.0;

far : Number

远平面的距离。
Default Value: 500000000.0;

left : Number

左侧裁剪平面。
Default Value: undefined

near : Number

近平面的距离。
Default Value: 1.0

near : Number

近平面的距离。
Default Value: 1.0

readonlyprojectionMatrix : Matrix4

获取根据视锥计算出的正投影矩阵。
右侧裁剪平面。
Default Value: undefined

top : Number

顶部裁剪平面。
Default Value: undefined

Methods

clone(result)OrthographicFrustum

返回一个 OrthographicFrustum 实例的副本。
Name Type Description
result OrthographicFrustum optional 存储结果的对象。
Returns:
修改后的结果参数,或者一个新的 OrthographicFrustum 实例(如果没有提供)。

clone(result)OrthographicOffCenterFrustum

返回 OrthographicOffCenterFrustum 实例的副本。
Name Type Description
result OrthographicOffCenterFrustum optional 存储结果的对象。
Returns:
修改后的结果参数,或者一个新的 OrthographicOffCenterFrustum 实例(如果没有提供)。

computeCullingVolume(position, direction, up)CullingVolume

为这个视锥体创建一个体。
Name Type Description
position Cartesian3 视点位置。
direction Cartesian3 视线方向。
up Cartesian3 向上的方向。
Returns:
在给定位置和方向上的裁剪体。
Example:
// Check if a bounding volume intersects the frustum.
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

computeCullingVolume(position, direction, up)CullingVolume

为这个视锥体创建一个裁剪体。
Name Type Description
position Cartesian3 视点位置。
direction Cartesian3 视线方向。
up Cartesian3 向上的方向。
Returns:
在给定位置和方向上的裁剪体。
Example:
// Check if a bounding volume intersects the frustum.
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

equals(other)Boolean

比较所提供的 OrthographicFrustum 的分量,如果相等则返回 true,否则返回 false。
Name Type Description
other OrthographicFrustum optional 右侧 OrthographicFrustum。
Returns:
如果相等则为 true,否则为 false。

equals(other)Boolean

比较所提供的 OrthographicOffCenterFrustum 分量,如果相等则返回 true,否则返回 false。
Name Type Description
other OrthographicOffCenterFrustum optional 右侧 OrthographicOffCenterFrustum。
Returns:
如果相等则为 true,否则为 false。

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result)Cartesian2

返回像素的宽度和高度(以米为单位)。
Name Type Description
drawingBufferWidth Number 绘制buffer的宽度。
drawingBufferHeight Number 绘制buffer的高度。
distance Number 到近平面的距离,单位为米。
result Cartesian2 存储结果的对象。
Returns:
修改后的结果参数或 Cartesian2 的新实例,其 x 和 y 属性中分别包含像素的宽度和高度。
Throws:
Example:
// Example 1
// Get the width and height of a pixel.
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, new SuperMap3D.Cartesian2());

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result)Cartesian2

返回像素的宽度和高度(以米为单位)。
Name Type Description
drawingBufferWidth Number 绘制buffer的宽度。
drawingBufferHeight Number 绘制buffer的高度。
distance Number 到近平面的距离,以米为单位。
result Cartesian2 存储结果的对象。
Returns:
修改后的结果参数或 Cartesian2 的新实例,其 x 和 y 属性中分别包含像素的宽度和高度。
Throws:
Example:
// Example 1
// Get the width and height of a pixel.
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, new SuperMap3D.Cartesian2());

new SuperMap3D.OrthographicOffCenterFrustum()

每个平面由一个 Cartesian4 对象表示,其中 x、y 和 z 分量定义了平面的单位法向量,w 分量是平面与原点/相机位置的距离。
Example:
var maxRadii = ellipsoid.maximumRadius;

var frustum = new SuperMap3D.OrthographicOffCenterFrustum();
frustum.right = maxRadii * SuperMap3D.Math.PI;
frustum.left = -c.frustum.right;
frustum.top = c.frustum.right * (canvas.clientHeight / canvas.clientWidth);
frustum.bottom = -c.frustum.top;
frustum.near = 0.01 * maxRadii;
frustum.far = 50.0 * maxRadii;

Members

bottom : Number

底部裁剪平面。
Default Value: undefined

far : Number

远平面的距离。
Default Value: 500000000.0;

far : Number

远平面的距离。
Default Value: 500000000.0;

left : Number

左侧裁剪平面。
Default Value: undefined

near : Number

近平面的距离。
Default Value: 1.0

near : Number

近平面的距离。
Default Value: 1.0

readonlyprojectionMatrix : Matrix4

获取根据视锥计算出的正投影矩阵。
右侧裁剪平面。
Default Value: undefined

top : Number

顶部裁剪平面。
Default Value: undefined

Methods

clone(result)OrthographicFrustum

返回一个 OrthographicFrustum 实例的副本。
Name Type Description
result OrthographicFrustum optional 存储结果的对象。
Returns:
修改后的结果参数,或者一个新的 OrthographicFrustum 实例(如果没有提供)。

clone(result)OrthographicOffCenterFrustum

返回 OrthographicOffCenterFrustum 实例的副本。
Name Type Description
result OrthographicOffCenterFrustum optional 存储结果的对象。
Returns:
修改后的结果参数,或者一个新的 OrthographicOffCenterFrustum 实例(如果没有提供)。

computeCullingVolume(position, direction, up)CullingVolume

为这个视锥体创建一个体。
Name Type Description
position Cartesian3 视点位置。
direction Cartesian3 视线方向。
up Cartesian3 向上的方向。
Returns:
在给定位置和方向上的裁剪体。
Example:
// Check if a bounding volume intersects the frustum.
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

computeCullingVolume(position, direction, up)CullingVolume

为这个视锥体创建一个裁剪体。
Name Type Description
position Cartesian3 视点位置。
direction Cartesian3 视线方向。
up Cartesian3 向上的方向。
Returns:
在给定位置和方向上的裁剪体。
Example:
// Check if a bounding volume intersects the frustum.
var cullingVolume = frustum.computeCullingVolume(cameraPosition, cameraDirection, cameraUp);
var intersect = cullingVolume.computeVisibility(boundingVolume);

equals(other)Boolean

比较所提供的 OrthographicFrustum 的分量,如果相等则返回 true,否则返回 false。
Name Type Description
other OrthographicFrustum optional 右侧 OrthographicFrustum。
Returns:
如果相等则为 true,否则为 false。

equals(other)Boolean

比较所提供的 OrthographicOffCenterFrustum 分量,如果相等则返回 true,否则返回 false。
Name Type Description
other OrthographicOffCenterFrustum optional 右侧 OrthographicOffCenterFrustum。
Returns:
如果相等则为 true,否则为 false。

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result)Cartesian2

返回像素的宽度和高度(以米为单位)。
Name Type Description
drawingBufferWidth Number 绘制buffer的宽度。
drawingBufferHeight Number 绘制buffer的高度。
distance Number 到近平面的距离,单位为米。
result Cartesian2 存储结果的对象。
Returns:
修改后的结果参数或 Cartesian2 的新实例,其 x 和 y 属性中分别包含像素的宽度和高度。
Throws:
Example:
// Example 1
// Get the width and height of a pixel.
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, new SuperMap3D.Cartesian2());

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, result)Cartesian2

返回像素的宽度和高度(以米为单位)。
Name Type Description
drawingBufferWidth Number 绘制buffer的宽度。
drawingBufferHeight Number 绘制buffer的高度。
distance Number 到近平面的距离,以米为单位。
result Cartesian2 存储结果的对象。
Returns:
修改后的结果参数或 Cartesian2 的新实例,其 x 和 y 属性中分别包含像素的宽度和高度。
Throws:
Example:
// Example 1
// Get the width and height of a pixel.
var pixelSize = camera.frustum.getPixelDimensions(scene.drawingBufferWidth, scene.drawingBufferHeight, 0.0, new SuperMap3D.Cartesian2());