BoundingBox je pravougaoni okvir (AABB) usklađen s osama definisan sa dva Vector3 temena: minimum (najmanji x, y, z) i maximum (najveći x, y, z). Koristi se za prostorne upite kao što su testovi point‑in‑box, frustum culling pomoćnici i procena veličine na nivou scene.
A BoundingBox može biti u null (prazno/neinicijalizovano) stanje kada je kreirano bez argumenata. Pozivanje merge() na null box inicijalizuje ga iz prve tačke ili kutije koja je prosleđena.
: aspose.threed.utilities
| |
|---|
BoundingBox() | Null (prazna) ograničavajuća kutija |
BoundingBox(minimum, maximum) | Konstruiše iz dva Vector3 ugla |
BoundingBox(min_x, min_y, min_z, max_x, max_y, max_z) | Konstruiše iz šest skalarnih vrednosti |
| | |
|---|
minimum | Vector3 | Ugao sa najmanjim x, y, z vrednostima. Vraća (+inf, +inf, +inf) za null box |
maximum | Vector3 | Ugao sa najvećim x, y, z vrednostima. Vraća (-inf, -inf, -inf) za null box |
center | Vector3 | Srednja tačka između minimum i maximum; (0,0,0) za null box |
size | Vector3 | Raspon po osi (maximum - minimum); (0,0,0) za null box |
Statičke metode fabrike
| Tip povratne vrednosti | |
|---|
BoundingBox.get_null() | BoundingBox | Vraća null (praznu) bounding box |
BoundingBox.get_infinite() | BoundingBox | Vraća beskonačni okvir koji obuhvata sav prostor |
Metode instance
| Tip povratne vrednosti | |
|---|
merge(point) | None | Proširuje okvir da uključi Vector3, Vector4, ili drugi BoundingBox |
merge(x, y, z) | None | Proširuje okvir da uključi tačku (x, y, z) |
contains(point) | bool | True ako je Vector3 tačka se nalazi unutar ili na granici |
contains(box) | bool | True ako box je u potpunosti unutar ove kutije |
overlaps_with(box) | bool | True ako se dve kutije presecaju |
scale() | float | Vraća najveću apsolutnu vrednost koordinate — korisno kao gruba procena skale scene |
Vidi takođe