Packagelaya.d3.math
Classpublic class OrientedBoundBox
InheritanceOrientedBoundBox Inheritance Object

OrientedBoundBox 类用于创建OBB包围盒。



Public Properties
 PropertyDefined By
  extents : Vector3
每个轴长度的一半
OrientedBoundBox
  transformation : Matrix4x4
这个矩阵表示包围盒的位置和缩放,它的平移向量表示该包围盒的中心
OrientedBoundBox
Public Methods
 MethodDefined By
  
OrientedBoundBox(extents:Vector3, transformation:Matrix4x4)
创建一个 OrientedBoundBox 实例。
OrientedBoundBox
  
cloneTo(destObject:*):void
克隆。
OrientedBoundBox
  
该包围盒是否包含空间中另一OBB包围盒
OrientedBoundBox
  
containsLine(point1:Vector3, point2:Vector3):int
该包围盒是否包含空间中一条线
OrientedBoundBox
  
该包围盒是否包含空间中另一OBB包围盒
OrientedBoundBox
  
该包围盒是否包含空间中一点
OrientedBoundBox
  
containsPoints(points:Vector.<Vector3>):int
该包围盒是否包含空间中多点
OrientedBoundBox
  
containsSphere(sphere:BoundSphere, ignoreScale:Boolean = false):int
该包围盒是否包含空间中一包围球
OrientedBoundBox
  
[static] 根据AABB包围盒创建一个 OrientedBoundBox 实例。
OrientedBoundBox
  
[static] 根据包围盒的最大最小两顶点创建一个 OrientedBoundBox 实例。
OrientedBoundBox
  
判断两个包围盒是否相等
OrientedBoundBox
  
getCenter(center:Vector3):void
该包围盒的几何中心
OrientedBoundBox
  
getCorners(corners:Vector.<Vector3>):void
获取OBB包围盒的8个顶点。
OrientedBoundBox
  
getObbtoObbMatrix4x4(a:OrientedBoundBox, b:OrientedBoundBox, noMatrixScaleApplied:Boolean, out:Matrix4x4):void
[static] 计算Obb包围盒变换到另一Obb包围盒的矩阵
OrientedBoundBox
  
getSize(out:Vector3):void
该包围盒需要考虑的尺寸
OrientedBoundBox
  
该包围盒需要考虑尺寸的平方
OrientedBoundBox
  
intersectsRay(ray:Ray, out:Vector3):Number
该包围盒是否与空间中另一射线相交
OrientedBoundBox
  
merge(a:OrientedBoundBox, b:OrientedBoundBox, noMatrixScaleApplied:Boolean):void
[static] 把一个Obb类型的包围盒b合入另一Obb型包围盒a
OrientedBoundBox
  
scale(scaling:Vector3):void
缩放该包围盒
OrientedBoundBox
  
Size(out:Vector3):void
该包围盒的尺寸。
OrientedBoundBox
  
变换该包围盒的矩阵信息。
OrientedBoundBox
  
translate(translation:Vector3):void
平移该包围盒。
OrientedBoundBox
Property Detail
extentsproperty
public var extents:Vector3

每个轴长度的一半

transformationproperty 
public var transformation:Matrix4x4

这个矩阵表示包围盒的位置和缩放,它的平移向量表示该包围盒的中心

Constructor Detail
OrientedBoundBox()Constructor
public function OrientedBoundBox(extents:Vector3, transformation:Matrix4x4)

创建一个 OrientedBoundBox 实例。

Parameters
extents:Vector3 — 每个轴长度的一半
 
transformation:Matrix4x4 — 包围盒的位置和缩放,
Method Detail
cloneTo()method
public function cloneTo(destObject:*):void

克隆。

Parameters

destObject:* — 克隆源。

containsBoundBox()method 
public function containsBoundBox(box:BoundBox):int

该包围盒是否包含空间中另一OBB包围盒

Parameters

box:BoundBox — 包围盒

Returns
int — 返回位置关系
containsLine()method 
public function containsLine(point1:Vector3, point2:Vector3):int

该包围盒是否包含空间中一条线

Parameters

point1:Vector3 — 点1
 
point2:Vector3 — 点2

Returns
int — 返回位置关系
containsOrientedBoundBox()method 
public function containsOrientedBoundBox(obb:OrientedBoundBox):int

该包围盒是否包含空间中另一OBB包围盒

Parameters

obb:OrientedBoundBox — OBB包围盒

Returns
int — 返回位置关系
containsPoint()method 
public function containsPoint(point:Vector3):int

该包围盒是否包含空间中一点

Parameters

point:Vector3 — 点

Returns
int — 返回位置关系
containsPoints()method 
public function containsPoints(points:Vector.<Vector3>):int

该包围盒是否包含空间中多点

Parameters

points:Vector.<Vector3> — 点

Returns
int — 返回位置关系
containsSphere()method 
public function containsSphere(sphere:BoundSphere, ignoreScale:Boolean = false):int

该包围盒是否包含空间中一包围球

Parameters

sphere:BoundSphere — 包围球
 
ignoreScale:Boolean (default = false) — 是否考虑该包围盒的缩放

Returns
int — 返回位置关系
createByBoundBox()method 
public static function createByBoundBox(box:BoundBox, out:OrientedBoundBox):void

根据AABB包围盒创建一个 OrientedBoundBox 实例。

Parameters

box:BoundBox — AABB包围盒。
 
out:OrientedBoundBox

createByMinAndMaxVertex()method 
public static function createByMinAndMaxVertex(min:Vector3, max:Vector3):OrientedBoundBox

根据包围盒的最大最小两顶点创建一个 OrientedBoundBox 实例。

Parameters

min:Vector3 — 包围盒的最小顶点。
 
max:Vector3 — 包围盒的最大顶点。

Returns
OrientedBoundBox
equals()method 
public function equals(obb:OrientedBoundBox):Boolean

判断两个包围盒是否相等

Parameters

obb:OrientedBoundBox — obb包围盒

Returns
Boolean — Boolean
getCenter()method 
public function getCenter(center:Vector3):void

该包围盒的几何中心

Parameters

center:Vector3

getCorners()method 
public function getCorners(corners:Vector.<Vector3>):void

获取OBB包围盒的8个顶点。

Parameters

corners:Vector.<Vector3> — 返回顶点的输出队列。

getObbtoObbMatrix4x4()method 
public static function getObbtoObbMatrix4x4(a:OrientedBoundBox, b:OrientedBoundBox, noMatrixScaleApplied:Boolean, out:Matrix4x4):void

计算Obb包围盒变换到另一Obb包围盒的矩阵

Parameters

a:OrientedBoundBox — Obb包围盒
 
b:OrientedBoundBox — Obb包围盒
 
noMatrixScaleApplied:Boolean — 是否考虑缩放
 
out:Matrix4x4 — 输出变换矩阵

getSize()method 
public function getSize(out:Vector3):void

该包围盒需要考虑的尺寸

Parameters

out:Vector3 — 输出

getSizeSquared()method 
public function getSizeSquared(out:Vector3):void

该包围盒需要考虑尺寸的平方

Parameters

out:Vector3 — 输出

intersectsRay()method 
public function intersectsRay(ray:Ray, out:Vector3):Number

该包围盒是否与空间中另一射线相交

Parameters

ray:Ray
 
out:Vector3

Returns
Number
merge()method 
public static function merge(a:OrientedBoundBox, b:OrientedBoundBox, noMatrixScaleApplied:Boolean):void

把一个Obb类型的包围盒b合入另一Obb型包围盒a

Parameters

a:OrientedBoundBox — obb包围盒
 
b:OrientedBoundBox — obb包围盒
 
noMatrixScaleApplied:Boolean — 是否考虑缩放

scale()method 
public function scale(scaling:Vector3):void

缩放该包围盒

Parameters

scaling:Vector3 — 各轴的缩放比。

Size()method 
public function Size(out:Vector3):void

该包围盒的尺寸。

Parameters

out:Vector3 — 输出

transform()method 
public function transform(mat:Matrix4x4):void

变换该包围盒的矩阵信息。

Parameters

mat:Matrix4x4 — 矩阵

translate()method 
public function translate(translation:Vector3):void

平移该包围盒。

Parameters

translation:Vector3 — 平移参数