Example
BoundingBox je ohraničujúca krabica orientovaná pozdĺž osí (AABB) definovaná dvoma Vector3 rohov: minimum (najnižšie x, y, z) a maximum (najvyššie x, y, z). Používa sa pre priestorové dotazy, ako sú testy bod‑v‑krabici, pomocníci pre orezávanie výrezov a odhad veľkosti na úrovni scény.
A BoundingBox môže byť v null (prázdny/neinicializovaný) stav pri vytvorení bez argumentov. Volanie merge() na null krabici ju inicializuje z prvého bodu alebo krabice, ktorý je poskytnutý.
Example: aspose.threed.utilities
Example
| Example | Example |
|---|
BoundingBox() | Null (prázdna) ohraničujúca krabica |
BoundingBox(minimum, maximum) | Konštruuje z dvoch Vector3 rohov |
BoundingBox(min_x, min_y, min_z, max_x, max_y, max_z) | Konštruuje zo šiestich skalárnych hodnôt |
Example
| Example | Example | Example |
|---|
minimum | Vector3 | Roh s najmenšími hodnotami x, y, z. Vráti (+inf, +inf, +inf) pre null krabicu |
maximum | Vector3 | Roh s najväčšími hodnotami x, y, z. Vráti (-inf, -inf, -inf) pre nulovú krabicu |
center | Vector3 | Stred medzi minimum a maximum; (0,0,0) pre nulovú krabicu |
size | Vector3 | Rozsah podľa osi (maximum - minimum); (0,0,0) pre nulový box |
Statické továrenské metódy
| Example | Návratový typ | Example |
|---|
BoundingBox.get_null() | BoundingBox | Vráti nulový (prázdny) ohraničovací box |
BoundingBox.get_infinite() | BoundingBox | Vráti nekonečný ohraničovací box zahŕňajúci celý priestor |
Inštančné metódy
| Example | Návratový typ | Example |
|---|
merge(point) | None | Rozšíri box tak, aby zahŕňal Vector3, Vector4, alebo iný BoundingBox |
merge(x, y, z) | None | Rozšíri box tak, aby zahŕňal bod (x, y, z) |
contains(point) | bool | Example True ak Vector3 bod je vo vnútri alebo na hranici |
contains(box) | bool | Example True ak box je úplne v tomto boxe |
overlaps_with(box) | bool | Example True ak sa dva boxy pretínajú |
scale() | float | Vráti najväčšiu absolútnu hodnotu súradnice — užitočné ako hrubý odhad mierky scény |
Example
Pozri tiež