Module collider

Types

TColliderType = enum 
  CTPoint, CTBox, CTCircle, CTMask
PCollider = ref TCollider
TCollider = object of TObject
PPointCollider = ref TPointCollider
TPointCollider = object of TCollider
  x, y: int
PBoxCollider = ref TBoxCollider
TBoxCollider = object of TCollider
  left, right, top, bottom: int
PCircleCollider = ref TCircleCollider
TCircleCollider = object of TCollider
  centerX, centerY, radius: int
PMaskCollider = ref TMaskCollider
TMaskCollider = object of TCollider
  x, y: int
  mask*: PMask

Procs

proc init(obj: PPointCollider; x, y: int)
proc newPointCollider(pos: TPoint): PPointCollider
proc newPointCollider(x, y: int): PPointCollider
proc init(obj: PBoxCollider; x, y: int; w, h: uint)
proc newBoxCollider(area: TRect): PBoxCollider
proc newBoxCollider(x, y, w, h: int): PBoxCollider
proc newBoxCollider(pos: TPoint; w, h: int): PBoxCollider
proc init(obj: PCircleCollider; x, y: int; r: uint)
proc newCircleCollider(area: TCircle): PCircleCollider
proc newCircleCollider(x, y, r: int): PCircleCollider
proc newCircleCollider(pos: TPoint; r: int): PCircleCollider
proc init(obj: PMaskCollider; mask: PMask; x, y: int)
proc newMaskCollider(mask: PMask; x, y: int): PMaskCollider
proc newMaskCollider(mask: PMask; pos: TPoint): PMaskCollider

Methods

method x(obj: PCollider): int {.inline.}
method x=(obj: PCollider; value: int) {.inline.}
method y(obj: PCollider): int {.inline.}
method y=(obj: PCollider; value: int) {.inline.}
method collide(a: PCollider; b: PCollider): bool
method collide(a: PCollider; b: TPoint): bool
method collide(a: TPoint; b: PCollider): bool
method x(obj: PPointCollider): int {.inline.}
method x=(obj: PPointCollider; value: int) {.inline.}
method y(obj: PPointCollider): int {.inline.}
method y=(obj: PPointCollider; value: int) {.inline.}
method x(obj: PBoxCollider): int {.inline.}
method x=(obj: PBoxCollider; value: int) {.inline.}
method y(obj: PBoxCollider): int {.inline.}
method y=(obj: PBoxCollider; value: int) {.inline.}
method x(obj: PCircleCollider): int {.inline.}
method x=(obj: PCircleCollider; value: int) {.inline.}
method y(obj: PCircleCollider): int {.inline.}
method y=(obj: PCircleCollider; value: int) {.inline.}
method x(obj: PMaskCollider): int {.inline.}
method x=(obj: PMaskCollider; value: int) {.inline.}
method y(obj: PMaskCollider): int {.inline.}
method y=(obj: PMaskCollider; value: int) {.inline.}
method collide(a: PPointCollider; b: PPointCollider): bool
method collide(a: PPointCollider; b: TPoint): bool
method collide(a: TPoint; b: PPointCollider): bool {.inline.}
method collide(a: PBoxCollider; b: PBoxCollider): bool
method collide(a: PCircleCollider; b: PCircleCollider): bool
method collide(a: PMaskCollider; b: PMaskCollider): bool
method collide(a: PBoxCollider; b: PPointCollider): bool
method collide(a: PBoxCollider; b: TPoint): bool
method collide(a: PPointCollider; b: PBoxCollider): bool {.inline.}
method collide(a: TPoint; b: PBoxCollider): bool {.inline.}
method collide(a: PCircleCollider; b: PPointCollider): bool
method collide(a: PCircleCollider; b: TPoint): bool
method collide(a: PPointCollider; b: PCircleCollider): bool {.inline.}
method collide(a: TPoint; b: PCircleCollider): bool {.inline.}
method collide(a: PMaskCollider; b: PPointCollider): bool
method collide(a: PMaskCollider; b: TPoint): bool
method collide(a: PPointCollider; b: PMaskCollider): bool {.inline.}
method collide(a: TPoint; b: PMaskCollider): bool {.inline.}
method collide(a: PCircleCollider; b: PBoxCollider): bool
method collide(a: PBoxCollider; b: PCircleCollider): bool {.inline.}
method collide(a: PCircleCollider; b: PMaskCollider): bool
method collide(a: PMaskCollider; b: PCircleCollider): bool {.inline.}
method collide(a: PBoxCollider; b: PMaskCollider): bool
method collide(a: PMaskCollider; b: PBoxCollider): bool {.inline.}
Generated: 2012-11-11 20:09:27 UTC