Example
BoundingBox yra axis-aligned bounding box (AABB), apibrėžta pagal du Vector3 kampus: minimum (mažiausi x, y, z) ir maximum (didžiausi x, y, z). Ji naudojama erdviniams užklausoms, tokioms kaip point-in-box testai, frustum culling pagalbinės priemonės ir scenos lygmens dydžio įvertinimas.
A BoundingBox gali būti null (tuščia/neinicijuota) būsena, kai sukuriama be argumentų. Iškviečiant merge() ant null dėžutės inicializuoja ją iš pirmojo pateikto taško arba dėžutės.
Example: aspose.threed.utilities
Example
| Example | Example |
|---|
BoundingBox() | Null (tuščia) ribinė dėžutė |
BoundingBox(minimum, maximum) | Kuria iš dviejų Vector3 kampų |
BoundingBox(min_x, min_y, min_z, max_x, max_y, max_z) | Kuria iš šešių skaliarinių verčių |
Example
| Example | Example | Example |
|---|
minimum | Vector3 | Kampas su mažiausiomis x, y, z reikšmėmis. Grąžina (+inf, +inf, +inf) null dėžutei |
maximum | Vector3 | Kampas su didžiausiomis x, y, z reikšmėmis. Grąžina (-inf, -inf, -inf) null box’ui |
center | Vector3 | Vidurio taškas tarp minimum ir maximum; (0,0,0) null box’ui |
size | Vector3 | Ištempimas per ašį (maximum - minimum); (0,0,0) nulinės dėžės |
Statiniai gamykliniai metodai
| Example | Grąžinimo tipas | Example |
|---|
BoundingBox.get_null() | BoundingBox | Grąžina nulinę (tuščią) ribų dėžę |
BoundingBox.get_infinite() | BoundingBox | Grąžina begalinę ribų dėžę, apimančią visą erdvę |
Instanciniai metodai
| Example | Grąžinimo tipas | Example |
|---|
merge(point) | None | Išplečia dėžę, kad įtrauktų Vector3, Vector4, arba kitą BoundingBox |
merge(x, y, z) | None | Išplečia dėžę, kad įtrauktų tašką (x, y, z) |
contains(point) | bool | Example True jei Vector3 taškas yra viduje arba ant ribos |
contains(box) | bool | Example True jei box yra visiškai šioje dėžėje |
overlaps_with(box) | bool | Example True jei dvi dėžės kertasi |
scale() | float | Grąžina didžiausią absoliutų koordinatės reikšmę — naudinga kaip apytikslis scenos mastelio įvertinimas |
Example
Žr. taip pat