UNPKG

detect-collisions

Version:

Points, Lines, Boxes, Polygons (also hollow), Ellipses, Circles. RayCasting, offsets, rotation, scaling, bounding box padding, flags for static and ghost/trigger bodies

73 lines (72 loc) 1.78 kB
import { BodyGroup, BodyOptions, BodyType, PotentialVector } from "../model"; import { Polygon } from "./polygon"; export interface EllipseConstructor<TEllipse extends Ellipse> { new (position: PotentialVector, radiusX: number, radiusY?: number, step?: number, options?: BodyOptions): TEllipse; } /** * collider - ellipse */ export declare class Ellipse<UserDataType = any> extends Polygon<UserDataType> { /** * ellipse type */ readonly type: BodyType.Ellipse; /** * faster than type */ readonly typeGroup: BodyGroup.Ellipse; /** * ellipses are convex */ readonly isConvex = true; /** * inner initial params save */ protected _radiusX: number; protected _radiusY: number; protected _step: number; /** * collider - ellipse */ constructor(position: PotentialVector, radiusX: number, radiusY?: number, step?: number, options?: BodyOptions<UserDataType>); /** * flag to set is body centered */ set isCentered(_isCentered: boolean); /** * is body centered? */ get isCentered(): boolean; /** * get ellipse step number */ get step(): number; /** * set ellipse step number */ set step(step: number); /** * get ellipse radiusX */ get radiusX(): number; /** * set ellipse radiusX, update points */ set radiusX(radiusX: number); /** * get ellipse radiusY */ get radiusY(): number; /** * set ellipse radiusY, update points */ set radiusY(radiusY: number); /** * do not attempt to use Polygon.center() */ center(): void; /** * do not attempt to use Polygon.updateIsConvex() */ protected updateIsConvex(): void; }