Coordinate class
Subclasses
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); }
Methods
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 Object
s 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 ==(Coordinate other) { return other != null && x == other.x && y == other.y; }
num getDistance(Coordinate other) #
Computes the distance to another Coordinate.
num getDistance (Coordinate other) => (this - other).length;
int hashCode() #
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();
bool get isValid() #
bool get isValid => isValidNumber(x) && isValidNumber(y);
noSuchMethod(String name, List args) #
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);
Type get runtimeType() #
A representation of the runtime type of the object.
external Type get runtimeType;
toJson() #
Dynamic toJson() => { 'x' : x, 'y' : y };
String toString() #
Returns a string representation of this object.
String toString() => '{x:${x}, y:${y}}';