/** * Get direction from motion coordinates * This function gets the motion direction from the current and previous * object coordinates and the step size. * @param x0 Original x coordinate of the object * @param y0 Original y coordinate of the object * @param x x coordinate of the object * @param y y coordinate of the object * @param s step size */ int AgiEngine::getDirection(int x0, int y0, int x, int y, int s) { int dirTable[9] = { 8, 1, 2, 7, 0, 3, 6, 5, 4 }; return dirTable[checkStep(x - x0, s) + 3 * checkStep(y - y0, s)]; }
void RK4Integrator::setIntegrationStep(const double step) { checkStep(step); integration_step = step; }
/** * Get direction from motion coordinates * This function gets the motion direction from the current and previous * object coordinates and the step size. * @param x0 Original x coordinate of the object * @param y0 Original y coordinate of the object * @param x x coordinate of the object * @param y y coordinate of the object * @param s step size */ int AgiEngine::getDirection(int16 objX, int16 objY, int16 destX, int16 destY, int16 stepSize) { int dirTable[9] = { 8, 1, 2, 7, 0, 3, 6, 5, 4 }; return dirTable[checkStep(destX - objX, stepSize) + 3 * checkStep(destY - objY, stepSize)]; }
RK4Integrator::RK4Integrator(double step) : integration_step(step) { checkStep(step); }