dragonbones-pixijs
Version:
DragonBones runtime for pixi v8
188 lines (187 loc) • 4.86 kB
TypeScript
import { BaseObject } from "../core/BaseObject";
import { BoundingBoxType } from "../core/DragonBones";
/**
* - The base class of bounding box data.
* @see dragonBones.RectangleData
* @see dragonBones.EllipseData
* @see dragonBones.PolygonData
* @version DragonBones 5.0
* @language en_US
*/
export declare abstract class BoundingBoxData extends BaseObject {
/**
* - The bounding box type.
* @version DragonBones 5.0
* @language en_US
*/
type: BoundingBoxType;
/**
* @private
*/
color: number;
/**
* @private
*/
width: number;
/**
* @private
*/
height: number;
protected _onClear(): void;
/**
* - Check whether the bounding box contains a specific point. (Local coordinate system)
* @version DragonBones 5.0
* @language en_US
*/
abstract containsPoint(pX: number, pY: number): boolean;
/**
* - Check whether the bounding box intersects a specific segment. (Local coordinate system)
* @version DragonBones 5.0
* @language en_US
*/
abstract intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA: {
x: number;
y: number;
} | null, intersectionPointB: {
x: number;
y: number;
} | null, normalRadians: {
x: number;
y: number;
} | null): number;
}
/**
* - The rectangle bounding box data.
* @version DragonBones 5.1
* @language en_US
*/
export declare class RectangleBoundingBoxData extends BoundingBoxData {
static toString(): string;
/**
* - Compute the bit code for a point (x, y) using the clip rectangle
*/
private static _computeOutCode;
/**
* @private
*/
static rectangleIntersectsSegment(xA: number, yA: number, xB: number, yB: number, xMin: number, yMin: number, xMax: number, yMax: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
protected _onClear(): void;
/**
* @inheritDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inheritDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}
/**
* - The ellipse bounding box data.
* @version DragonBones 5.1
* @language en_US
*/
export declare class EllipseBoundingBoxData extends BoundingBoxData {
static toString(): string;
/**
* @private
*/
static ellipseIntersectsSegment(xA: number, yA: number, xB: number, yB: number, xC: number, yC: number, widthH: number, heightH: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
protected _onClear(): void;
/**
* @inheritDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inheritDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}
/**
* - The polygon bounding box data.
* @version DragonBones 5.1
* @language en_US
*/
export declare class PolygonBoundingBoxData extends BoundingBoxData {
static toString(): string;
/**
* @private
*/
static polygonIntersectsSegment(xA: number, yA: number, xB: number, yB: number, vertices: Array<number>, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
/**
* @private
*/
x: number;
/**
* @private
*/
y: number;
/**
* - The polygon vertices.
* @version DragonBones 5.1
* @language en_US
*/
readonly vertices: Array<number>;
protected _onClear(): void;
/**
* @inheritDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inheritDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}