BoundingBox je okomito poravnata granična kutija (AABB) definirana s dva Vector3 ugla: minimum (najmanji x, y, z) i maximum (najveći x, y, z). Koristi se za prostorne upite poput testova točka-u-kutiji, pomoćnika za culling vidnog polja i procjene veličine na razini scene.
A BoundingBox može biti u null (prazno/neinicijalizirano) stanje kada je stvoren bez argumenata. Pozivanje merge() na null kutiji inicijalizira ga iz prve točke ili kutije koja je navedena.
: aspose.threed.utilities
| |
|---|
BoundingBox() | Null (prazna) granična kutija |
BoundingBox(minimum, maximum) | Kreira iz dva Vector3 ugla |
BoundingBox(min_x, min_y, min_z, max_x, max_y, max_z) | Kreira iz šest skalarnih vrijednosti |
| | |
|---|
minimum | Vector3 | Ugao s najmanjim x, y, z vrijednostima. Vraća (+inf, +inf, +inf) za null kutiju |
maximum | Vector3 | Ugao s najvećim x, y, z vrijednostima. Vraća (-inf, -inf, -inf) za null box |
center | Vector3 | Srednja točka između minimum i maximum; (0,0,0) za null box |
size | Vector3 | Opseg po osi (maximum - minimum); (0,0,0) za null kutiju |
Statičke metode tvornice
| Tip povratka | |
|---|
BoundingBox.get_null() | BoundingBox | Vraća null (praznu) ograničavajuću kutiju |
BoundingBox.get_infinite() | BoundingBox | Vraća beskonačnu ograničavajuću kutiju koja obuhvaća sav prostor |
Metode instance
| Tip povratka | |
|---|
merge(point) | None | Proširuje kutiju da uključi Vector3, Vector4, ili drugi BoundingBox |
merge(x, y, z) | None | Proširuje kutiju da uključi točku (x, y, z) |
contains(point) | bool | True ako Vector3 točka je unutar ili na granici |
contains(box) | bool | True ako box je u potpunosti unutar ove kutije |
overlaps_with(box) | bool | True ako se dvije kutije preklapaju |
scale() | float | Vraća najveću apsolutnu vrijednost koordinate — korisno kao grubu procjenu skale scene |
Vidi također