UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

29 lines (28 loc) 940 B
import { Shape } from './types'; /** Represents a collision between two shapes. */ export declare class Collision { /** Creates a CollisionSubject for fluent APIs. */ static is(shape: Shape): CollisionSubject; } /** * A collision calculator that enables fluent APIs. * * This is done to reduce ambiguity of the semantics behind the collision checks. * * @example Collision.is(rect).collidingWith(circle); // boolean * @example Collision.is(circle).surroundedBy(rect); // boolean */ declare class CollisionSubject { private shape; constructor(shape: Shape); collidingWith(shape: Shape): boolean; surrounding(shape: Shape): boolean; private isRectCollidingWithRect; private isCircleCollidingWithCircle; private isRectCollidingWithCircle; private isRectSurroundingRect; private isCircleSurroundingCircle; private isRectSurroundingCircle; private isCircleSurroundingRect; } export {};