Constructor
new ClockwiseSweepPolygon()
Extends
Members
config :ClockwiseSweepPolygonConfig
- Overrides:
The configuration of this polygon.
Type:
edges :EdgeSet
The set of edges which define potential boundaries of the polygon
Type:
origin :Point
- Inherited From:
The origin point of the source polygon.
Type:
rays :Array.<PolygonRay>
- Overrides:
A collection of rays which are fired at vertices
Type:
vertices :VertexMap
A mapping of vertices which define potential collision points
Type:
Methods
(static) getRayCollisions(ray, optionsopt) → {boolean|Array.<object>|object}
Check whether a given ray intersects with walls.
Parameters:
Name | Type | Attributes | Default | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ray |
PolygonRay | The Ray being tested |
||||||||||||||||||||||
options |
object |
<optional> |
{}
|
Options which customize how collision is tested Properties
|
Returns:
Whether any collision occurred if mode is "any" An array of collisions, if mode is "all" The closest collision, if mode is "closest"
- Type
- boolean | Array.<object> | object
(static) pointBetweenRays(vertex, rMin, rMax, angle) → {boolean}
Test whether a vertex lies between two boundary rays
Parameters:
Name | Type | Description |
---|---|---|
vertex |
PolygonVertex | The target vertex |
rMin |
PolygonRay | The counter-clockwise bounding ray |
rMax |
PolygonRay | The clockwise bounding ray |
angle |
number | The angle being tested, in degrees |
Returns:
Is the vertex between the two rays?
- Type
- boolean
(static) testWallInclusion(wall, origin, type) → {boolean}
Test whether a wall should be included in the computed polygon for a given origin and type
Parameters:
Name | Type | Description |
---|---|---|
wall |
Wall | The Wall being considered |
origin |
Point | The origin point for the ray or polygon |
type |
string | The type of perception or movement restriction being imposed |
Returns:
Should the wall be included?
- Type
- boolean
(protected) _compute()
- Overrides:
Perform the implementation-specific computation
(protected) _getBounds(points) → {Rectangle}
- Inherited From:
Compute the rectangular bounds for the Polygon.
Parameters:
Name | Type | Description |
---|---|---|
points |
Array.<number> | The initially provided array of coordinates |
Returns:
The computed Rectangular bounds
- Type
- Rectangle
_roundRayVertices(ray) → {PolygonRay}
Round vertices of a ray segment
Parameters:
Name | Type | Description |
---|---|---|
ray |
PolygonRay | The provided ray |
Returns:
The ray with rounded vertices
- Type
- PolygonRay
compute() → {PointSourcePolygon}
- Inherited From:
Compute the polygon using the origin and configuration options.
Returns:
The computed polygon
- Type
- PointSourcePolygon
initialize(origin, config)
- Overrides:
Customize the provided configuration object for this polygon type.
Parameters:
Name | Type | Description |
---|---|---|
origin |
Point | The provided polygon origin |
config |
ClockwiseSweepPolygonConfig | The provided configuration object |
visualize()
- Overrides:
Visualize the polygon, displaying its computed area, rays, and collision points