Example Code: Get Center: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (various changes)
m (Some wiki formatting)
 
Line 1: Line 1:
{{GVI|arma3|1.92}}
{{GVI|arma3|1.92}}


<syntaxhighlight lang="cpp">/*
<sqf>/*
   Author: R3vo
   Author: R3vo


Line 10: Line 10:


   Parameter(s):
   Parameter(s):
   0: ARRAY -  Array of positions,objects, markers, groups or locations.
   0: ARRAY -  Array of positions, objects, markers, groups or locations.


   Returns:
   Returns:
Line 16: Line 16:
*/
*/


#define POSITIONS allUnits //Array of positions,objects, markers, groups or locations.
params [
["_entities", [], [[]]] // array of positions, objects, markers, groups or locations
];


private _sumPositions = [0,0,0];
private _sumPositions = [0,0,0];
if (_entities isEqualTo []) exitWith { _sumPositions };


{
{
_sumPositions = _sumPositions vectorAdd (_x call BIS_fnc_position);
_sumPositions = _sumPositions vectorAdd (_x call BIS_fnc_position);
} forEach POSITIONS;
} forEach _entities;
 
// return center position
_sumPositions vectorMultiply (1 / count _entities);
</sqf>


//Return center position
_sumPositions vectorMultiply 1 / count POSITIONS</syntaxhighlight>


[[Category: Example Code]]
[[Category: Example Code]]

Latest revision as of 19:43, 2 April 2022

Arma 3 logo black.png1.92

/* Author: R3vo Date: 2019-08-18 Description: Returns the center position of given coordinates or objects. Parameter(s): 0: ARRAY - Array of positions, objects, markers, groups or locations. Returns: ARRAY - Array of center in form [x,y,z] */ params [ ["_entities", [], [[]]] // array of positions, objects, markers, groups or locations ]; private _sumPositions = [0,0,0]; if (_entities isEqualTo []) exitWith { _sumPositions }; { _sumPositions = _sumPositions vectorAdd (_x call BIS_fnc_position); } forEach _entities; // return center position _sumPositions vectorMultiply (1 / count _entities);