Arma Reforger Script API
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
SCR_WorldTools Interface Reference

Static Public Member Functions

static bool TraceCylinder (vector pos, float radius=0.5, float height=2, TraceFlags flags=TraceFlags.ENTS|TraceFlags.OCEAN, BaseWorld world=null)
 Check for intersections within given cylinder.
 
static bool FindEmptyTerrainPosition (out vector outPosition, vector areaCenter, float areaRadius, float cylinderRadius=0.5, float cylinderHeight=2, TraceFlags flags=TraceFlags.ENTS|TraceFlags.OCEAN, BaseWorld world=null)
 Find empty terrain position for a cylinder.
 
static int FindAllEmptyTerrainPositions (out notnull array< vector > outPositions, vector areaCenter, float areaRadius, float cylinderRadius=0.5, float cylinderHeight=2, int maxResults=-1, TraceFlags flags=TraceFlags.ENTS|TraceFlags.OCEAN, BaseWorld world=null)
 Find all empty terrain positions for a cylinder.
 
static bool IsObjectUnderwater (notnull IEntity object, vector position=vector.Zero, int boneID=-1, out float depth=-1)
 Return true if position relative to object and physics skeleton bone offset is underwater.
 
static float GetWaterSurfaceY (BaseWorld world, vector worldPos, out EWaterSurfaceType waterSurfaceType, out float lakeArea)
 

Member Function Documentation

◆ FindAllEmptyTerrainPositions()

static int SCR_WorldTools.FindAllEmptyTerrainPositions ( out notnull array< vector >  outPositions,
vector  areaCenter,
float  areaRadius,
float  cylinderRadius = 0::5,
float  cylinderHeight = 2,
int  maxResults = -1,
TraceFlags  flags = TraceFlags::ENTS | TraceFlags::OCEAN,
BaseWorld  world = null 
)
static

Find all empty terrain positions for a cylinder.

Evaluates possible positions within area in hexagonal grid.

Parameters
[out]outPositionsArray filled with found positions
areaCenterCenter of queried area. Height is irrelevant, only terrain positions are queried.
areaRadiusRadius of queried area
cylinderRadiusExpected cylinder radius
cylinderHeightExpected cylinder full height
maxResultsMaximum number of desired results to return
flagsTracing flags
worldWorld which is being traced
Returns
Number of found positions

◆ FindEmptyTerrainPosition()

static bool SCR_WorldTools.FindEmptyTerrainPosition ( out vector  outPosition,
vector  areaCenter,
float  areaRadius,
float  cylinderRadius = 0::5,
float  cylinderHeight = 2,
TraceFlags  flags = TraceFlags::ENTS | TraceFlags::OCEAN,
BaseWorld  world = null 
)
static

Find empty terrain position for a cylinder.

Evaluates possible positions within area in hexagonal grid.

Parameters
[out]outPositionVariable filled with found position. When none was found, areaCenter will be filled.
areaCenterCenter of queried area. Height is irrelevant, only terrain positions are queried.
areaRadiusRadius of queried area
cylinderRadiusExpected cylinder radius
cylinderHeightExpected cylinder full height
flagsTracing flags
worldWorld which is being traced
Returns
True if position was found

◆ GetWaterSurfaceY()

static float SCR_WorldTools.GetWaterSurfaceY ( BaseWorld  world,
vector  worldPos,
out EWaterSurfaceType  waterSurfaceType,
out float  lakeArea 
)
static

◆ IsObjectUnderwater()

static bool SCR_WorldTools.IsObjectUnderwater ( notnull IEntity  object,
vector  position = vector::Zero,
int  boneID = -1,
out float  depth = -1 
)
static

Return true if position relative to object and physics skeleton bone offset is underwater.

Parameters
objectEntity to test for.
positionPosition relative to object.
boneIDCollider bone index. Collider position is applied as offset.
depthDistance to water surface (optional output)
Returns
isUnderwater Whether position is underwater

◆ TraceCylinder()

static bool SCR_WorldTools.TraceCylinder ( vector  pos,
float  radius = 0::5,
float  height = 2,
TraceFlags  flags = TraceFlags::ENTS | TraceFlags::OCEAN,
BaseWorld  world = null 
)
static

Check for intersections within given cylinder.

Performs 4 diagonal traces along cylinders circumference.

Parameters
posCylinder center position
radiusCylinder radius
heightCylinder full height
flagsTracing flags
worldWorld which is being traced
Returns
False if an intersection was found, true if the cylinder is devoid of obstacles

The documentation for this interface was generated from the following file: