math.vector2 - ICE 0.1 API documentation

ICE 0.1 API documentation

# math.vector2

2D vector struct.

struct Vector2(T) if (isNumeric!(T));

  2D vector or point.

  T x;

    X component of the vector.

  T y;

    Y component of the vector.

  const pure Vector2 opNeg();

    Negation.

  const pure bool opEquals(ref const Vector2 v);

    Equality with a vector.

  const pure Vector2 opBinary(string op)(const Vector2 v);

    Addition/subtraction with a vector.

  const pure Vector2 opBinary(string op, U)(const U m);

    Multiplication/division with a scalar.

  const pure Vector2 opBinaryRight(string op, U)(const U m);

    Multiplication/division with a scalar.

  pure void opOpAssign(string op)(const Vector2 v);

    Addition/subtraction with a vector.

  void opOpAssign(string op, U)(const U m);

    Multiplication/division with a scalar.

  const pure F angle(F = T)();

    Get angle of this vector in radians.

  pure void angle(F)(const F angle);

    Set angle of this vector in radians, preserving its length.

  pure void rotate(F)(const F angle);

    Rotate by specified angle, in radians.

  const pure nothrow Vector2!(T) rotated(F)(const F angle);

    Return this vector rotated by specified angle, in radians.

  const pure nothrow T lengthSquared();

    Get squared length of the vector.

  const pure nothrow T length();

    Get length of the vector.

  pure nothrow void length(T length);

    Set length of the vector, resizing it but preserving its direction.

  const pure nothrow T dotProduct(const Vector2 v);

    Dot (scalar) product with another vector.

    Parameters:

    Vector2 v | Vector to get dot product with.

    Returns:
    Dot product of this and the other vector.
  const pure nothrow Vector2 normal();

    Get normal of this vector (a pependicular vector).

  pure nothrow void normalize();

    Turns this into a unit vector.

  const pure nothrow Vector2 normalized();

    Get unit vector of this vector. Result is undefined if this is a zero vector.

  pure nothrow void setZero();

    Turn this vector into a zero vector.

  const pure nothrow bool isZero();

    Is this a zero vector?

  const pure nothrow Vector2!(T) to(T)();

    Convert a Vector2 of one type to other.

    Examples:

         Vector2u v_uint = Vector2u(4, 2);
         //convert to Vector2f
         Vector2f V_float = v_uint.to!float

Vector2!(T) randomPosition(T)(Vector2!(T) center, T radius);

  Return a random position in a circle.

  Parameters:

  center | Center of the circle.
  radius | Radius of the circle.

  Returns:
  Random position in the specified circle.
Vector2!(T) randomDirection(T)();

  Get a unit vector with a random direction.

pure Vector2!(Unqual!(T)) angleToVector(T)(T angle);

  Get a unit vector in direction of specified angle.

alias Vector2b;

  Vector2 of bytes.

alias Vector2ub;

  Vector2 of ubytes.

alias Vector2s;

  Vector2 of shorts.

alias Vector2us;

  Vector2 of ushorts.

alias Vector2i;

  Vector2 of ints.

alias Vector2u;

  Vector2 of uints.

alias Vector2f;

  Vector2 of floats.

alias Vector2d;

  Vector2 of doubles.

Copyright © Ferdinand Majerech 2011. | Page generated by AutoDDoc and Ddoc.