jadex.application.space.envsupport.math
Class SynchronizedVector2Wrapper

java.lang.Object
  extended by jadex.application.space.envsupport.math.SynchronizedVector2Wrapper
All Implemented Interfaces:
IVector2

public class SynchronizedVector2Wrapper
extends Object
implements IVector2

Wrapper for synchronized access of a vector2


Constructor Summary
SynchronizedVector2Wrapper(IVector2 vector)
           
 
Method Summary
 IVector2 add(double scalar)
          Adds a scalar to each component of this vector.
 IVector2 add(IVector1 scalar)
          Adds a scalar to each component of this vector.
 IVector2 add(IVector2 vector)
          Adds another vector to this vector, adding individual components.
 IVector2 assign(IVector2 vector)
          Assigns this vector the values of another vector.
 Object clone()
          Generates a deep clone of the vector.
 IVector2 copy()
          Makes a copy of the vector without using the complex clone interface.
 IVector2 divide(IVector2 vector)
          Performs a division on the vector.
 boolean equals(IVector2 vector)
          Compares the vector to another vector.
 boolean equals(Object obj)
          Compares the vector to an object
 IVector1 getDirection()
          Returns the direction (theta) of the vector.
 double getDirectionAsDouble()
          Returns the direction (theta) of the vector as double.
 float getDirectionAsFloat()
          Returns the direction (theta) of the vector as float.
 IVector1 getDistance(IVector2 vector)
          Returns the distance to another vector.
 IVector1 getLength()
          Returns the length (magnitude) of the vector.
 IVector1 getMean()
          Returns the mean average of the vector components.
 IVector1 getX()
          Returns the x-component of the vector.
 BigDecimal getXAsBigDecimal()
          Returns the x-component of the vector as BigDecimal.
 double getXAsDouble()
          Returns the x-component of the vector as double.
 float getXAsFloat()
          Returns the x-component of the vector as float.
 int getXAsInteger()
          Returns the x-component of the vector as integer.
 long getXAsLong()
          Returns the x-component of the vector as long.
 IVector1 getY()
          Returns the y-component of the vector.
 BigDecimal getYAsBigDecimal()
          Returns the component of the vector as BigDecima;.
 double getYAsDouble()
          Returns the component of the vector as double.
 float getYAsFloat()
          Returns the component of the vector as float.
 int getYAsInteger()
          Returns the component of the vector as integer.
 long getYAsLong()
          Returns the component of the vector as float.
 IVector2 mod(IVector2 modulus)
          Applies a modulo vector.
 IVector2 multiply(double scalar)
          Performs a scalar multiplication (scaling) on the vector.
 IVector2 multiply(IVector1 scalar)
          Performs a scalar multiplication (scaling) on the vector.
 IVector2 multiply(IVector2 vector)
          Performs a multiplication on the vector.
 IVector2 negate()
          Negates the vector by negating its components.
 IVector2 negateX()
          Negates the x-component.
 IVector2 negateY()
          Negates the y-component.
 IVector2 normalize()
          Converts the vector to a unit vector (normalization)
 IVector2 randomX(IVector1 lower, IVector1 upper)
          Sets the x-component to a random value in the interval [lower,upper]
 IVector2 randomY(IVector1 lower, IVector1 upper)
          Sets the y-component to a random value in the interval [lower,upper]
 IVector2 subtract(double scalar)
          Subtracts a scalar to each component of this vector.
 IVector2 subtract(IVector1 scalar)
          Subtracts a scalar to each component of this vector.
 IVector2 subtract(IVector2 vector)
          Subtracts another vector to this vector, subtracting individual components.
 String toString()
           
 IVector2 zero()
          Sets all vector components to zero.
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SynchronizedVector2Wrapper

public SynchronizedVector2Wrapper(IVector2 vector)
Method Detail

assign

public IVector2 assign(IVector2 vector)
Assigns this vector the values of another vector.

Specified by:
assign in interface IVector2
Parameters:
vector - the other vector
Returns:
a reference to the called vector (NOT a copy)

add

public IVector2 add(double scalar)
Adds a scalar to each component of this vector.

Specified by:
add in interface IVector2
Parameters:
scalar - scalar value as double
Returns:
a reference to the called vector (NOT a copy)

add

public IVector2 add(IVector1 scalar)
Adds a scalar to each component of this vector.

Specified by:
add in interface IVector2
Parameters:
scalar - scalar value
Returns:
a reference to the called vector (NOT a copy)

add

public IVector2 add(IVector2 vector)
Adds another vector to this vector, adding individual components.

Specified by:
add in interface IVector2
Parameters:
vector - the vector to add to this vector
Returns:
a reference to the called vector (NOT a copy)

subtract

public IVector2 subtract(double scalar)
Subtracts a scalar to each component of this vector.

Specified by:
subtract in interface IVector2
Parameters:
scalar - scalar value as double
Returns:
a reference to the called vector (NOT a copy)

subtract

public IVector2 subtract(IVector1 scalar)
Subtracts a scalar to each component of this vector.

Specified by:
subtract in interface IVector2
Parameters:
scalar - scalar value
Returns:
a reference to the called vector (NOT a copy)

subtract

public IVector2 subtract(IVector2 vector)
Subtracts another vector to this vector, subtracting individual components.

Specified by:
subtract in interface IVector2
Parameters:
vector - the vector to subtract from this vector
Returns:
a reference to the called vector (NOT a copy)

mod

public IVector2 mod(IVector2 modulus)
Applies a modulo vector. The modulus will be added first so that values in the interval (-modulus, 0) will wrap over into the positive range.

Specified by:
mod in interface IVector2
Parameters:
modulus - modulus
Returns:
a reference to the called vector (NOT a copy)

multiply

public IVector2 multiply(double scalar)
Performs a scalar multiplication (scaling) on the vector.

Specified by:
multiply in interface IVector2
Parameters:
scalar - the scale factor double
Returns:
a reference to the called vector (NOT a copy)

multiply

public IVector2 multiply(IVector1 scalar)
Performs a scalar multiplication (scaling) on the vector.

Specified by:
multiply in interface IVector2
Parameters:
scalar - the scale factor
Returns:
a reference to the called vector (NOT a copy)

multiply

public IVector2 multiply(IVector2 vector)
Performs a multiplication on the vector.

Specified by:
multiply in interface IVector2
Parameters:
vector - vector
Returns:
a reference to the called vector (NOT a copy)

divide

public IVector2 divide(IVector2 vector)
Performs a division on the vector.

Specified by:
divide in interface IVector2
Parameters:
vector - vector
Returns:
a reference to the called vector (NOT a copy)

zero

public IVector2 zero()
Sets all vector components to zero.

Specified by:
zero in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

negateX

public IVector2 negateX()
Negates the x-component.

Specified by:
negateX in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

negateY

public IVector2 negateY()
Negates the y-component.

Specified by:
negateY in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

negate

public IVector2 negate()
Negates the vector by negating its components.

Specified by:
negate in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

randomX

public IVector2 randomX(IVector1 lower,
                        IVector1 upper)
Sets the x-component to a random value in the interval [lower,upper]

Specified by:
randomX in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

randomY

public IVector2 randomY(IVector1 lower,
                        IVector1 upper)
Sets the y-component to a random value in the interval [lower,upper]

Specified by:
randomY in interface IVector2
Returns:
a reference to the called vector (NOT a copy)

normalize

public IVector2 normalize()
Converts the vector to a unit vector (normalization)

Specified by:
normalize in interface IVector2

getLength

public IVector1 getLength()
Returns the length (magnitude) of the vector.

Specified by:
getLength in interface IVector2
Returns:
vector length

getDirection

public IVector1 getDirection()
Returns the direction (theta) of the vector.

Specified by:
getDirection in interface IVector2
Returns:
vector direction

getDirectionAsFloat

public float getDirectionAsFloat()
Returns the direction (theta) of the vector as float.

Specified by:
getDirectionAsFloat in interface IVector2
Returns:
vector direction as float

getDirectionAsDouble

public double getDirectionAsDouble()
Returns the direction (theta) of the vector as double.

Specified by:
getDirectionAsDouble in interface IVector2
Returns:
vector direction as double

getMean

public IVector1 getMean()
Returns the mean average of the vector components.

Specified by:
getMean in interface IVector2
Returns:
vector direction

getDistance

public IVector1 getDistance(IVector2 vector)
Returns the distance to another vector.

Specified by:
getDistance in interface IVector2
Parameters:
vector - other vector
Returns:
distance

getX

public IVector1 getX()
Returns the x-component of the vector.

Specified by:
getX in interface IVector2
Returns:
x-component

getY

public IVector1 getY()
Returns the y-component of the vector.

Specified by:
getY in interface IVector2
Returns:
y-component

getXAsInteger

public int getXAsInteger()
Returns the x-component of the vector as integer.

Specified by:
getXAsInteger in interface IVector2
Returns:
x-component as integer

getYAsInteger

public int getYAsInteger()
Returns the component of the vector as integer.

Specified by:
getYAsInteger in interface IVector2
Returns:
y-component as float

getXAsLong

public long getXAsLong()
Returns the x-component of the vector as long.

Specified by:
getXAsLong in interface IVector2
Returns:
x-component as long

getYAsLong

public long getYAsLong()
Returns the component of the vector as float.

Specified by:
getYAsLong in interface IVector2
Returns:
y-component as float

getXAsFloat

public float getXAsFloat()
Returns the x-component of the vector as float.

Specified by:
getXAsFloat in interface IVector2
Returns:
x-component as float

getYAsFloat

public float getYAsFloat()
Returns the component of the vector as float.

Specified by:
getYAsFloat in interface IVector2
Returns:
y-component as float

getXAsDouble

public double getXAsDouble()
Returns the x-component of the vector as double.

Specified by:
getXAsDouble in interface IVector2
Returns:
x-component as double

getYAsDouble

public double getYAsDouble()
Returns the component of the vector as double.

Specified by:
getYAsDouble in interface IVector2
Returns:
y-component as double

getXAsBigDecimal

public BigDecimal getXAsBigDecimal()
Returns the x-component of the vector as BigDecimal.

Specified by:
getXAsBigDecimal in interface IVector2
Returns:
x-component as BigDecimal

getYAsBigDecimal

public BigDecimal getYAsBigDecimal()
Returns the component of the vector as BigDecima;.

Specified by:
getYAsBigDecimal in interface IVector2
Returns:
y-component as BigDecimal

copy

public IVector2 copy()
Makes a copy of the vector without using the complex clone interface.

Specified by:
copy in interface IVector2
Returns:
copy of the vector

clone

public Object clone()
             throws CloneNotSupportedException
Generates a deep clone of the vector.

Specified by:
clone in interface IVector2
Overrides:
clone in class Object
Returns:
clone of this vector
Throws:
CloneNotSupportedException

equals

public boolean equals(Object obj)
Compares the vector to an object

Specified by:
equals in interface IVector2
Overrides:
equals in class Object
Parameters:
obj - the object
Returns:
always returns false unless the object is an IVector2, in which case it is equivalent to equals(IVector vector)

equals

public boolean equals(IVector2 vector)
Compares the vector to another vector. The vectors are equal if the components are equal.

Specified by:
equals in interface IVector2
Parameters:
vector - the other vector
Returns:
true if the vectors are equal

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2010. All Rights Reserved.