2016-06-25 08:53:19 +02:00

1529 lines
36 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" href="stylesheet.css" type="text/css"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"></div>
<div id="product_name"><big><b></b></big></div>
<div id="product_description"></div>
</div>
<div id="main">
<div id="navigation">
<h2>Modules</h2>
<ul><li>
<a href="index.html">index</a>
</li></ul>
<ul>
<li><a href="AIBalancer.html">AIBalancer</a></li>
<li><a href="Airbase.html">Airbase</a></li>
<li><a href="AirbasePolice.html">AirbasePolice</a></li>
<li><a href="Base.html">Base</a></li>
<li><a href="CARGO.html">CARGO</a></li>
<li><a href="CleanUp.html">CleanUp</a></li>
<li><a href="Client.html">Client</a></li>
<li><a href="Controllable.html">Controllable</a></li>
<li><a href="DCSAirbase.html">DCSAirbase</a></li>
<li><a href="DCSCoalitionObject.html">DCSCoalitionObject</a></li>
<li><a href="DCSCommand.html">DCSCommand</a></li>
<li><a href="DCSController.html">DCSController</a></li>
<li><a href="DCSGroup.html">DCSGroup</a></li>
<li><a href="DCSObject.html">DCSObject</a></li>
<li><a href="DCSTask.html">DCSTask</a></li>
<li><a href="DCSTypes.html">DCSTypes</a></li>
<li><a href="DCSUnit.html">DCSUnit</a></li>
<li><a href="DCSWorld.html">DCSWorld</a></li>
<li><a href="DCStimer.html">DCStimer</a></li>
<li><a href="DEPLOYTASK.html">DEPLOYTASK</a></li>
<li><a href="DESTROYBASETASK.html">DESTROYBASETASK</a></li>
<li><a href="DESTROYGROUPSTASK.html">DESTROYGROUPSTASK</a></li>
<li><a href="DESTROYRADARSTASK.html">DESTROYRADARSTASK</a></li>
<li><a href="DESTROYUNITTYPESTASK.html">DESTROYUNITTYPESTASK</a></li>
<li><a href="Database.html">Database</a></li>
<li><a href="Detection.html">Detection</a></li>
<li><a href="Escort.html">Escort</a></li>
<li><a href="Event.html">Event</a></li>
<li><a href="Fac.html">Fac</a></li>
<li><a href="GOHOMETASK.html">GOHOMETASK</a></li>
<li><a href="Group.html">Group</a></li>
<li><a href="Identifiable.html">Identifiable</a></li>
<li><a href="MOVEMENT.html">MOVEMENT</a></li>
<li><a href="Menu.html">Menu</a></li>
<li><a href="Message.html">Message</a></li>
<li><a href="MissileTrainer.html">MissileTrainer</a></li>
<li><a href="Mission.html">Mission</a></li>
<li><a href="NOTASK.html">NOTASK</a></li>
<li><a href="Object.html">Object</a></li>
<li><a href="PICKUPTASK.html">PICKUPTASK</a></li>
<li><a href="PatrolZone.html">PatrolZone</a></li>
<li><a href="Point.html">Point</a></li>
<li><a href="Positionable.html">Positionable</a></li>
<li><a href="ROUTETASK.html">ROUTETASK</a></li>
<li><a href="STAGE.html">STAGE</a></li>
<li><a href="Scheduler.html">Scheduler</a></li>
<li><a href="Scoring.html">Scoring</a></li>
<li><a href="Sead.html">Sead</a></li>
<li><a href="Set.html">Set</a></li>
<li><a href="Spawn.html">Spawn</a></li>
<li><a href="Static.html">Static</a></li>
<li><a href="StaticObject.html">StaticObject</a></li>
<li><a href="TASK.html">TASK</a></li>
<li><a href="Unit.html">Unit</a></li>
<li>Zone</li>
<li><a href="env.html">env</a></li>
<li><a href="land.html">land</a></li>
<li><a href="routines.html">routines</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>Zone</code></h1>
<p>This module contains the ZONE classes, inherited from <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>.</p>
<p>There are essentially two core functions that zones accomodate:</p>
<ul>
<li>Test if an object is within the zone boundaries.</li>
<li>Provide the zone behaviour. Some zones are static, while others are moveable.</li>
</ul>
<p>The object classes are using the zone classes to test the zone boundaries, which can take various forms:</p>
<ul>
<li>Test if completely within the zone.</li>
<li>Test if partly within the zone (for <a href="Group.html##(GROUP)">Group#GROUP</a> objects).</li>
<li>Test if not in the zone.</li>
<li>Distance to the nearest intersecting point of the zone.</li>
<li>Distance to the center of the zone.</li>
<li>...</li>
</ul>
<p>Each of these ZONE classes have a zone name, and specific parameters defining the zone type:</p>
<ul>
<li><a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>: The ZONE_BASE class defining the base for all other zone classes.</li>
<li><a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a>: The ZONE_RADIUS class defined by a zone name, a location and a radius.</li>
<li><a href="Zone.html##(ZONE)">Zone#ZONE</a>: The ZONE class, defined by the zone name as defined within the Mission Editor.</li>
<li><a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a>: The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</li>
<li><a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a>: The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</li>
</ul>
<p>Each zone implements two polymorphic functions defined in <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a>:</p>
<ul>
<li><a href="##(ZONE_BASE).IsPointVec2InZone">ZONE_BASE.IsPointVec2InZone</a>: Returns if a location is within the zone.</li>
<li><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE.IsPointVec3InZone</a>: Returns if a point is within the zone.</li>
</ul>
<hr/>
<h1>1) <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The ZONE_BASE class defining the base for all other zone classes.</p>
<hr/>
<h1>2) <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<p>The ZONE_RADIUS class defined by a zone name, a location and a radius.</p>
<hr/>
<h1>3) <a href="Zone.html##(ZONE)">Zone#ZONE</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE class, defined by the zone name as defined within the Mission Editor.</p>
<hr/>
<h1>4) <a href="Zone.html##(ZONE_UNIT)">Zone#ZONE_UNIT</a> class, extends <a href="Zone.html##(ZONE_RADIUS)">Zone#ZONE_RADIUS</a></h1>
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</p>
<hr/>
<h1>5) <a href="Zone.html##(ZONE_POLYGON)">Zone#ZONE_POLYGON</a> class, extends <a href="Zone.html##(ZONE_BASE)">Zone#ZONE_BASE</a></h1>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
<hr/>
<h2>Global(s)</h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE">ZONE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_BASE">ZONE_BASE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_POLYGON">ZONE_POLYGON</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_POLYGON_BASE">ZONE_POLYGON_BASE</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_RADIUS">ZONE_RADIUS</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="#ZONE_UNIT">ZONE_UNIT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2><a id="#(ZONE)">Type <code>ZONE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE).ClassName">ZONE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE).New">ZONE:New(ZoneName)</a></td>
<td class="summary">
<p>Constructor of ZONE, taking the zone name.</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_BASE)">Type <code>ZONE_BASE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).ClassName">ZONE_BASE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetBoundingSquare">ZONE_BASE:GetBoundingSquare()</a></td>
<td class="summary">
<p>Get the bounding square the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).GetRandomVec2">ZONE_BASE:GetRandomVec2()</a></td>
<td class="summary">
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).IsPointVec2InZone">ZONE_BASE:IsPointVec2InZone(PointVec2)</a></td>
<td class="summary">
<p>Returns if a location is within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).IsPointVec3InZone">ZONE_BASE:IsPointVec3InZone(PointVec3)</a></td>
<td class="summary">
<p>Returns if a point is within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).New">ZONE_BASE:New(ZoneName)</a></td>
<td class="summary">
<p>ZONE_BASE constructor</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).SmokeZone">ZONE_BASE:SmokeZone(SmokeColor)</a></td>
<td class="summary">
<p>Smokes the zone boundaries in a color.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE).ZoneName">ZONE_BASE.ZoneName</a></td>
<td class="summary">
<p>Name of the zone.</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_BASE.BoundingSquare)">Type <code>ZONE_BASE.BoundingSquare</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE.BoundingSquare).x1">ZONE_BASE.BoundingSquare.x1</a></td>
<td class="summary">
<p>The lower x coordinate (left down)</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE.BoundingSquare).x2">ZONE_BASE.BoundingSquare.x2</a></td>
<td class="summary">
<p>The higher x coordinate (right up)</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE.BoundingSquare).y1">ZONE_BASE.BoundingSquare.y1</a></td>
<td class="summary">
<p>The lower y coordinate (left down)</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_BASE.BoundingSquare).y2">ZONE_BASE.BoundingSquare.y2</a></td>
<td class="summary">
<p>The higher y coordinate (right up)</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_POLYGON)">Type <code>ZONE_POLYGON</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON).ClassName">ZONE_POLYGON.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON).New">ZONE_POLYGON:New(ZoneName, ZoneGroup)</a></td>
<td class="summary">
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Group.html##(GROUP)">Group#GROUP</a> defined within the Mission Editor.</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_POLYGON_BASE)">Type <code>ZONE_POLYGON_BASE</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).ClassName">ZONE_POLYGON_BASE.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).Flush">ZONE_POLYGON_BASE:Flush()</a></td>
<td class="summary">
<p>Flush polygon coordinates as a table in DCS.log.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).GetBoundingSquare">ZONE_POLYGON_BASE:GetBoundingSquare()</a></td>
<td class="summary">
<p>Get the bounding square the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).GetRandomVec2">ZONE_POLYGON_BASE:GetRandomVec2()</a></td>
<td class="summary">
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).IsPointVec2InZone">ZONE_POLYGON_BASE:IsPointVec2InZone(PointVec2)</a></td>
<td class="summary">
<p>Returns if a location is within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).New">ZONE_POLYGON_BASE:New(ZoneName, PointsArray)</a></td>
<td class="summary">
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).Polygon">ZONE_POLYGON_BASE.Polygon</a></td>
<td class="summary">
<p>The polygon defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_POLYGON_BASE).SmokeZone">ZONE_POLYGON_BASE:SmokeZone(SmokeColor)</a></td>
<td class="summary">
<p>Smokes the zone boundaries in a color.</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_RADIUS)">Type <code>ZONE_RADIUS</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).ClassName">ZONE_RADIUS.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).FlareZone">ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth)</a></td>
<td class="summary">
<p>Flares the zone boundaries in a color.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetPointVec2">ZONE_RADIUS:GetPointVec2()</a></td>
<td class="summary">
<p>Returns the location of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetPointVec3">ZONE_RADIUS:GetPointVec3(Height)</a></td>
<td class="summary">
<p>Returns the point of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetRadius">ZONE_RADIUS:GetRadius()</a></td>
<td class="summary">
<p>Returns the radius of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).GetRandomVec2">ZONE_RADIUS:GetRandomVec2()</a></td>
<td class="summary">
<p>Returns a random location within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).IsPointVec2InZone">ZONE_RADIUS:IsPointVec2InZone(PointVec2)</a></td>
<td class="summary">
<p>Returns if a location is within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).IsPointVec3InZone">ZONE_RADIUS:IsPointVec3InZone(PointVec3)</a></td>
<td class="summary">
<p>Returns if a point is within the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).New">ZONE_RADIUS:New(ZoneName, PointVec2, Radius)</a></td>
<td class="summary">
<p>Constructor of ZONE_RADIUS, taking the zone name, the zone location and a radius.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).PointVec2">ZONE_RADIUS.PointVec2</a></td>
<td class="summary">
<p>The current location of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).Radius">ZONE_RADIUS.Radius</a></td>
<td class="summary">
<p>The radius of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SetPointVec2">ZONE_RADIUS:SetPointVec2(PointVec2)</a></td>
<td class="summary">
<p>Sets the location of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SetRadius">ZONE_RADIUS:SetRadius(Radius)</a></td>
<td class="summary">
<p>Sets the radius of the zone.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_RADIUS).SmokeZone">ZONE_RADIUS:SmokeZone(SmokeColor, Points)</a></td>
<td class="summary">
<p>Smokes the zone boundaries in a color.</p>
</td>
</tr>
</table>
<h2><a id="#(ZONE_UNIT)">Type <code>ZONE_UNIT</code></a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).ClassName">ZONE_UNIT.ClassName</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).GetPointVec2">ZONE_UNIT:GetPointVec2()</a></td>
<td class="summary">
<p>Returns the current location of the <a href="Unit.html##(UNIT)">Unit#UNIT</a>.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).New">ZONE_UNIT:New(ZoneName, ZoneUNIT, Radius)</a></td>
<td class="summary">
<p>Constructor to create a ZONE_UNIT instance, taking the zone name, a zone unit and a radius.</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(ZONE_UNIT).ZoneUNIT">ZONE_UNIT.ZoneUNIT</a></td>
<td class="summary">
</td>
</tr>
</table>
<h2>Global(s)</h2>
<dl class="function">
<dt>
<em><a href="##(ZONE)">#ZONE</a></em>
<a id="ZONE" >
<strong>ZONE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_BASE)">#ZONE_BASE</a></em>
<a id="ZONE_BASE" >
<strong>ZONE_BASE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_POLYGON)">#ZONE_POLYGON</a></em>
<a id="ZONE_POLYGON" >
<strong>ZONE_POLYGON</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_POLYGON_BASE)">#ZONE_POLYGON_BASE</a></em>
<a id="ZONE_POLYGON_BASE" >
<strong>ZONE_POLYGON_BASE</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_RADIUS)">#ZONE_RADIUS</a></em>
<a id="ZONE_RADIUS" >
<strong>ZONE_RADIUS</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_UNIT)">#ZONE_UNIT</a></em>
<a id="ZONE_UNIT" >
<strong>ZONE_UNIT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<h2><a id="#(Zone)" >Type <code>Zone</code></a></h2>
<h2><a id="#(POINT_VEC3.FlareColor)" >Type <code>POINT_VEC3.FlareColor</code></a></h2>
<h2><a id="#(POINT_VEC3.SmokeColor)" >Type <code>POINT_VEC3.SmokeColor</code></a></h2>
<h2><a id="#(ZONE)" >Type <code>ZONE</code></a></h2>
<p>The ZONE class, defined by the zone name as defined within the Mission Editor.</p>
<p>The location and the radius are automatically collected from the mission settings.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE).ClassName" >
<strong>ZONE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE).New" >
<strong>ZONE:New(ZoneName)</strong>
</a>
</dt>
<dd>
<p>Constructor of ZONE, taking the zone name.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
The name of the zone as defined within the mission editor.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE)">#ZONE</a>:</em></p>
</dd>
</dl>
<h2><a id="#(ZONE_BASE)" >Type <code>ZONE_BASE</code></a></h2>
<p>The ZONE_BASE class</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_BASE).ClassName" >
<strong>ZONE_BASE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).GetBoundingSquare" >
<strong>ZONE_BASE:GetBoundingSquare()</strong>
</a>
</dt>
<dd>
<p>Get the bounding square the zone.</p>
<h3>Return value</h3>
<p><em><a href="##(ZONE_BASE.BoundingSquare)">#ZONE_BASE.BoundingSquare</a>:</em>
The bounding square.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).GetRandomVec2" >
<strong>ZONE_BASE:GetRandomVec2()</strong>
</a>
</dt>
<dd>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The Vec2 coordinates.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).IsPointVec2InZone" >
<strong>ZONE_BASE:IsPointVec2InZone(PointVec2)</strong>
</a>
</dt>
<dd>
<p>Returns if a location is within the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
The location to test.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if the location is within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).IsPointVec3InZone" >
<strong>ZONE_BASE:IsPointVec3InZone(PointVec3)</strong>
</a>
</dt>
<dd>
<p>Returns if a point is within the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> PointVec3 </em></code>:
The point to test.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if the point is within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).New" >
<strong>ZONE_BASE:New(ZoneName)</strong>
</a>
</dt>
<dd>
<p>ZONE_BASE constructor</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_BASE)">#ZONE_BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_BASE).SmokeZone" >
<strong>ZONE_BASE:SmokeZone(SmokeColor)</strong>
</a>
</dt>
<dd>
<p>Smokes the zone boundaries in a color.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em> SmokeColor </em></code>:
The smoke color.</p>
</li>
</ul>
</dd>
</dl>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_BASE).ZoneName" >
<strong>ZONE_BASE.ZoneName</strong>
</a>
</dt>
<dd>
<p>Name of the zone.</p>
</dd>
</dl>
<h2><a id="#(ZONE_BASE.BoundingSquare)" >Type <code>ZONE_BASE.BoundingSquare</code></a></h2>
<p>The ZONE_BASE.BoundingSquare</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(ZONE_BASE.BoundingSquare).x1" >
<strong>ZONE_BASE.BoundingSquare.x1</strong>
</a>
</dt>
<dd>
<p>The lower x coordinate (left down)</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(ZONE_BASE.BoundingSquare).x2" >
<strong>ZONE_BASE.BoundingSquare.x2</strong>
</a>
</dt>
<dd>
<p>The higher x coordinate (right up)</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(ZONE_BASE.BoundingSquare).y1" >
<strong>ZONE_BASE.BoundingSquare.y1</strong>
</a>
</dt>
<dd>
<p>The lower y coordinate (left down)</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(ZONE_BASE.BoundingSquare).y2" >
<strong>ZONE_BASE.BoundingSquare.y2</strong>
</a>
</dt>
<dd>
<p>The higher y coordinate (right up)</p>
</dd>
</dl>
<h2><a id="#(ZONE_POLYGON)" >Type <code>ZONE_POLYGON</code></a></h2>
<p>The ZONE_POLYGON class defined by a sequence of <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints within the Mission Editor, forming a polygon.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_POLYGON).ClassName" >
<strong>ZONE_POLYGON.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON).New" >
<strong>ZONE_POLYGON:New(ZoneName, ZoneGroup)</strong>
</a>
</dt>
<dd>
<p>Constructor to create a ZONE_POLYGON instance, taking the zone name and the name of the <a href="Group.html##(GROUP)">Group#GROUP</a> defined within the Mission Editor.</p>
<p>The <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected by ZONE_POLYGON.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
<li>
<p><code><em><a href="Group.html##(GROUP)">Group#GROUP</a> ZoneGroup </em></code>:
The GROUP waypoints as defined within the Mission Editor define the polygon shape.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_POLYGON)">#ZONE_POLYGON</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(ZONE_POLYGON_BASE)" >Type <code>ZONE_POLYGON_BASE</code></a></h2>
<p>The ZONE<em>POLYGON</em>BASE class defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_POLYGON_BASE).ClassName" >
<strong>ZONE_POLYGON_BASE.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).Flush" >
<strong>ZONE_POLYGON_BASE:Flush()</strong>
</a>
</dt>
<dd>
<p>Flush polygon coordinates as a table in DCS.log.</p>
<h3>Return value</h3>
<p><em><a href="##(ZONE_POLYGON_BASE)">#ZONE<em>POLYGON</em>BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).GetBoundingSquare" >
<strong>ZONE_POLYGON_BASE:GetBoundingSquare()</strong>
</a>
</dt>
<dd>
<p>Get the bounding square the zone.</p>
<h3>Return value</h3>
<p><em><a href="##(ZONE_POLYGON_BASE.BoundingSquare)">#ZONE<em>POLYGON</em>BASE.BoundingSquare</a>:</em>
The bounding square.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).GetRandomVec2" >
<strong>ZONE_POLYGON_BASE:GetRandomVec2()</strong>
</a>
</dt>
<dd>
<p>Define a random <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> within the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The Vec2 coordinate.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).IsPointVec2InZone" >
<strong>ZONE_POLYGON_BASE:IsPointVec2InZone(PointVec2)</strong>
</a>
</dt>
<dd>
<p>Returns if a location is within the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
The location to test.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if the location is within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).New" >
<strong>ZONE_POLYGON_BASE:New(ZoneName, PointsArray)</strong>
</a>
</dt>
<dd>
<p>Constructor to create a ZONE<em>POLYGON</em>BASE instance, taking the zone name and an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon.</p>
<p>The <a href="Group.html##(GROUP)">Group#GROUP</a> waypoints define the polygon corners. The first and the last point are automatically connected.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
<li>
<p><code><em><a href="##(ZONE_POLYGON_BASE.ListVec2)">#ZONE<em>POLYGON</em>BASE.ListVec2</a> PointsArray </em></code>:
An array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>, forming a polygon..</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_POLYGON_BASE)">#ZONE<em>POLYGON</em>BASE</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="##(ZONE_POLYGON_BASE.ListVec2)">#ZONE_POLYGON_BASE.ListVec2</a></em>
<a id="#(ZONE_POLYGON_BASE).Polygon" >
<strong>ZONE_POLYGON_BASE.Polygon</strong>
</a>
</dt>
<dd>
<p>The polygon defined by an array of <a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_POLYGON_BASE).SmokeZone" >
<strong>ZONE_POLYGON_BASE:SmokeZone(SmokeColor)</strong>
</a>
</dt>
<dd>
<p>Smokes the zone boundaries in a color.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="##(POINT_VEC3.SmokeColor)">#POINT_VEC3.SmokeColor</a> SmokeColor </em></code>:
The smoke color.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_POLYGON_BASE)">#ZONE<em>POLYGON</em>BASE</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(ZONE_POLYGON_BASE.BoundingSquare)" >Type <code>ZONE_POLYGON_BASE.BoundingSquare</code></a></h2>
<h2><a id="#(ZONE_POLYGON_BASE.ListVec2)" >Type <code>ZONE_POLYGON_BASE.ListVec2</code></a></h2>
<p>A points array.</p>
<h2><a id="#(ZONE_RADIUS)" >Type <code>ZONE_RADIUS</code></a></h2>
<p>The ZONE_RADIUS class, defined by a zone name, a location and a radius.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_RADIUS).ClassName" >
<strong>ZONE_RADIUS.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).FlareZone" >
<strong>ZONE_RADIUS:FlareZone(FlareColor, Points, Azimuth)</strong>
</a>
</dt>
<dd>
<p>Flares the zone boundaries in a color.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="##(POINT_VEC3.FlareColor)">#POINT_VEC3.FlareColor</a> FlareColor </em></code>:
The flare color.</p>
</li>
<li>
<p><code><em>#number Points </em></code>:
(optional) The amount of points in the circle.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Azimuth)">DCSTypes#Azimuth</a> Azimuth </em></code>:
(optional) Azimuth The azimuth of the flare.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_RADIUS)">#ZONE_RADIUS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).GetPointVec2" >
<strong>ZONE_RADIUS:GetPointVec2()</strong>
</a>
</dt>
<dd>
<p>Returns the location of the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The location of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).GetPointVec3" >
<strong>ZONE_RADIUS:GetPointVec3(Height)</strong>
</a>
</dt>
<dd>
<p>Returns the point of the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Height </em></code>:
The height to add to the land height where the center of the zone is located.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a>:</em>
The point of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).GetRadius" >
<strong>ZONE_RADIUS:GetRadius()</strong>
</a>
</dt>
<dd>
<p>Returns the radius of the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a>:</em>
The radius of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).GetRandomVec2" >
<strong>ZONE_RADIUS:GetRandomVec2()</strong>
</a>
</dt>
<dd>
<p>Returns a random location within the zone.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The random location within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).IsPointVec2InZone" >
<strong>ZONE_RADIUS:IsPointVec2InZone(PointVec2)</strong>
</a>
</dt>
<dd>
<p>Returns if a location is within the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
The location to test.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if the location is within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).IsPointVec3InZone" >
<strong>ZONE_RADIUS:IsPointVec3InZone(PointVec3)</strong>
</a>
</dt>
<dd>
<p>Returns if a point is within the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec3)">DCSTypes#Vec3</a> PointVec3 </em></code>:
The point to test.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em>#boolean:</em>
true if the point is within the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).New" >
<strong>ZONE_RADIUS:New(ZoneName, PointVec2, Radius)</strong>
</a>
</dt>
<dd>
<p>Constructor of ZONE_RADIUS, taking the zone name, the zone location and a radius.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
The location of the zone.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Radius </em></code>:
The radius of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_RADIUS)">#ZONE_RADIUS</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a></em>
<a id="#(ZONE_RADIUS).PointVec2" >
<strong>ZONE_RADIUS.PointVec2</strong>
</a>
</dt>
<dd>
<p>The current location of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a></em>
<a id="#(ZONE_RADIUS).Radius" >
<strong>ZONE_RADIUS.Radius</strong>
</a>
</dt>
<dd>
<p>The radius of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).SetPointVec2" >
<strong>ZONE_RADIUS:SetPointVec2(PointVec2)</strong>
</a>
</dt>
<dd>
<p>Sets the location of the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a> PointVec2 </em></code>:
The new location of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The new location of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).SetRadius" >
<strong>ZONE_RADIUS:SetRadius(Radius)</strong>
</a>
</dt>
<dd>
<p>Sets the radius of the zone.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Radius </em></code>:
The radius of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a>:</em>
The radius of the zone.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_RADIUS).SmokeZone" >
<strong>ZONE_RADIUS:SmokeZone(SmokeColor, Points)</strong>
</a>
</dt>
<dd>
<p>Smokes the zone boundaries in a color.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em><a href="##(POINT_VEC3.SmokeColor)">#POINT_VEC3.SmokeColor</a> SmokeColor </em></code>:
The smoke color.</p>
</li>
<li>
<p><code><em>#number Points </em></code>:
(optional) The amount of points in the circle.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_RADIUS)">#ZONE_RADIUS</a>:</em>
self</p>
</dd>
</dl>
<h2><a id="#(ZONE_UNIT)" >Type <code>ZONE_UNIT</code></a></h2>
<p>The ZONE_UNIT class defined by a zone around a <a href="Unit.html##(UNIT)">Unit#UNIT</a> with a radius.</p>
<h3>Field(s)</h3>
<dl class="function">
<dt>
<em>#string</em>
<a id="#(ZONE_UNIT).ClassName" >
<strong>ZONE_UNIT.ClassName</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_UNIT).GetPointVec2" >
<strong>ZONE_UNIT:GetPointVec2()</strong>
</a>
</dt>
<dd>
<p>Returns the current location of the <a href="Unit.html##(UNIT)">Unit#UNIT</a>.</p>
<h3>Return value</h3>
<p><em><a href="DCSTypes.html##(Vec2)">DCSTypes#Vec2</a>:</em>
The location of the zone based on the <a href="Unit.html##(UNIT)">Unit#UNIT</a>location.</p>
</dd>
</dl>
<dl class="function">
<dt>
<a id="#(ZONE_UNIT).New" >
<strong>ZONE_UNIT:New(ZoneName, ZoneUNIT, Radius)</strong>
</a>
</dt>
<dd>
<p>Constructor to create a ZONE_UNIT instance, taking the zone name, a zone unit and a radius.</p>
<h3>Parameters</h3>
<ul>
<li>
<p><code><em>#string ZoneName </em></code>:
Name of the zone.</p>
</li>
<li>
<p><code><em><a href="Unit.html##(UNIT)">Unit#UNIT</a> ZoneUNIT </em></code>:
The unit as the center of the zone.</p>
</li>
<li>
<p><code><em><a href="DCSTypes.html##(Distance)">DCSTypes#Distance</a> Radius </em></code>:
The radius of the zone.</p>
</li>
</ul>
<h3>Return value</h3>
<p><em><a href="##(ZONE_UNIT)">#ZONE_UNIT</a>:</em>
self</p>
</dd>
</dl>
<dl class="function">
<dt>
<em><a href="Unit.html##(UNIT)">Unit#UNIT</a></em>
<a id="#(ZONE_UNIT).ZoneUNIT" >
<strong>ZONE_UNIT.ZoneUNIT</strong>
</a>
</dt>
<dd>
</dd>
</dl>
</div>
</div>
</body>
</html>