The angle of the right (clockwise) edge of the emitted cone in radians.
The angle of the left (counter-clockwise) edge of the emitted cone in radians.
The angle of the Polygon in degrees.
The density of rays which approximate the cone, defined as rays per PI.
The bounding box of the circle defined by the externalRadius, if any
An optional "external radius" which is included in the polygon for the supplementary area outside the cone.
The origin point of the Polygon
The radius of the emitted cone.
The direction of rotation at the center of the emitted angle in degrees.
Internal
Restrict the edges which should be included in a PointSourcePolygon based on this specialized shape. We use two tests to jointly keep or reject edges.
The first edge vertex
The second edge vertex
Should the edge be included in the PointSourcePolygon computation?
Static
pointTest whether a vertex lies between two boundary rays. If the angle is greater than 180, test for points between rMax and rMin (inverse). Otherwise, keep vertices that are between the rays directly.
The candidate point
The counter-clockwise bounding ray
The clockwise bounding ray
The angle being tested, in degrees
Is the vertex between the two rays?
A special class of Polygon which implements a limited angle of emission for a Point Source. The shape is defined by a point origin, radius, angle, and rotation. The shape is further customized by a configurable density which informs the approximation. An optional secondary externalRadius can be provided which adds supplementary visibility outside the primary angle.