import { b2TimeStep, b2Body } from "@box2d/core"; /** * A controller edge is used to connect bodies and controllers * together in a bipartite graph. */ export declare class b2ControllerEdge { /** Provides quick access to other end of this edge. */ readonly controller: b2Controller; /** The body */ readonly body: b2Body; /** The previous controller edge in the controller's joint list */ prevBody: b2ControllerEdge | null; /** The next controller edge in the controller's joint list */ nextBody: b2ControllerEdge | null; /** The previous controller edge in the body's joint list */ prevController: b2ControllerEdge | null; /** The next controller edge in the body's joint list */ nextController: b2ControllerEdge | null; constructor(controller: b2Controller, body: b2Body); } /** * Base class for controllers. Controllers are a convience for * encapsulating common per-step functionality. */ export declare abstract class b2Controller { m_bodyList: b2ControllerEdge | null; m_bodyCount: number; m_prev: b2Controller | null; m_next: b2Controller | null; /** * Controllers override this to implement per-step functionality. */ abstract Step(step: b2TimeStep): void; /** * Get the next controller in the world's body list. */ GetNext(): b2Controller | null; /** * Get the previous controller in the world's body list. */ GetPrev(): b2Controller | null; /** * Get the parent world of this body. */ /** * Get the attached body list */ GetBodyList(): b2ControllerEdge | null; /** * Adds a body to the controller list. */ AddBody(body: b2Body): void; /** * Removes a body from the controller list. */ RemoveBody(body: b2Body): void; /** * Removes all bodies from the controller list. */ Clear(): void; } //# sourceMappingURL=b2_controller.d.ts.map