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
TypeScript
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;
}