CopperLicht API Documentation
Class CL3D.Vect3d
3d vector class with lots of operators and methods
Class Overview
CL3D.Vect3d(x, y, z)
3d vector class with lots of operators and methods. Usually used to store 3d positions and directions.
- Parameters:
- {Number} x
- x coordinate, can be null.
- {Number} y
- y coordinate, can be null.
- {Number} z
- z coordinate, can be null.
Field Attributes | Field Name and Description |
---|---|
X coordinate of the vector
|
|
Y coordinate of the vector
|
|
Z coordinate of the vector
|
Method Attributes | Method Name and Description |
---|---|
add(other)
Adds another vector to this vector and returns a new vector
param other {CL3D.Vect3d} other vector
|
|
addToThis(other)
Adds another vector to this vector, modifying this vector
param other {CL3D.Vect3d} other vector
|
|
clone()
Creates a copy of this vector and returns it
|
|
copyTo(tgt)
Copies the content of this vector to another vector
|
|
crossProduct(p)
returns the cross product of this vector with another vector as new vector.
|
|
Divides each coordinate with the coordinate of another vector, modifying this vector.
|
|
Divides each coordinate with the coordinate of another vector, returning the result as a new vector.
|
|
dotProduct(other)
returns the dot procduct of this vector with another vector
|
|
equals(other)
Returns true if this vector equals another vector.
|
|
equalsByNumbers(x, y, z)
Returns true if this vector equals x, y, and z given as argument.
|
|
Returns true if this vector equals zero.
|
|
Returns the squared distance to another point
|
|
Returns the distance to another point
|
|
Get the rotations that would make a (0,0,1) direction vector point in the same direction as this direction vector.
|
|
getInterpolated(other, d)
returns a new interpolated vector, between this and another vector.
|
|
Returns the lenght of this vector
|
|
Returns the squared lenght of this vector, is faster than Vect3d.getLength.
|
|
Creates a new vector which is the normalized version of this vector (set to a length of 1)
param other {CL3D.Vect3d} other vector
|
|
isZero()
Returns true if this vector == zero.
|
|
Multiplies this vector with a scalar value (= a number), modifying this vector
|
|
Multiplies each coordinate with the coordinate of another vector, modifying this vector.
|
|
Multiplies this vector with a scalar value (= a number) and returns the result as a new vector
|
|
Multiplies each coordinate with the coordinate of another vector, returning the result as a new vector.
|
|
Normalizes this vector, setting it to a length of 1, modifying this vector
|
|
rotateXYBy(degrees)
Rotates the vector around XY by a specic angle
|
|
rotateXZBy(degrees)
Rotates the vector around XZ by a specic angle
|
|
rotateYZBy(degrees)
Rotates the vector around YZ by a specic angle
|
|
set(x, y, z)
Sets all 3 coordinates to new values
|
|
setLength(n)
Sets the lengthh of this vector to the specified value
|
|
setTo(other)
Sets all coordinates of this vector to the coordinates of the other vector
|
|
substract(other)
Substracts another vector from this vector and returns a new vector
param other {CL3D.Vect3d} other vector
|
|
substractFromThis(other)
Substracts another vector from this vector, modifying this vector
param other {CL3D.Vect3d} other vector
|
|
toString()
Returns a string representation of this vector.
|
Field Detail
{Number}
X
X coordinate of the vector
{Number}
Y
Y coordinate of the vector
{Number}
Z
Z coordinate of the vector
Method Detail
{CL3D.Vect3d}
add(other)
Adds another vector to this vector and returns a new vector
param other {CL3D.Vect3d} other vector
- Parameters:
- other
- Returns:
- {CL3D.Vect3d} new vector with the result
addToThis(other)
Adds another vector to this vector, modifying this vector
param other {CL3D.Vect3d} other vector
- Parameters:
- other
{Vect3d}
clone()
Creates a copy of this vector and returns it
copyTo(tgt)
Copies the content of this vector to another vector
- Parameters:
- {CL3D.Vect3d} tgt
- Target vector
{CL3D.Vect3d}
crossProduct(p)
returns the cross product of this vector with another vector as new vector.
- Parameters:
- p
- Returns:
- {CL3D.Vect3d} a new vector with the result cross product
divideThisThroughVect(v)
Divides each coordinate with the coordinate of another vector, modifying this vector.
- Parameters:
- v
divideThroughVect(v)
Divides each coordinate with the coordinate of another vector, returning the result as a new vector.
- Parameters:
- v
dotProduct(other)
returns the dot procduct of this vector with another vector
- Parameters:
- other
equals(other)
Returns true if this vector equals another vector. Doesn't use the comparison operator but the CL3D.equals function.
- Parameters:
- other
- {CL3D.Vect3d} other vector
equalsByNumbers(x, y, z)
Returns true if this vector equals x, y, and z given as argument. Doesn't use the comparison operator but the CL3D.equals function.
- Parameters:
- x
- y
- z
equalsZero()
Returns true if this vector equals zero. Doesn't use the comparison operator but the CL3D.iszero function.
getDistanceFromSQ(v)
Returns the squared distance to another point
- Parameters:
- {CL3D.Vect3d} v
- another point
getDistanceTo(v)
Returns the distance to another point
- Parameters:
- {CL3D.Vect3d} v
- another point
getHorizontalAngle()
Get the rotations that would make a (0,0,1) direction vector point in the same direction as this direction vector.
This utility method is very useful for
orienting scene nodes towards specific targets. For example, if this vector represents the difference
between two scene nodes, then applying the result of getHorizontalAngle() to one scene node will point
it at the other one.
getInterpolated(other, d)
returns a new interpolated vector, between this and another vector.
- Parameters:
- {CL3D.Vect3d} other
- another point or vector
- {Number} d
- value between 0 and 1, specifying the interpolation
getLength()
Returns the lenght of this vector
getLengthSQ()
Returns the squared lenght of this vector, is faster than Vect3d.getLength.
{CL3D.Vect3d}
getNormalized()
Creates a new vector which is the normalized version of this vector (set to a length of 1)
param other {CL3D.Vect3d} other vector
- Returns:
- {CL3D.Vect3d} Returns a new vector with the result
isZero()
Returns true if this vector == zero.
multiplyThisWithScal(v)
Multiplies this vector with a scalar value (= a number), modifying this vector
- Parameters:
- v
multiplyThisWithVect(v)
Multiplies each coordinate with the coordinate of another vector, modifying this vector.
- Parameters:
- v
multiplyWithScal(v)
Multiplies this vector with a scalar value (= a number) and returns the result as a new vector
- Parameters:
- v
multiplyWithVect(v)
Multiplies each coordinate with the coordinate of another vector, returning the result as a new vector.
- Parameters:
- v
normalize()
Normalizes this vector, setting it to a length of 1, modifying this vector
rotateXYBy(degrees)
Rotates the vector around XY by a specic angle
- Parameters:
- degrees
rotateXZBy(degrees)
Rotates the vector around XZ by a specic angle
- Parameters:
- degrees
rotateYZBy(degrees)
Rotates the vector around YZ by a specic angle
- Parameters:
- degrees
set(x, y, z)
Sets all 3 coordinates to new values
- Parameters:
- x
- y
- z
setLength(n)
Sets the lengthh of this vector to the specified value
- Parameters:
- n
setTo(other)
Sets all coordinates of this vector to the coordinates of the other vector
- Parameters:
- {CL3D.Vect3d} other
- other vector
{CL3D.Vect3d}
substract(other)
Substracts another vector from this vector and returns a new vector
param other {CL3D.Vect3d} other vector
- Parameters:
- other
- Returns:
- {CL3D.Vect3d} new vector with the result
substractFromThis(other)
Substracts another vector from this vector, modifying this vector
param other {CL3D.Vect3d} other vector
- Parameters:
- other
toString()
Returns a string representation of this vector.