boundingBoxReal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(some formatting)
(Add 2.14's alternative syntax)
(8 intermediate revisions by 2 users not shown)
Line 2: Line 2:


|game1= arma3
|game1= arma3
|version1= 0.50
|version1= 0.50


Line 9: Line 8:
|gr1= Object Manipulation
|gr1= Object Manipulation


|descr= [[Image:Boundingbox.jpg|right|200px]] Returns a raw bounding box of given object in model coordinates space. This command is similar to [[boundingBox]] but gives more precise measurements.<br><br>
|descr= [[Image:Boundingbox.jpg|right|200px]] Returns a raw bounding box of given object in model coordinates space. This command is similar to [[boundingBox]] but gives more precise measurements.<br>
 
The alternative syntax allows to specify clipping type to be used, which in some cases could make the result even more precise.
{{GVI|arma3|1.92|}} An alternative syntax was introduced allowing to specify clipping type to be used, which in some cases could make bounding boxes even more precise. The output of both syntaxes was also extended to include bounding sphere diameter, identical to [[sizeOf]] return value.


|s1= [[boundingBoxReal]] object
|s1= [[boundingBoxReal]] object
Line 17: Line 15:
|p1= object: [[Object]]
|p1= object: [[Object]]


|r1= [[Array]] - the extreme points of the model in format [[PositionRelative]], as well as bounding box sphere diameter, to format [<nowiki/>[xmin, ymin, zmin],[xmax, ymax, zmax], boundingSphereDiameter].
|r1= [[Array]] - the extreme points of the model in format [[Position#PositionRelative|PositionRelative]], as well as (since {{GVI|arma3|1.92|size= 0.75}}) bounding box sphere radius, to format [<nowiki/>[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]
 
|s2= clippingType [[boundingBoxReal]] object


|s2= clippingType [[boundingBoxReal]] object {{GVI|arma3|1.92}}
|s2since= arma3 1.92


|p21= clippingType: [[Number]] - can be one of:
|p21= clippingType: [[Number]] - can be one of:
* 0 - ClipVisual (could significantly reduce the size of bounding boxes on buildings)
* 0 - ClipVisual (can significantly reduce bounding box's size on buildings)
* 1 - ClipShadow
* 1 - ClipShadow
* 2 - ClipGeometry
* 2 - ClipGeometry
* 3 - ClipGeneral (same type that is used in main syntax)
* 3 - ClipGeneral (same type that is used in the main syntax)


|p22= object: [[Object]]
|p22= object: [[Object]]


|r2= [[Array]] - the extreme points of the model in format [[PositionRelative]], as well as bounding box sphere diameter, to format [<nowiki/>[xmin, ymin, zmin],[xmax, ymax, zmax], boundingSphereDiameter].
|r2= [[Array]] - the extreme points of the model in format [[Position#PositionRelative|PositionRelative]], as well as bounding box sphere radius, to format [<nowiki/>[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]
 
|s3= boundingBoxReal [object, LOD]
 
|s3since= arma3 2.14
 
|p41= object: [[Object]]
 
|p42= LOD: [[String]] or [[Number]] - can be one of:
* {{hl|"Memory"}}
* {{hl|"Geometry"}}
* {{hl|"FireGeometry"}}
* {{hl|"LandContact"}}
* {{hl|"HitPoints"}}
* {{hl|"ViewGeometry"}}
When [[Number]] is used, command searches for a LOD with the similar [[LOD resolutions|LOD resolution]]
 
|r3= [[Array]] - the extreme points of the model in format [[Position#PositionRelative|PositionRelative]], as well as bounding box sphere radius, to format [<nowiki/>[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]


|x1= <code>_bbr = [[boundingBoxReal]] [[vehicle]] [[player]];
|x1= <sqf>
_p1 = _bbr [[select]] 0;
private _bbr = boundingBoxReal vehicle player;
_p2 = _bbr [[select]] 1;
private _p1 = _bbr select 0;
_maxWidth = [[abs]] ((_p2 [[select]] 0) - (_p1 [[select]] 0));
private _p2 = _bbr select 1;
_maxLength = [[abs]] ((_p2 [[select]] 1) - (_p1 [[select]] 1));
private _maxWidth = abs ((_p2 select 0) - (_p1 select 0));
_maxHeight = [[abs]] ((_p2 [[select]] 2) - (_p1 [[select]] 2));
private _maxLength = abs ((_p2 select 1) - (_p1 select 1));
</code>
private _maxHeight = abs ((_p2 select 2) - (_p1 select 2));
</sqf>


|x2= <code>[[hint]] [[str]] (0 [[boundingBoxReal]] [[cursorObject]]);</code>
|x2= <sqf>hint str (0 boundingBoxReal cursorObject);</sqf>


|seealso= [[boundingBox]], [[sizeOf]], [[boundingCenter]]
|seealso= [[boundingBox]] [[sizeOf]] [[boundingCenter]]
}}
}}

Revision as of 17:37, 20 March 2023

Hover & click on the images for description

Description

Description:
Boundingbox.jpg
Returns a raw bounding box of given object in model coordinates space. This command is similar to boundingBox but gives more precise measurements.
The alternative syntax allows to specify clipping type to be used, which in some cases could make the result even more precise.
Groups:
Object Manipulation

Syntax 1

Syntax:
boundingBoxReal object
Parameters:
object: Object
Return Value:
Array - the extreme points of the model in format PositionRelative, as well as (since Arma 3 logo black.png1.92) bounding box sphere radius, to format [[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]

Syntax 2

Syntax:
clippingType boundingBoxReal object
Parameters:
clippingType: Number - can be one of:
  • 0 - ClipVisual (can significantly reduce bounding box's size on buildings)
  • 1 - ClipShadow
  • 2 - ClipGeometry
  • 3 - ClipGeneral (same type that is used in the main syntax)
object: Object
Return Value:
Array - the extreme points of the model in format PositionRelative, as well as bounding box sphere radius, to format [[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]

Syntax 3

Syntax:
boundingBoxReal [object, LOD]
Parameters:
object: Object
LOD: String or Number - can be one of:
  • "Memory"
  • "Geometry"
  • "FireGeometry"
  • "LandContact"
  • "HitPoints"
  • "ViewGeometry"
When Number is used, command searches for a LOD with the similar LOD resolution
Return Value:
Array - the extreme points of the model in format PositionRelative, as well as bounding box sphere radius, to format [[xmin, ymin, zmin], [xmax, ymax, zmax], boundingSphereRadius]

Examples

Example 1:
private _bbr = boundingBoxReal vehicle player; private _p1 = _bbr select 0; private _p2 = _bbr select 1; private _maxWidth = abs ((_p2 select 0) - (_p1 select 0)); private _maxLength = abs ((_p2 select 1) - (_p1 select 1)); private _maxHeight = abs ((_p2 select 2) - (_p1 select 2));
Example 2:
hint str (0 boundingBoxReal cursorObject);

Additional Information

See also:
boundingBox sizeOf boundingCenter

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note