Dart Documentationbox2d_consoleMathBox

MathBox class

class MathBox {
  static const double TWO_PI = Math.PI * 2.0;

  MathBox();

  /**
   * Return the distance between the two given vectors, but squared.
   */
  static num distanceSquared(Vector v1, Vector v2) {
    num dx = (v1.x - v2.x);
    num dy = (v1.y - v2.y);
    return dx * dx + dy * dy;
  }

  /**
   * Return the distance between the two given vectors.
   */
  static num distance(Vector v1, Vector v2) {
    return Math.sqrt(distanceSquared(v1, v2));
  }

  /** Returns the closest value to [a] that is in between [low] and [high] */
  static num clamp(num a, num low, num high) {
    return Math.max(low, Math.min(a, high));
  }

  /**
   * Given a value within the range specified by [fromMin] and [fromMax],
   * returns a value with the same relative position in the range specified
   * from [toMin] and [toMax]. For example, given a [val] of 2 in the
   * "from range" of 0-4, and a "to range" of 10-20, would return 15.
   */
  static num translateAndScale(num val, num fromMin, num fromMax, num toMin,
      num toMax) {
    final num mult = (val - fromMin) / (fromMax - fromMin);
    final num res = toMin + mult * (toMax - toMin);
    return res;
  }

  /** Convert from [deg] degrees to radians. */
  static num degToRad(num deg) => (Math.PI / 180.0) * deg;
  /** Convert from [rad] radians to degrees. */
  static num radToDeg(num rad) => (180.0 / Math.PI) * rad;
}

Constructors

new MathBox() #

MathBox();

Static Properties

const double TWO_PI #

static const double TWO_PI = Math.PI * 2.0;

Static Methods

num distanceSquared(Vector v1, Vector v2) #

Return the distance between the two given vectors, but squared.

static num distanceSquared(Vector v1, Vector v2) {
  num dx = (v1.x - v2.x);
  num dy = (v1.y - v2.y);
  return dx * dx + dy * dy;
}

num distance(Vector v1, Vector v2) #

Return the distance between the two given vectors.

static num distance(Vector v1, Vector v2) {
  return Math.sqrt(distanceSquared(v1, v2));
}

num clamp(num a, num low, num high) #

Returns the closest value to a that is in between low and high

static num clamp(num a, num low, num high) {
  return Math.max(low, Math.min(a, high));
}

num translateAndScale(num val, num fromMin, num fromMax, num toMin, num toMax) #

Given a value within the range specified by fromMin and fromMax, returns a value with the same relative position in the range specified from toMin and toMax. For example, given a val of 2 in the "from range" of 0-4, and a "to range" of 10-20, would return 15.

static num translateAndScale(num val, num fromMin, num fromMax, num toMin,
    num toMax) {
  final num mult = (val - fromMin) / (fromMax - fromMin);
  final num res = toMin + mult * (toMax - toMin);
  return res;
}

num degToRad(num deg) #

Convert from deg degrees to radians.

static num degToRad(num deg) => (Math.PI / 180.0) * deg;

num radToDeg(num rad) #

Convert from rad radians to degrees.

static num radToDeg(num rad) => (180.0 / Math.PI) * rad;

Properties

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

new MathBox() #

MathBox();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();