OrthographicFrustum

new SuperMap3D.OrthographicFrustum()

视锥体由 6 个平面定义。 每个平面通过Cartesian4对象表示,其中 x、y、z 分量定义了平面的单位法向量,w 分量表示该平面到原点或相机位置的距离‌。
Name Type Default Description
options.width Number optional 截锥体的宽度,以米为单位。
options.aspectRatio Number optional 截锥体宽度与高度的宽高比。
options.near Number 1.0 optional 近平面的距离。
options.far Number 500000000.0 optional 远平面的距离。
Example:
var maxRadii = ellipsoid.maximumRadius;

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

Members

staticSuperMap3D.OrthographicFrustum.packedLength : Number

将对象打包到数组中所使用的元素数量。

aspectRatio : Number

截锥体宽度与高度的宽高比。
Default Value: undefined

far : Number

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

near : Number

近平面的距离。
Default Value: 1.0

readonlyprojectionMatrix : Matrix4

从视锥体中计算得到的正交投影矩阵。

readonlyprojectionMatrix : Matrix4

获取从视图截锥体计算的正交投影矩阵。

width : Number

截锥体的水平宽度,以米为单位。
Default Value: undefined

Methods

staticSuperMap3D.OrthographicFrustum.pack(value, array, startingIndex)Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value OrthographicFrustum 要打包的值。
array Array.<Number> 要打包到的数组。
startingIndex Number 0 optional 开始将元素打包到数组中的起始索引。
Returns:
被打包到的数组。

staticSuperMap3D.OrthographicFrustum.unpack(array, startingIndex, result)OrthographicFrustum

从打包的数组中检索一个实例。
Name Type Default Description
array Array.<Number> 要打包的数组。
startingIndex Number 0 optional 要解包的元素的起始索引。
result OrthographicFrustum optional 用于存储结果的对象。
Returns:
如果未提供,则返回修改后的结果参数或一个新的正交视锥体(OrthographicFrustum)实例。

clone(result)OrthographicFrustum

返回一个正交视锥体(OrthographicFrustum)实例的副本。
Name Type Description
result OrthographicFrustum optional 用于存储结果的对象。
Returns:
如果未提供,则返回修改后的结果参数或一个新的正交视锥体(OrthographicFrustum)实例。

clone(result)OrthographicFrustum

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

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 右侧的正交视锥体。
Returns:
如果它们相等则返回true,否则返回false。

equals(other)Boolean

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

equalsEpsilon(other, relativeEpsilon, absoluteEpsilon)Boolean

逐分量比较提供的正交视锥体,如果它们通过绝对或相对容差测试,则返回true,否则返回false。
Name Type Default Description
other OrthographicFrustum 右侧正交视锥体
relativeEpsilon Number 用于相等性测试的相对epsilon容差值。
absoluteEpsilon Number relativeEpsilon optional 用于相等性测试的绝对epsilon容差值。
Returns:
如果这个正交视锥体(OrthographicFrustum)和另一个正交视锥体在提供的epsilon容差范围内,则返回true,否则返回false。

getPixelDimensions(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result)Cartesian2

返回像素的宽度和高度(单位为米)。
Name Type Description
drawingBufferWidth Number 绘图缓冲区的宽度‌。
drawingBufferHeight Number 绘图缓冲区的高度‌。
distance Number 到近平面的距离,以米为单位。
pixelRatio 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, scene.pixelRatio, 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());