lineIntersectsWith: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 14: | Line 14: | ||
|gr1= Math - Geometry | |gr1= Math - Geometry | ||
|descr= Returns objects intersecting with the virtual line from ''begPos'' to ''endPos''. By default resulting array of intersecting objects is unsorted | |descr= Returns objects intersecting with the virtual line from ''begPos'' to ''endPos''. By default, the resulting array of intersecting objects is unsorted (see ''[[#Syntax|sortByDistance]]''). | ||
{{Feature|informative| | |||
* Does not work under water. | |||
* Max hardcoded distance is 1000m. | |||
}} | |||
|s1= [[lineIntersectsWith]] [begPos, endPos, objIgnore1, objIgnore2, sortByDistance] | |||
|p1= begPos: [[Array]] format [[Position#PositionASL|PositionASL]] - virtual line start | |||
|p2= endPos: [[Array]] format [[Position#PositionASL|PositionASL]] - virtual line end | |||
|p3= objIgnore1: [[Object]] - (Optional) object to ignore. When testing intersection from an object/unit/vehicle, pass that object here to prevent intersection inside of the object. | |||
| | |p4= objIgnore2: [[Object]] - (Optional) 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 | ||
| | |p5= sortByDistance: [[Boolean]] - (Optional) [[true]]: sort by '''desc'''ending distance (furthermost object first, closest object last); [[false]]: unsorted | ||
|r1= [[Array]] - intersecting objects | |r1= [[Array]] - intersecting objects | ||
|x1= < | |x1= <sqf>_objects = lineIntersectsWith [eyePos player, AGLToASL screenToWorld [0.5, 0.5]];</sqf> | ||
|x2= Sort by distance: < | |x2= Sort by distance: | ||
<sqf>_objects = lineIntersectsWith [eyePos player, AGLToASL screenToWorld [0.5, 0.5], objNull, objNull, true];</sqf> | |||
|x3= Ignore objects: < | |x3= Ignore objects: | ||
<sqf>_objects = lineIntersectsWith [eyePos player, aimPos chopper, player, chopper];</sqf> | |||
|seealso= [[lineIntersectsSurfaces]] | |seealso= [[lineIntersectsSurfaces]] [[lineIntersectsObjs]] [[intersect]] [[terrainIntersect]] [[terrainIntersectASL]] [[terrainIntersectAtASL]] [[lineIntersects]] [[cursorObject]] [[cursorTarget]] [[checkVisibility]] | ||
}} | }} | ||
{{Note | |||
|user= Lou Montana | |||
|timestamp= 20120531105000 | |||
|text= Please note the difference : | |||
* terrainIntersect | |||
* terrainIntersectASL | |||
*terrainIntersect | * lineIntersect'''''s''''' | ||
*terrainIntersectASL | * lineIntersect'''''s'''''With | ||
*lineIntersect'''''s''''' | * lineIntersect'''''s'''''Objs | ||
*lineIntersect'''''s'''''With | * intersect | ||
*lineIntersect'''''s'''''Objs | }} | ||
*intersect | |||
Latest revision as of 16:22, 23 December 2022
Description
- Description:
- Returns objects intersecting with the virtual line from begPos to endPos. By default, the resulting array of intersecting objects is unsorted (see sortByDistance).
- Groups:
- Math - Geometry
Syntax
- Syntax:
- lineIntersectsWith [begPos, endPos, objIgnore1, objIgnore2, sortByDistance]
- Parameters:
- begPos: Array format PositionASL - virtual line start
- endPos: Array format PositionASL - virtual line end
- objIgnore1: Object - (Optional) object to ignore. When testing intersection from an object/unit/vehicle, pass that object here to prevent intersection inside of the object.
- objIgnore2: Object - (Optional) 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: Boolean - (Optional) true: sort by descending distance (furthermost object first, closest object last); false: unsorted
- Return Value:
- Array - intersecting objects
Examples
- Example 1:
- Example 2:
- Sort by distance:
- Example 3:
- Ignore objects:
Additional Information
- See also:
- lineIntersectsSurfaces lineIntersectsObjs intersect terrainIntersect terrainIntersectASL terrainIntersectAtASL lineIntersects cursorObject cursorTarget checkVisibility
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
- Posted on May 31, 2012 - 10:50 (UTC)
-
Please note the difference :
- terrainIntersect
- terrainIntersectASL
- lineIntersects
- lineIntersectsWith
- lineIntersectsObjs
- intersect