CollisionAdvance | myPhysicsLab Docs

Type Parameters

Implements

Constructors

constructor

Properties

Private backupCount_

backupCount_: number = 0

Private binarySearch_

binarySearch_: boolean = false

Private binarySteps_

binarySteps_: number = 0

Private collisionCounter_

collisionCounter_: number = 0

Private collisionTotals_

Private collisions_

collisions_: T[] = []

Private currentStep_

currentStep_: number = 0

Private debugPaint_

debugPaint_: null | (() => void) = null

Type declaration

    • (): void
    • Returns void

Private detectedTime_

detectedTime_: number = NaN

Private jointSmallImpacts_

jointSmallImpacts_: boolean = false

Private nextEstimate_

nextEstimate_: number = NaN

Private odeSteps_

odeSteps_: number = 0

Private printTime_

printTime_: number = Number.NEGATIVE_INFINITY

Private removedCollisions_

removedCollisions_: T[] = []

Private stats_

Private stuckCount_

stuckCount_: number = 0

Private timeAdvanced_

timeAdvanced_: number = 0

Private timeStep_

timeStep_: number = 0.025

Private totalTimeStep_

totalTimeStep_: number = 0

Private wayPoints_

Static Readonly MAX_STUCK_COUNT

MAX_STUCK_COUNT: 30 = 30

Methods

addWayPoints

  • addWayPoints(wayPoints): void
  • Returns void

advance

  • advance(timeStep, opt_memoList?): void
  • Parameters

    • timeStep: number
    • Optional opt_memoList: MemoList

    Returns void

Private allVelocities

  • allVelocities(collisions): number[]
  • Parameters

    • collisions: T[]

    Returns number[]

    minimum velocities

Private calc_next_step

  • calc_next_step(didBackup): void
  • Parameters

    • didBackup: boolean

    Returns void

Private checkNoneCollide

  • checkNoneCollide(): void
  • Returns void

Private do_advance_sim

  • do_advance_sim(stepSize): boolean
  • Parameters

    • stepSize: number

    Returns boolean

Private do_backup

  • do_backup(stepSize): void
  • Parameters

    • stepSize: number

    Returns void

Private do_handle_collision

  • do_handle_collision(numClose): boolean
  • Parameters

    • numClose: number

    Returns boolean

Private do_small_impacts

  • do_small_impacts(): void
  • Returns void

getCollisionTotals

getDiffEqSolver

getJointSmallImpacts

  • getJointSmallImpacts(): boolean
  • Returns boolean

    true means apply small impacts to joints

getTime

  • getTime(): number
  • Returns number

    the current simulation time.

getTimeStep

  • getTimeStep(): number
  • Returns number

    the default time step, in seconds.

getWayPoints

  • getWayPoints(): WayPoint[]
  • Returns WayPoint[]

    the group of WayPoints to show debug messages at.

Private jointFlags

  • jointFlags(collisions): boolean[]
  • Parameters

    • collisions: T[]

    Returns boolean[]

    joint flags

Private maxImpulse

  • maxImpulse(collisions): number
  • Parameters

    • collisions: T[]

    Returns number

    maximum impulse applied

Private minVelocity

  • minVelocity(collisions): number
  • Parameters

    • collisions: T[]

    Returns number

    minimum velocity

Private myPrint

  • myPrint(message, ...colors): void
  • Parameters

    • message: string
    • Rest ...colors: string[]

    Returns void

Private print

  • print(wayPoint): void
  • Returns void

Private printCollision

  • printCollision(time, msg, c): void
  • Parameters

    • time: number
    • msg: string
    • c: T

    Returns void

Private printCollisions

  • printCollisions(msg, printAll): void
  • Parameters

    • msg: string
    • printAll: boolean

    Returns void

Private printCollisions2

  • printCollisions2(msg, impulse): void
  • Parameters

    • msg: string
    • impulse: number

    Returns void

Private removeDistant

  • removeDistant(_allowTiny): boolean
  • Parameters

    • _allowTiny: boolean

    Returns boolean

    true if any collisions were removed

reset

  • reset(): void
  • Returns void

save

  • save(): void
  • Returns void

setDebugLevel

  • setDebugLevel(debugLevel): void
  • Returns void

setDebugPaint

  • setDebugPaint(fn): void
  • Parameters

    • fn: null | (() => void)

    Returns void

setDiffEqSolver

  • setDiffEqSolver(diffEqSolver): void
  • Returns void

setJointSmallImpacts

  • setJointSmallImpacts(value): void
  • Parameters

    • value: boolean

    Returns void

setTimeStep

  • setTimeStep(timeStep): void
  • Parameters

    • timeStep: number

    Returns void

setWayPoints

  • setWayPoints(wayPoints): void
  • Returns void

toStringShort

  • toStringShort(): string
  • Returns string

    a minimal string representation of this object.