Представляет собой выровненную по оси ограничительный бокс (AABB) в трехмерном пространстве.
const box = new v3d.Box3();
const mesh = new v3d.Mesh(
new v3d.SphereBufferGeometry(),
new v3d.MeshBasicMaterial()
);
// ensure the bounding box is computed for its geometry
// this should be done only once (assuming static geometries)
mesh.geometry.computeBoundingBox();
// ...
// in the animation loop, compute the current bounding box with the world matrix
box.copy(mesh.geometry.boundingBox).applyMatrix4(mesh.matrixWorld);
min — (необязательно) Vector3, представляющий нижнюю (x, y, z) границу бокса.
По умолчанию (+ Infinity, + Infinity, + Infinity).
max — (необязательно) Vector3, представляющий верхнюю (x, y, z) границу бокса. По умолчанию (- Infinity, - Infinity, - Infinity).
Создает Box3, ограниченное min и max..
Vector3 представляющая нижнюю (x, y, z) границу бокса.
По умолчанию (+ Infinity, + Infinity, + Infinity).
Vector3 представляющая верхнюю (x, y, z) границу бокса.
По умолчанию (- Infinity, - Infinity, - Infinity).
matrix - Matrix4 для применения
Преобразовывает данный Box3 с помощью предоставленной матрицы.
point - Vector3 для ограничения.
target — результат будет скопирован в этот Vector3.
Clamps точка point в границах этого поля.
Возвращает новый Box3 с теми же min и max, что и данный.
box - Box3 для проверки на включение.
Возвращает true, если это поле включает в себя все поле box. Если это и box идентичны,
эта функция также возвращает true.
point - Vector3 для проверки на включение.
Возвращает true, если указанная точка point лежит внутри или на границах данного поля.
box - Box3 для копирования.
Копирует значения min и max из box в этот box.
point - Vector3 для измерения расстояния до.
Возвращает расстояние от любого края этого поля до указанной точки. Если точка point лежит внутри этой области, расстояние будет равно 0.
box — Box для сравнения с этой.
Возвращает true, если у этого поля и box одинаковые нижняя и верхняя границы.
object - Object3D чтобы расширить box на.
Расширяет границы этого поля, включая object и его дочерние объекты, учитывая преобразования мира объекта и его дочерних объектов. Функция может привести к созданию более крупной области, чем это необходимо.
point - Vector3, которые должны быть включены в ищч.
Расширяет границы этого бокса, включая point.
scalar — Расстояние, на которое нужно увеличить бокс.
Расширяет каждое измерение бокса на scalar. При отрицательном значении размеры ячейки сужаются.
vector - Vector3 to expand the box by.
Равностороннее расширение этого поля на vector. Ширина этого поля будет увеличена на x-компонент vector в обоих направлениях. Высота этого поля будет увеличена на y-компонент vector в обоих направлениях. Глубина этого поля будет увеличена на компонент z вектора vector в обоих направлениях.
target — результат будет скопирован в эту Сферу.
Получает Sphere, ограничивающую box.
target — результат будет скопирован в этот Vector3.
Возвращает центральную точку поля в виде Vector3.
point - Vector3.
target — результат будет скопирован в этот Vector3.
Возвращает точку как пропорцию ширины и высоты данного поля.
target — результат будет скопирован в этот Vector3.
Возвращает ширину, высоту и глубину этого поля.
box — Box для пересечения.
Вычисляет пересечение этого и box, устанавливая верхнюю границу этого бокса на меньшую из верхних границ двух боксов, а нижнюю границу этого бокса на большую из нижних границ двух боксов. Если пересечения нет, делает этот бокс пустым.
box — Box для проверки пересечения.
Определяет, пересекает ли данный бокс box.
plane - Plane для проверки пересечения с ним.
Определяет, пересекает ли данный бокс plane.
sphere - Sphere для проверки пересечения.
Определяет, пересекает ли данный бокс sphere.
triangle - Triangle для проверки пересечения.
Определяет, пересекает ли данный box треугольник.
Возвращает true, если этот бокс включает нулевые точки в своих границах.
Обратите внимание, что box с равными нижней и верхней границами все еще включает одну точку, общую для обеих границ.
Делает этот box пустым.
min - Vector3, представляющий нижнюю (x, y, z) границу бокса.
max - Vector3, представляющий нижнюю верхнюю (x, y, z) границу бокса.
Устанавливает нижнюю и верхнюю (x, y, z) границы данного бокса.
Обратите внимание, что этот метод только копирует значения из заданных объектов.
array — Массив данных о положении, которое будет огибать результирующий бокс.
Устанавливает верхнюю и нижнюю границы этого поля, чтобы включить все данные в array.
attribute — Атрибут буфера с данными о положении, которые будет огибать результирующий бокс.
Устанавливает верхнюю и нижнюю границы этого поля, чтобы включить все данные в attribute.
center, - Желаемое положение центра бокса.
size — Желаемые размеры бокса по x, y и z.
Центрирует этот бокс по center и устанавливает ширину, высоту и глубину этого бокса на указанные значения
в size
object - Object3D для вычисления ограничивающего бокса.
Вычисляет граничную область объекта Object3D (включая его дочерние объекты), выровненную по мировой оси, с учетом мировых преобразований объекта и его дочерних объектов.
Функция может привести к тому, что бокс будет больше, чем это необходимо.
points — Массив Vector3s, который будет содержать результирующий бокс.
Устанавливает верхнюю и нижнюю границы этого бокса, чтобы включить все точки из points.
offset — Направление и расстояние смещения.
Добавляет offset к верхней и нижней границам этого поля, эффективно перемещая это поле на offset единиц в трехмерном пространстве.
box — Бокс, который будет объединен с этим боксом.
Вычисляет объединение этого бокса и box, устанавливая верхнюю границу этого бокса на большую из верхних границ двух боксов и нижнюю границу этого бокса на меньшую из нижних границ двух боксов.
О том как получить исходный код этого модуля читайте тут.