lineIntersectsWith: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]2(\|.*)\]\]" to "{{GameCategory|arma2|Scripting Commands}}")
m (Text replacement - "_{10,} " to "")
Line 1: Line 1:
{{Command|Comments=
{{Command|Comments=
____________________________________________________________________________________________


| arma2oa |Game name=
| arma2oa |Game name=
Line 7: Line 6:


|gr1= Math - Geometry |GROUP1=
|gr1= Math - Geometry |GROUP1=
____________________________________________________________________________________________


| Returns objects intersecting with the virtual line from ''begPos'' to ''endPos''. By default resulting array of intersecting objects is unsorted. To sort by distance set ''sortByDistance'' param to [[true]]. <br><br>{{Important | Doesn't work under water. Max hardcoded distance is 1000m.}}|DESCRIPTION=
| Returns objects intersecting with the virtual line from ''begPos'' to ''endPos''. By default resulting array of intersecting objects is unsorted. To sort by distance set ''sortByDistance'' param to [[true]]. <br><br>{{Important | Doesn't work under water. Max hardcoded distance is 1000m.}}|DESCRIPTION=
____________________________________________________________________________________________


| '''lineIntersectsWith''' [begPos, endPos, objIgnore1, objIgnore2, sortByDistance] |SYNTAX=
| '''lineIntersectsWith''' [begPos, endPos, objIgnore1, objIgnore2, sortByDistance] |SYNTAX=
Line 21: Line 18:


| [[Array]] - intersecting objects |RETURNVALUE=
| [[Array]] - intersecting objects |RETURNVALUE=
____________________________________________________________________________________________


|x1= <code>_objects = [[lineIntersectsWith]] [<nowiki/>[[eyePos]] [[player]], [[AGLtoASL]] [[screenToWorld]] [0.5,0.5]];</code> |EXAMPLE1=
|x1= <code>_objects = [[lineIntersectsWith]] [<nowiki/>[[eyePos]] [[player]], [[AGLtoASL]] [[screenToWorld]] [0.5,0.5]];</code> |EXAMPLE1=
Line 28: Line 24:


|x3= Ignore objects: <code>_objects = [[lineIntersectsWith]] [<nowiki/>[[eyePos]] [[player]], [[aimPos]] chopper, [[player]], chopper];</code> |EXAMPLE3=
|x3= Ignore objects: <code>_objects = [[lineIntersectsWith]] [<nowiki/>[[eyePos]] [[player]], [[aimPos]] chopper, [[player]], chopper];</code> |EXAMPLE3=
____________________________________________________________________________________________


| [[lineIntersectsSurfaces]], [[lineIntersectsObjs]], [[intersect]], [[terrainIntersect]], [[terrainIntersectASL]], [[terrainIntersectAtASL]], [[lineIntersects]], [[cursorObject]], [[cursorTarget]], [[checkVisibility]] |SEEALSO=
| [[lineIntersectsSurfaces]], [[lineIntersectsObjs]], [[intersect]], [[terrainIntersect]], [[terrainIntersectASL]], [[terrainIntersectAtASL]], [[lineIntersects]], [[cursorObject]], [[cursorTarget]], [[checkVisibility]] |SEEALSO=

Revision as of 01:52, 17 January 2021

Hover & click on the images for description

Description

Description:
Returns objects intersecting with the virtual line from begPos to endPos. By default resulting array of intersecting objects is unsorted. To sort by distance set sortByDistance param to true.

Doesn't work under water. Max hardcoded distance is 1000m.
Groups:
Math - Geometry

Syntax

Syntax:
lineIntersectsWith [begPos, endPos, objIgnore1, objIgnore2, sortByDistance]
Parameters:
[begPos, endPos, objIgnore1, objIgnore2, sortByDistance]: Array
begPos: PositionASL - virtual line start
endPos: PositionASL - virtual line end
objIgnore1: (optional) Object - object to ignore. When testing intersection from an object/unit/vehicle, pass that object here to prevent intersection inside of the object.
objIgnore2: (optional) Object - another object to ignore. When testing intersection of a line between two objects, pass the second object here to prevent intersection inside of it being reported
sortByDistance: (optional) Boolean - true: Sort by distance => furthermost object first, closest object last; false: unsorted
Return Value:
Array - intersecting objects

Examples

Example 1:
_objects = lineIntersectsWith [eyePos player, AGLtoASL screenToWorld [0.5,0.5]];
Example 2:
Sort by distance: _objects = lineIntersectsWith [eyePos player, AGLtoASL screenToWorld [0.5,0.5], objNull, objNull, true];
Example 3:
Ignore objects: _objects = lineIntersectsWith [eyePos player, aimPos chopper, player, chopper];

Additional Information

See also:
lineIntersectsSurfaceslineIntersectsObjsintersectterrainIntersectterrainIntersectASLterrainIntersectAtASLlineIntersectscursorObjectcursorTargetcheckVisibility

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

Notes

Posted on may 31, 2012 - 10:50 (CEST)
Lou Montana
Please note the difference :
  • terrainIntersect
  • terrainIntersectASL
  • lineIntersects
  • lineIntersectsWith
  • lineIntersectsObjs
  • intersect

Bottom Section