crystalspace.jbind.impl.csgeom.vector3
Class csVector3

java.lang.Object
  extended bycrystalspace.jbind.impl.csNativeObject
      extended bycrystalspace.jbind.impl.csgeom.vector3.csVector3
All Implemented Interfaces:
iPointer

public class csVector3
extends csNativeObject

A 3D vector.

Author:
Quentin Anciaux

Field Summary
 
Fields inherited from class crystalspace.jbind.impl.csNativeObject
ImplFactory, nPointer
 
Constructor Summary
csVector3()
          Make a new vector.
csVector3(csDVector3 dv)
          Conversion from double precision vector to single.
csVector3(csVector3 v)
          Copy Constructor.
csVector3(float m)
          Make a new initialized vector.
csVector3(float ix, float iy)
          Make a new vector and initialize with the given values.
csVector3(float ix, float iy, float iz)
          Make a new vector and initialize with the given values.
csVector3(iPointer nPointer)
          Create a java csVector3 object which points to the native csVector3 nPointer.
 
Method Summary
 csVector3 add()
          Unary + operator.
static csDVector3 add(csDVector3 v1, csVector3 v2)
          Add two vectors of differing type, raise the csVector3 to DVector3.
 csVector3 add(csVector3 v)
          Add another vector to this vector.
static csDVector3 add(csVector3 v1, csDVector3 v2)
          Add two vectors of differing type, raise the csVector3 to DVector3.
static csVector3 add(csVector3 v1, csVector3 v2)
          Add two vectors.
 void cross(csVector3 px, csVector3 py)
          Take cross product of two vectors and put result in this vector.
static csDVector3 div(csVector3 v, double f)
          Divide a vector by a scalar double.
static csVector3 div(csVector3 v, float f)
          Divide a vector by a scalar.
static csVector3 div(csVector3 v, int f)
          Divide a vector by a scalar int.
 csVector3 div(float f)
          Divide this vector by a scalar.
static boolean equals(csVector3 v1, csVector3 v2)
          Check if two vectors are equal.
 boolean equals(java.lang.Object obj)
          Check if two vectors are equal.
static boolean greater(float f, csVector3 v)
          Test if each component of a vector is less than a small epsilon value.
protected  boolean isNativePointerValidSafe(long nPointer)
           
 boolean isZero()
          Query if the vector is zero. precision = SMALL_EPSILON
 boolean isZero(float precision)
          Query if the vector is zero.
 float item(int n)
          Returns n-th component of the vector.
 void item(int n, float f)
          Returns n-th component of the vector.
static boolean less(csVector3 v, float f)
          Test if each component of a vector is less than a small epsilon value.
 csVector3 minus()
          Unary - operator.
static csDVector3 minus(csDVector3 v1, csVector3 v2)
          Subtract two vectors of differing type, cast to double.
 csVector3 minus(csVector3 v)
          Subtract another vector from this vector.
static csDVector3 minus(csVector3 v1, csDVector3 v2)
          Subtract two vectors of differing type, cast to double.
static csVector3 minus(csVector3 v1, csVector3 v2)
          Subtract two vectors.
static csVector3 mod(csVector3 v1, csVector3 v2)
          Take the cross product of two vectors.
static float mul(csVector3 v1, csVector3 v2)
          Take the dot product of two vectors.
static csDVector3 mul(csVector3 v, double f)
          Multiply a vector and a scalar double.
static csVector3 mul(csVector3 v, float f)
          Multiply a vector and a scalar.
static csVector3 mul(csVector3 v, int f)
          Multiply a vector and a scalar int.
static csDVector3 mul(double f, csVector3 v)
          Multiply a vector and a scalar double.
 csVector3 mul(float f)
          Multiply this vector by a scalar.
static csVector3 mul(float f, csVector3 v)
          Multiply a vector and a scalar.
static csVector3 mul(int f, csVector3 v)
          Multiply a vector and a scalar int.
protected  void nDelete(long pointer)
           
static boolean nEquals(csVector3 v1, csVector3 v2)
          Check if two vectors are not equal.
 float norm()
          Returns the norm of this vector.
static float norm(csVector3 v)
          Returns the norm (magnitude) of a vector.
 void normalize()
          Scale this vector to length = 1.0;.
static csVector3 projectl(csVector3 v1, csVector3 v2)
          Project one vector onto another.
static csVector3 projectr(csVector3 v1, csVector3 v2)
          Project one vector onto another.
 void set(csVector3 v)
          Set the value of this vector.
 void set(float sx, float sy, float sz)
          Set the value of this vector.
 float squaredNorm()
          Return the squared norm (magnitude) of this vector.
 csVector3 unit()
          Returns the unit vector in the direction of this vector.
static csVector3 unit(csVector3 v)
          Normalizes a vector to a unit vector.
 float x()
          The X component of the vector.
 void x(float x)
          The X component of the vector.
 float y()
          The Y component of the vector.
 void y(float y)
          The Y component of the vector.
 float z()
          The Z component of the vector.
 void z(float z)
          The Z component of the vector.
 
Methods inherited from class crystalspace.jbind.impl.csNativeObject
changePointer, finalize, getPointer, getPointer, getPointerArray, hashCode, isMemoryOwner, isNativePointerValid, newNativeObject, setMemoryOwner, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

csVector3

public csVector3(iPointer nPointer)
Create a java csVector3 object which points to the native csVector3 nPointer.

Parameters:
nPointer -

csVector3

public csVector3()
Make a new vector.


csVector3

public csVector3(float m)
Make a new initialized vector.

Parameters:
m -

csVector3

public csVector3(float ix,
                 float iy)
Make a new vector and initialize with the given values.

Parameters:
ix -
iy -

csVector3

public csVector3(float ix,
                 float iy,
                 float iz)
Make a new vector and initialize with the given values.

Parameters:
ix -
iy -
iz -

csVector3

public csVector3(csVector3 v)
Copy Constructor.

Parameters:
v -

csVector3

public csVector3(csDVector3 dv)
Conversion from double precision vector to single.

Parameters:
dv -
Method Detail

nDelete

protected void nDelete(long pointer)
Specified by:
nDelete in class csNativeObject
See Also:
csNativeObject.nDelete(long)

isNativePointerValidSafe

protected boolean isNativePointerValidSafe(long nPointer)
Specified by:
isNativePointerValidSafe in class csNativeObject
See Also:
crystalspace.jbind.impl.csNativeObject#isNativePointerValidSafe()

cross

public final void cross(csVector3 px,
                        csVector3 py)
Take cross product of two vectors and put result in this vector.

Parameters:
px -
py -

item

public final float item(int n)
Returns n-th component of the vector.

Parameters:
n -
Returns:

item

public final void item(int n,
                       float f)
Returns n-th component of the vector.

Parameters:
n -
Returns:

add

public final csVector3 add(csVector3 v)
Add another vector to this vector.

Parameters:
v -
Returns:

minus

public final csVector3 minus(csVector3 v)
Subtract another vector from this vector.

Parameters:
v -
Returns:

mul

public final csVector3 mul(float f)
Multiply this vector by a scalar.

Parameters:
f -
Returns:

div

public final csVector3 div(float f)
Divide this vector by a scalar.

Parameters:
f -
Returns:

add

public csVector3 add()
Unary + operator.

Returns:

minus

public final csVector3 minus()
Unary - operator.

Returns:

set

public final void set(float sx,
                      float sy,
                      float sz)
Set the value of this vector.

Parameters:
sx -
sy -
sz -

set

public final void set(csVector3 v)
Set the value of this vector.

Parameters:
v -

norm

public final float norm()
Returns the norm of this vector.

Returns:

squaredNorm

public final float squaredNorm()
Return the squared norm (magnitude) of this vector.

Returns:

unit

public final csVector3 unit()
Returns the unit vector in the direction of this vector.

Returns:

normalize

public final void normalize()
Scale this vector to length = 1.0;.


isZero

public final boolean isZero()
Query if the vector is zero. precision = SMALL_EPSILON

Returns:

isZero

public final boolean isZero(float precision)
Query if the vector is zero.

Parameters:
precision -
Returns:

norm

public static final float norm(csVector3 v)
Returns the norm (magnitude) of a vector.

Parameters:
v -
Returns:

unit

public static final csVector3 unit(csVector3 v)
Normalizes a vector to a unit vector.

Parameters:
v -
Returns:

x

public final float x()
The X component of the vector.

Returns:

x

public final void x(float x)
The X component of the vector.

Parameters:
x -

y

public final float y()
The Y component of the vector.

Returns:

y

public final void y(float y)
The Y component of the vector.

Parameters:
y -

z

public final float z()
The Z component of the vector.

Returns:

z

public final void z(float z)
The Z component of the vector.

Parameters:
z -

add

public static final csVector3 add(csVector3 v1,
                                  csVector3 v2)
Add two vectors.

Parameters:
v1 -
v2 -
Returns:

add

public static final csDVector3 add(csDVector3 v1,
                                   csVector3 v2)
Add two vectors of differing type, raise the csVector3 to DVector3.

Parameters:
v1 -
v2 -
Returns:

add

public static final csDVector3 add(csVector3 v1,
                                   csDVector3 v2)
Add two vectors of differing type, raise the csVector3 to DVector3.

Parameters:
v1 -
v2 -
Returns:

minus

public static final csVector3 minus(csVector3 v1,
                                    csVector3 v2)
Subtract two vectors.

Parameters:
v1 -
v2 -
Returns:

minus

public static final csDVector3 minus(csVector3 v1,
                                     csDVector3 v2)
Subtract two vectors of differing type, cast to double.

Parameters:
v1 -
v2 -
Returns:

minus

public static final csDVector3 minus(csDVector3 v1,
                                     csVector3 v2)
Subtract two vectors of differing type, cast to double.

Parameters:
v1 -
v2 -
Returns:

mul

public static final float mul(csVector3 v1,
                              csVector3 v2)
Take the dot product of two vectors.

Parameters:
v1 -
v2 -
Returns:

mod

public static final csVector3 mod(csVector3 v1,
                                  csVector3 v2)
Take the cross product of two vectors.

Parameters:
v1 -
v2 -
Returns:

mul

public static final csVector3 mul(csVector3 v,
                                  float f)
Multiply a vector and a scalar.

Parameters:
v -
f -
Returns:

mul

public static final csVector3 mul(float f,
                                  csVector3 v)
Multiply a vector and a scalar.

Parameters:
f -
v -
Returns:

mul

public static final csDVector3 mul(csVector3 v,
                                   double f)
Multiply a vector and a scalar double. Upgrade v to DVector.

Parameters:
v -
f -
Returns:

mul

public static final csDVector3 mul(double f,
                                   csVector3 v)
Multiply a vector and a scalar double. Upgrade v to DVector.

Parameters:
f -
v -
Returns:

mul

public static final csVector3 mul(csVector3 v,
                                  int f)
Multiply a vector and a scalar int.

Parameters:
v -
f -
Returns:

mul

public static final csVector3 mul(int f,
                                  csVector3 v)
Multiply a vector and a scalar int.

Parameters:
f -
v -
Returns:

div

public static final csVector3 div(csVector3 v,
                                  float f)
Divide a vector by a scalar.

Parameters:
v -
f -
Returns:

div

public static final csDVector3 div(csVector3 v,
                                   double f)
Divide a vector by a scalar double. Upgrade v to DVector.

Parameters:
v -
f -
Returns:

div

public static final csVector3 div(csVector3 v,
                                  int f)
Divide a vector by a scalar int.

Parameters:
v -
f -
Returns:

equals

public static final boolean equals(csVector3 v1,
                                   csVector3 v2)
Check if two vectors are equal.

Parameters:
v1 -
v2 -
Returns:

nEquals

public static final boolean nEquals(csVector3 v1,
                                    csVector3 v2)
Check if two vectors are not equal.

Parameters:
v1 -
v2 -
Returns:

projectr

public static csVector3 projectr(csVector3 v1,
                                 csVector3 v2)
Project one vector onto another.

Parameters:
v1 -
v2 -
Returns:

projectl

public static final csVector3 projectl(csVector3 v1,
                                       csVector3 v2)
Project one vector onto another.

Parameters:
v1 -
v2 -
Returns:

less

public static boolean less(csVector3 v,
                           float f)
Test if each component of a vector is less than a small epsilon value.

Parameters:
v -
f -
Returns:

greater

public static final boolean greater(float f,
                                    csVector3 v)
Test if each component of a vector is less than a small epsilon value.

Parameters:
f -
v -
Returns:

equals

public final boolean equals(java.lang.Object obj)
Check if two vectors are equal.

Overrides:
equals in class csNativeObject
See Also:
Object.equals(java.lang.Object)