lineIntersectsWith: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 22: | Line 22: | ||
|s1= [[lineIntersectsWith]] [begPos, endPos, objIgnore1, objIgnore2, sortByDistance] | |s1= [[lineIntersectsWith]] [begPos, endPos, objIgnore1, objIgnore2, sortByDistance] | ||
|p1= begPos: [[Position#PositionASL|PositionASL]] - virtual line start | |p1= begPos: [[Array]] format [[Position#PositionASL|PositionASL]] - virtual line start | ||
|p2= endPos: [[Position#PositionASL|PositionASL]] - virtual line end | |p2= endPos: [[Array]] format [[Position#PositionASL|PositionASL]] - virtual line end | ||
|p3= objIgnore1: | |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: | |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: | |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]] [[lineIntersectsObjs]] [[intersect]] [[terrainIntersect]] [[terrainIntersectASL]] [[terrainIntersectAtASL]] [[lineIntersects]] [[cursorObject]] | |seealso= [[lineIntersectsSurfaces]] [[lineIntersectsObjs]] [[intersect]] [[terrainIntersect]] [[terrainIntersectASL]] [[terrainIntersectAtASL]] [[lineIntersects]] [[cursorObject]] [[cursorTarget]] [[checkVisibility]] | ||
}} | }} | ||
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