@simversus/yjvis / math / Box
Class: Box
Defined in: math/Box.ts:7
Constructors
Constructor
new Box(
min?,max?):Box
Defined in: math/Box.ts:49
构造函数
Parameters
min?
最小点
max?
最大点
Returns
Box
Properties
isBox3
isBox3:
boolean=true
Defined in: math/Box.ts:8
max
max:
Vec3
Defined in: math/Box.ts:12
包围盒最大点
min
min:
Vec3
Defined in: math/Box.ts:10
包围盒最小点
Accessors
center
Get Signature
get center():
Vec3
Defined in: math/Box.ts:30
获取包围盒中心点
Returns
depth
Get Signature
get depth():
number
Defined in: math/Box.ts:25
获取包围盒深度
Returns
number
height
Get Signature
get height():
number
Defined in: math/Box.ts:20
获取包围盒高度
Returns
number
maxSideLength
Get Signature
get maxSideLength():
number
Defined in: math/Box.ts:40
获取最大边长
Returns
number
radius
Get Signature
get radius():
number
Defined in: math/Box.ts:35
获取包围盒半径(对角线长度的一半)
Returns
number
width
Get Signature
get width():
number
Defined in: math/Box.ts:15
获取包围盒宽度
Returns
number
Methods
applyMatrix4()
applyMatrix4(
matrix):Box
Defined in: math/Box.ts:169
返回应用矩阵变换后的新包围盒
Parameters
matrix
变换矩阵
Returns
Box
新的 Box 实例
clone()
clone():
Box
Defined in: math/Box.ts:105
克隆当前包围盒
Returns
Box
新的 Box 实例
copy()
copy(
v):Box
Defined in: math/Box.ts:95
复制另一个包围盒的数据
Parameters
v
Box
源包围盒
Returns
Box
this
expandByPoint()
expandByPoint(
point):Box
Defined in: math/Box.ts:293
扩展包围盒以包含一个点
Parameters
point
Returns
Box
this
expandByVector()
expandByVector(
vector):Box
Defined in: math/Box.ts:305
按向量扩展包围盒(最小点减,最大点加)
Parameters
vector
Returns
Box
this
fromArray()
fromArray(
arr):Box
Defined in: math/Box.ts:80
从数组设置包围盒
Parameters
arr
number[]
[minX, maxX, minY, maxY, minZ, maxZ] 形式的数组
Returns
Box
this
getCenter()
getCenter(
target):Vec3
Defined in: math/Box.ts:327
获取包围盒的中心点
Parameters
target
目标向量,用于存储结果
Returns
中心点向量
getEdges()
getEdges():
Vec3[][]
Defined in: math/Box.ts:134
获取包围盒的12条边
Returns
Vec3[][]
Vec3 数组的数组,每个子数组包含两个点(起点、终点)
getIntersectionWithPlane()
getIntersectionWithPlane(
plane):Vec3[]
Defined in: math/Box.ts:186
获取平面通过包围盒切割形成的多边形顶点
Parameters
plane
切割平面
Returns
Vec3[]
多边形顶点的排序数组(Vec3[]),如果不相交或顶点数少于2则返回空数组
getVertices()
getVertices():
Vec3[]
Defined in: math/Box.ts:115
获取包围盒的8个顶点
Returns
Vec3[]
Vec3 数组
intersectsPlane()
intersectsPlane(
plane):boolean
Defined in: math/Box.ts:259
检查包围盒是否与平面相交
Parameters
plane
待检测的平面
Returns
boolean
true 如果相交
intersectsPoint()
intersectsPoint(
point):boolean
Defined in: math/Box.ts:240
检查点是否在包围盒内
Parameters
point
待检测的点
Returns
boolean
true 如果点在包围盒内
isEmpty()
isEmpty():
boolean
Defined in: math/Box.ts:316
检查包围盒是否为空(即 max < min)
Returns
boolean
true 如果为空
makeEmpty()
makeEmpty():
Box
Defined in: math/Box.ts:352
将包围盒置为空(min = Infinity, max = -Infinity)
Returns
Box
this
set()
set(
min,max):Box
Defined in: math/Box.ts:60
设置包围盒的最小点和最大点
Parameters
min
最小点
max
最大点
Returns
Box
this
setFromBufferAttribute()
setFromBufferAttribute(
attribute):Box
Defined in: math/Box.ts:338
从 BufferAttribute 设置包围盒
Parameters
attribute
BufferAttribute
BufferAttribute 对象
Returns
Box
this
toArray()
toArray():
number[]
Defined in: math/Box.ts:71
转换为数组 [minX, maxX, minY, maxY, minZ, maxZ]
Returns
number[]
数字数组
union()
union(
box):Box
Defined in: math/Box.ts:157
合并另一个包围盒(取并集)
Parameters
box
Box
另一个包围盒
Returns
Box
this
