BIS fnc getIntersectionsUnderCursor: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Fix parameters and return value)
m (Text replacement - "|size=0.8" to "|size= 0.75")
 
Line 28: Line 28:
* "IFIRE" - ("I" stands for Indirect, ''almost'' identical to "FIRE")
* "IFIRE" - ("I" stands for Indirect, ''almost'' identical to "FIRE")
* "NONE"
* "NONE"
* {{GVI|arma3|2.02|size=0.8}} "PHYSX" - PhysX geometry LOD
* {{GVI|arma3|2.02|size= 0.75}} "PHYSX" - PhysX geometry LOD
* {{GVI|arma3|2.08|size=0.8}} "ROADWAY" - only works from the top
* {{GVI|arma3|2.08|size= 0.75}} "ROADWAY" - only works from the top
|p7since= arma3 1.52
|p7since= arma3 1.52


Line 40: Line 40:
* intersectObject: [[Object]] - the object the surface belongs to (could be proxy object) - [[objNull]] if terrain
* intersectObject: [[Object]] - the object the surface belongs to (could be proxy object) - [[objNull]] if terrain
* parentObject: [[Object]] - the object proxy object belongs to (not always the same as intersect object) - [[objNull]] if terrain
* parentObject: [[Object]] - the object proxy object belongs to (not always the same as intersect object) - [[objNull]] if terrain
* {{GVI|arma3|2.10|size=0.8}} [[selectionNames]]: [[Array]] of [[String]]s - Names of the intersected selections (bones). Returns {{hl|[]}} if there is no intersection with a selection.
* {{GVI|arma3|2.10|size= 0.75}} [[selectionNames]]: [[Array]] of [[String]]s - Names of the intersected selections (bones). Returns {{hl|[]}} if there is no intersection with a selection.
* {{GVI|arma3|2.10|size=0.8}} pathToBisurf: [[String]] - path to intersected surface properties (.bisurf) file. Returns {{hl|""}} if surface has no special properties. Terrain surface properties begin with {{hl|#}}, and the surface properties are defined in {{hl|CfgSurfaces}}. For example, if it returns {{hl|#GdtVRsurface01}}, properties are defined in: <sqf inline>configFile >> "CfgSurfaces" >> "GdtVRsurface01"</sqf>
* {{GVI|arma3|2.10|size= 0.75}} pathToBisurf: [[String]] - path to intersected surface properties (.bisurf) file. Returns {{hl|""}} if surface has no special properties. Terrain surface properties begin with {{hl|#}}, and the surface properties are defined in {{hl|CfgSurfaces}}. For example, if it returns {{hl|#GdtVRsurface01}}, properties are defined in: <sqf inline>configFile >> "CfgSurfaces" >> "GdtVRsurface01"</sqf>


|x1= <sqf>[0.5, 0.5, player, objNull, true, "VIEW"] call BIS_fnc_getIntersectionsUnderCursor;</sqf>
|x1= <sqf>[0.5, 0.5, player, objNull, true, "VIEW"] call BIS_fnc_getIntersectionsUnderCursor;</sqf>

Latest revision as of 13:10, 21 December 2022

Hover & click on the images for description

Description

Description:
Returns intersections under cursor. For more information see lineIntersectsSurfaces.
Execution:
call
Groups:
Geometry

Syntax

Syntax:
[screenX, screenY, ignoreObj1, ignoreObj2, sortMode, maxResults, LOD1, LOD2] call BIS_fnc_getIntersectionsUnderCursor
Parameters:
screenX: Number - (Optional, default 0) cursor's X position - see screenToWorld
screenY: Number - (Optional, default 0) cursor's Y position - see screenToWorld
ignoreObj1: Object - (Optional, default objNull) first object to ignore
ignoreObj2: Object - (Optional, default objNull) second object to ignore
sortMode: Boolean - (Optional, default true) true: closest to furthest, false: furthest to closest
maxResults: Number - (Optional, default 1) max results to return. -1 to return every result
since Arma 3 logo black.png1.52
LOD1: String - (Optional, default "VIEW") primary LOD to look for intersection. Can be one of:
  • "FIRE"
  • "VIEW"
  • "GEOM"
  • "IFIRE" - ("I" stands for Indirect, almost identical to "FIRE")
  • "NONE"
  • Arma 3 logo black.png2.02 "PHYSX" - PhysX geometry LOD
  • Arma 3 logo black.png2.08 "ROADWAY" - only works from the top
since Arma 3 logo black.png1.52
LOD2: String - (Optional, default "FIRE") secondary LOD to look for intersection. See LOD1 for possible values
Return Value:
Array of intersections in format [[intersectPosASL, surfaceNormal, intersectObj, parentObject, selectionNames, pathToBisurf], ...] where:
  • intersectPosASL: PositionASL - the actual position where line intersects surface
  • surfaceNormal: Vector - a normal to the intersected surface
  • intersectObject: Object - the object the surface belongs to (could be proxy object) - objNull if terrain
  • parentObject: Object - the object proxy object belongs to (not always the same as intersect object) - objNull if terrain
  • Arma 3 logo black.png2.10 selectionNames: Array of Strings - Names of the intersected selections (bones). Returns [] if there is no intersection with a selection.
  • Arma 3 logo black.png2.10 pathToBisurf: String - path to intersected surface properties (.bisurf) file. Returns "" if surface has no special properties. Terrain surface properties begin with #, and the surface properties are defined in CfgSurfaces. For example, if it returns #GdtVRsurface01, properties are defined in: configFile >> "CfgSurfaces" >> "GdtVRsurface01"

Examples

Example 1:
[0.5, 0.5, player, objNull, true, "VIEW"] call BIS_fnc_getIntersectionsUnderCursor;

Additional Information

See also:
lineIntersectsSurfaces

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