getRoadInfo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "PositionASL" to "PositionASL")
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
|gr1= Roads and Airports
|gr1= Roads and Airports


|descr=Returns road info in format [mapType, width, isPedestrian, texture, textureEnd, material, begPos, endPos, isBridge]
|descr= Returns road piece information.
{{Feature | Informative | The bridges are special case. Only large bridges are part of Road Net. Small pedestrian bridges are not recognized as roads. Bridge `mapType` is {{hl|"ROAD"}} so the best way to detect bridges is to check `isBridge` boolean. Bridges are not part of new roads and don't have the same info as other new roads, so only `mapType`, `texture` (maybe `textureEnd`), `begPos`, `endPos` and `isBridge` are  updated.}}
{{Feature|informative|
{{Feature | Informative | Pedestrian roads `mapType` is usually {{hl|"TRAIL"}}. They are part of Road Net but excluded from path finding. Use [[roadsConnectedTo]] with alternative flag to find the connections between pedestrian roads.}}
* Bridges are special case. Only large bridges are part of Road Net. Small pedestrian bridges are not recognized as roads. Bridge "mapType" is {{hl|"ROAD"}} so the best way to detect bridges is to check "isBridge" value. Bridges are not part of new roads and don't have the same info as other new roads, so only "mapType", "texture" (maybe "textureEnd"), "begPos", "endPos" and "isBridge" are  updated.
* Pedestrian roads "mapType" is usually {{hl|"TRAIL"}}. They are part of Road Net but excluded from path finding. Use [[roadsConnectedTo]] with alternative flag to find the connections between pedestrian roads.
}}


|s1= [[getRoadInfo]] road
|s1= [[getRoadInfo]] road
Line 14: Line 16:
|p1= road: [[Object]]
|p1= road: [[Object]]


|r1= [[Array]] in format [mapType, width, isPedestrian, texture, textureEnd, material, begPos, endPos, isBridge], where:
|r1= [[Array]] in format [mapType, width, isPedestrian, texture, textureEnd, material, begPos, endPos, isBridge, AIpathOffset], where:
* mapType: [[String]] - road segment type, could be {{hl|"ROAD"}}, {{hl|"MAIN ROAD"}}, {{hl|"TRACK"}}, {{hl|"TRAIL"}} (see [[nearestTerrainObjects]])
* mapType: [[String]] - road segment type, could be {{hl|"HIDE"}}, {{hl|"ROAD"}}, {{hl|"MAIN ROAD"}}, {{hl|"TRACK"}}, {{hl|"TRAIL"}} (see [[nearestTerrainObjects]])
* width: [[Number]] - road segment width
* width: [[Number]] - road segment width
* isPedestrian: [[Boolean]] - when [[true]] road is for pedestrian use only
* isPedestrian: [[Boolean]] - when [[true]] road is for pedestrian use only
Line 21: Line 23:
* textureEnd: [[String]] - road segment surface texture
* textureEnd: [[String]] - road segment surface texture
* material: [[String]] - road segment surface material  
* material: [[String]] - road segment surface material  
* begPos: [[Position#PositionASL|PositionASL]] - start of the road segment
* begPos: [[Array]] format [[Position#PositionASL|PositionASL]] - start of the road segment
* endPos: [[Position#PositionASL|PositionASL]] - finish of the road segment
* endPos: [[Array]] format [[Position#PositionASL|PositionASL]] - finish of the road segment
* isBridge: [[Boolean]] - when [[true]] road segment is a bridge
* isBridge: [[Boolean]] - when [[true]] road segment is a bridge
* {{GVI|arma3|2.12|size= 0.75}} AIpathOffset: [[Number]] - config value of `AIpathOffset`


|x1= <code>[[getRoadInfo]] _road</code>
|x1= <sqf>
|x2= Get direction of the road segment:<code>[[private]] _info = [[getRoadInfo]] _road;
private _info = getRoadInfo _road;
[[private]] _dir = (_info [[select]] 6) [[getDir]] (_info [[select]] 7);</code>
_info params ["_mapType", "_width", "_isPedestrian", "_texture", "_textureEnd", "_material", "_begPos", "_endPos", "_isBridge"];
private _roadDirection = _begPos getDir _endPos;
</sqf>


|seealso= [[nearRoads]] [[roadsConnectedTo]] [[isOnRoad]] [[roadAt]] [[nearestTerrainObjects]]
|seealso= [[nearRoads]] [[roadsConnectedTo]] [[isOnRoad]] [[roadAt]] [[nearestTerrainObjects]]
}}
}}

Latest revision as of 19:15, 30 December 2022

Hover & click on the images for description

Description

Description:
Returns road piece information.
  • Bridges are special case. Only large bridges are part of Road Net. Small pedestrian bridges are not recognized as roads. Bridge "mapType" is "ROAD" so the best way to detect bridges is to check "isBridge" value. Bridges are not part of new roads and don't have the same info as other new roads, so only "mapType", "texture" (maybe "textureEnd"), "begPos", "endPos" and "isBridge" are updated.
  • Pedestrian roads "mapType" is usually "TRAIL". They are part of Road Net but excluded from path finding. Use roadsConnectedTo with alternative flag to find the connections between pedestrian roads.
Groups:
Roads and Airports

Syntax

Syntax:
getRoadInfo road
Parameters:
road: Object
Return Value:
Array in format [mapType, width, isPedestrian, texture, textureEnd, material, begPos, endPos, isBridge, AIpathOffset], where:
  • mapType: String - road segment type, could be "HIDE", "ROAD", "MAIN ROAD", "TRACK", "TRAIL" (see nearestTerrainObjects)
  • width: Number - road segment width
  • isPedestrian: Boolean - when true road is for pedestrian use only
  • texture: String - road segment surface texture
  • textureEnd: String - road segment surface texture
  • material: String - road segment surface material
  • begPos: Array format PositionASL - start of the road segment
  • endPos: Array format PositionASL - finish of the road segment
  • isBridge: Boolean - when true road segment is a bridge
  • Arma 3 logo black.png2.12 AIpathOffset: Number - config value of `AIpathOffset`

Examples

Example 1:
private _info = getRoadInfo _road; _info params ["_mapType", "_width", "_isPedestrian", "_texture", "_textureEnd", "_material", "_begPos", "_endPos", "_isBridge"]; private _roadDirection = _begPos getDir _endPos;

Additional Information

See also:
nearRoads roadsConnectedTo isOnRoad roadAt nearestTerrainObjects

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