Dart DocumentationbotCoordinate

Coordinate class

class Coordinate {
  final num x, y;

  const Coordinate([this.x = 0, this.y = 0]);

  /**
   * Computes the distance to another [Coordinate].
   **/
  num getDistance (Coordinate other) => (this - other).length;

  bool get isValid => isValidNumber(x) && isValidNumber(y);

  /**
   * Subtract a [Coordinate] and returns the result as new [Vector].
   **/
  Vector operator -(Coordinate other) => difference(this, other);

  Coordinate operator +(Vector other) =>
      new Coordinate(x + other.x, y + other.y);

  Vector toVector() => new Vector(x, y);

  Size toSize() => new Size(x, y);

  bool operator ==(Coordinate other) {
    return other != null && x == other.x && y == other.y;
  }

  static Vector difference(Coordinate a, Coordinate b) {
    return new Vector(a.x - b.x, a.y - b.y);
  }

  String toString() => '{x:${x}, y:${y}}';

  Dynamic toJson() => { 'x' : x, 'y' : y };
}

Subclasses

Vector

Constructors

const Coordinate([num x = 0, num y = 0]) #

const Coordinate([this.x = 0, this.y = 0]);

Static Methods

Vector difference(Coordinate a, Coordinate b) #

static Vector difference(Coordinate a, Coordinate b) {
  return new Vector(a.x - b.x, a.y - b.y);
}

Properties

final bool isValid #

bool get isValid => isValidNumber(x) && isValidNumber(y);

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

final num x #

final num x, y;

final num y #

final num x, y;

Operators

Coordinate operator +(Vector other) #

Coordinate operator +(Vector other) =>
    new Coordinate(x + other.x, y + other.y);

Vector operator -(Coordinate other) #

Subtract a Coordinate and returns the result as new Vector.

Vector operator -(Coordinate other) => difference(this, other);

bool operator ==(Coordinate other) #

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.

docs inherited from Object
bool operator ==(Coordinate other) {
  return other != null && x == other.x && y == other.y;
}

Methods

const Coordinate([num x = 0, num y = 0]) #

const Coordinate([this.x = 0, this.y = 0]);

num getDistance(Coordinate other) #

Computes the distance to another Coordinate.

num getDistance (Coordinate other) => (this - other).length;

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();

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();

toJson() #

Dynamic toJson() => { 'x' : x, 'y' : y };

Size toSize() #

Size toSize() => new Size(x, y);

String toString() #

Returns a string representation of this object.

docs inherited from Object
String toString() => '{x:${x}, y:${y}}';

Vector toVector() #

Vector toVector() => new Vector(x, y);