#include <Quat4.hpp>
Inheritance diagram for se_core::Quat4:
Public Types | |
typedef coor_t | value_type |
the type for values | |
typedef short | size_type |
the type for index | |
enum | { DIMENSION = 4 } |
dimension More... | |
Public Member Functions | |
Quat4 (coor_t x, coor_t y, coor_t z, coor_t w) | |
Constructs and initializes a Quat4 from the specified xyzw coordinates. | |
Quat4 (const coor_t v[]) | |
Constructs and initializes a Quat4 from the array of length 4. | |
Quat4 (const Tuple4 &t1) | |
Constructs and initializes a Quat4 from the specified Tuple4d. | |
Quat4 (const Euler3 &a1) | |
Quat4 (const AxisAngle4 &a1) | |
Quat4 () | |
Constructs uninitialized Quat4. | |
void | set (const Tuple4 &t1) |
Sets the value of this tuple to the value of tuple t1. | |
void | setIdentity () |
void | set (coor_t x, coor_t y, coor_t z, coor_t w) |
Sets the value of this tuple to the specified xyzw coordinates. | |
void | conjugate (const Quat4 &q1) |
Sets the value of this quaternion to the conjugate of quaternion q1. | |
void | conjugate () |
Negate the value of of each of this quaternion's x,y,z coordinates in place. | |
void | mul (const Quat4 &q1, const Quat4 &q2) |
Sets the value of this quaternion to the quaternion product of quaternions q1 and q2 (this = q1 * q2). | |
void | mul (const Quat4 &q1) |
Sets the value of this quaternion to the quaternion product of itself and q1 (this = this * q1). | |
void | rotate (const Quat4 &q1) |
Same as mul. | |
void | rotateInverse (const Quat4 &q1) |
void | mulInverse (const Quat4 &q1, const Quat4 &q2) |
Multiplies quaternion q1 by the inverse of quaternion q2 and places the value into this quaternion. | |
void | mulInverse (const Quat4 &q1) |
Multiplies this quaternion by the inverse of quaternion q1 and places the value into this quaternion. | |
void | inverse (const Quat4 &q1) |
Sets the value of this quaternion to quaternion inverse of quaternion q1. | |
void | inverse () |
Sets the value of this quaternion to the quaternion inverse of itself. | |
void | normalize (const Quat4 &q1) |
Sets the value of this quaternion to the normalized value of quaternion q1. | |
void | normalize () |
Normalizes the value of this quaternion in place. | |
bool | isNormalized () const |
bool | isIdentity () const |
void | set (const AxisAngle4 &a1) |
Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument. | |
void | set (const Euler3 &a1) |
void | setYaw (const bray_t yaw) |
void | setPitch (const bray_t pitch) |
void | setRoll (const bray_t roll) |
void | setYawAndPitch (const bray_t yaw, const bray_t pitch) |
void | setEuler (const bray_t yaw, const bray_t pitch, const bray_t roll) |
void | slerp (const Quat4 &q1, scale_t alpha, bool findShortestPath=false) |
Performs a great circle interpolation between this quaternion and the quaternion parameter and places the result into this quaternion. | |
void | slerp (const Quat4 &q1, const Quat4 &q2, scale_t alpha, bool findShortestPath=false) |
Performs a great circle interpolation between quaternion q1 and quaternion q2 and places the result into this quaternion. | |
void | interpolate (const Quat4 &q1, scale_t alpha) |
Same as slerp( .... | |
void | interpolate (const Quat4 &q1, const Quat4 &q2, scale_t alpha) |
void | scale (scale_t alpha) |
Sets the value of this tuple to the scalar multiplication of itself. | |
void | set (const coor_t t[]) |
Sets the value of this tuple from the 4 values specified in the array. | |
void | get (coor_t t[]) const |
Copies the value of the elements of this tuple into the array t[]. | |
void | get (Tuple4 *t) const |
Gets the value of this tuple and copies the values into the Tuple4. | |
void | add (const Tuple4 &t1, const Tuple4 &t2) |
Sets the value of this tuple to the vector sum of tuples t1 and t2. | |
void | add (const Tuple4 &t1) |
Sets the value of this tuple to the vector sum of itself and tuple t1. | |
void | sub (const Tuple4 &t1, const Tuple4 &t2) |
Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2). | |
void | sub (const Tuple4 &t1) |
Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1). | |
void | negate (const Tuple4 &t1) |
Sets the value of this tuple to the negation of tuple t1. | |
void | negate () |
Negates the value of this vector in place. | |
void | scale (scale_t s, const Tuple4 &t1) |
Sets the value of this tuple to the scalar multiplication of tuple t1. | |
void | scaleAdd (scale_t s, const Tuple4 &t1, const Tuple4 &t2) |
Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2). | |
void | scaleAdd (scale_t s, const Tuple4 &t1) |
Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1). | |
bool | equals (const Tuple4 &t1) const |
Returns true if all of the data members of Tuple4 t1 are equal to the corresponding data members in this. | |
bool | isNan () const |
bool | epsilonEquals (const Tuple4 &t1, coor_t epsilon) const |
Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false. | |
void | clamp (coor_t min, coor_t max, const Tuple4 &t) |
Clamps the tuple parameter to the range [low, high] and places the values into this tuple. | |
void | clamp (coor_t min, coor_t max) |
Clamps this tuple to the range [low, high]. | |
void | clampMin (coor_t min, const Tuple4 &t) |
Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple. | |
void | clampMin (coor_t min) |
Clamps the minimum value of this tuple to the min parameter. | |
void | clampMax (coor_t max, const Tuple4 &t) |
Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple. | |
void | clampMax (coor_t max) |
Clamps the maximum value of this tuple to the max parameter. | |
void | absolute (const Tuple4 &t) |
Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple. | |
void | absolute () |
Sets each component of this tuple to its absolute value. | |
void | interpolate (const Tuple4 &t1, const Tuple4 &t2, scale_t alpha) |
Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2. | |
void | interpolate (const Tuple4 &t1, scale_t alpha) |
Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1. | |
char * | toString (char *buffer) const |
Returns a string that contains the values of this Tuple4. | |
const char * | toLog () const |
bool | operator== (const Tuple4 &t1) const |
coor_t | operator[] (size_type index) const |
coor_t & | operator[] (size_type index) |
Tuple4 & | operator+= (const Tuple4 &t1) |
Tuple4 & | operator-= (const Tuple4 &t1) |
Tuple4 & | operator *= (scale_t s) |
Tuple4 | operator+ (const Tuple4 &t1) const |
Tuple4 | operator- (const Tuple4 &t1) const |
Tuple4 | operator * (scale_t s) const |
Public Attributes | |
coor_t | x_ |
The x coordinate. | |
coor_t | y_ |
The y coordinate. | |
coor_t | z_ |
The z coordinate. | |
coor_t | w_ |
The w coordinate. | |
Static Public Attributes | |
const Quat4 | IDENTITY |
Protected Member Functions | |
coor_double_t | norm () const |
Definition at line 36 of file Quat4.hpp.
|
the type for index
Definition at line 47 of file Tuple4.hpp. |
|
the type for values
Definition at line 43 of file Tuple4.hpp. |
|
dimension
Definition at line 51 of file Tuple4.hpp. |
|
Constructs and initializes a Quat4 from the specified xyzw coordinates.
|
|
Constructs and initializes a Quat4 from the array of length 4.
|
|
Constructs and initializes a Quat4 from the specified Tuple4d.
|
|
Definition at line 61 of file Quat4.hpp. References se_core::Tuple4::set(). |
|
Definition at line 65 of file Quat4.hpp. References se_core::Tuple4::set(). |
|
Constructs uninitialized Quat4.
|
|
Sets each component of this tuple to its absolute value.
Definition at line 380 of file Tuple4.hpp. |
|
Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple.
Definition at line 332 of file Tuple4.hpp. |
|
Sets the value of this tuple to the vector sum of itself and tuple t1.
Definition at line 169 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple to the vector sum of tuples t1 and t2.
Definition at line 158 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. Referenced by se_core::ViewPoint::add(). |
|
Clamps this tuple to the range [low, high].
Definition at line 342 of file Tuple4.hpp. |
|
Clamps the tuple parameter to the range [low, high] and places the values into this tuple.
Definition at line 300 of file Tuple4.hpp. |
|
Clamps the maximum value of this tuple to the max parameter.
Definition at line 366 of file Tuple4.hpp. |
|
Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple.
Definition at line 322 of file Tuple4.hpp. |
|
Clamps the minimum value of this tuple to the min parameter.
Definition at line 351 of file Tuple4.hpp. |
|
Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple.
Definition at line 311 of file Tuple4.hpp. |
|
Negate the value of of each of this quaternion's x,y,z coordinates in place.
|
|
Sets the value of this quaternion to the conjugate of quaternion q1.
Definition at line 105 of file Quat4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false. The L-infinite distance is equal to MAX[abs(x1-x2), abs(y1-y2), abs(z1-z2), abs(w1-w2)].
Definition at line 8 of file Tuple4.cpp. References abs, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Returns true if all of the data members of Tuple4 t1 are equal to the corresponding data members in this.
Definition at line 278 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Gets the value of this tuple and copies the values into the Tuple4.
Definition at line 145 of file Tuple4.hpp. References Assert, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Copies the value of the elements of this tuple into the array t[].
Definition at line 134 of file Tuple4.hpp. |
|
Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1.
Definition at line 409 of file Tuple4.hpp. References scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2.
Definition at line 398 of file Tuple4.hpp. |
|
|
|
Same as slerp( .... , true) Definition at line 282 of file Quat4.hpp. Referenced by se_core::ViewPoint::interpolate(). |
|
Sets the value of this quaternion to the quaternion inverse of itself.
Definition at line 193 of file Quat4.hpp. References scale_t. |
|
Sets the value of this quaternion to quaternion inverse of quaternion q1.
Definition at line 180 of file Quat4.hpp. References norm(), scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. Referenced by se_core::Vector3::rotateInverse(). |
|
|
|
Definition at line 30 of file Tuple4.cpp. |
|
Definition at line 231 of file Quat4.hpp. References coor_double_t, and LogFatal. Referenced by slerp(). |
|
Sets the value of this quaternion to the quaternion product of itself and q1 (this = this * q1).
Definition at line 24 of file Quat4.cpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this quaternion to the quaternion product of quaternions q1 and q2 (this = q1 * q2). Note that this is safe for aliasing (e.g. this can be q1 or q2).
Definition at line 12 of file Quat4.cpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Multiplies this quaternion by the inverse of quaternion q1 and places the value into this quaternion. The value of the argument quaternion is preserved (this = this * q^-1).
Definition at line 68 of file Quat4.cpp. References scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Multiplies quaternion q1 by the inverse of quaternion q2 and places the value into this quaternion. The value of both argument quaternions is preservered (this = q1 * q2^-1).
Definition at line 36 of file Quat4.cpp. References scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Negates the value of this vector in place.
Definition at line 214 of file Tuple4.hpp. |
|
Sets the value of this tuple to the negation of tuple t1.
Definition at line 204 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Definition at line 170 of file Quat4.hpp. References coor_double_t. Referenced by inverse(), and normalize(). |
|
Normalizes the value of this quaternion in place.
Definition at line 220 of file Quat4.hpp. References scale_t. |
|
Sets the value of this quaternion to the normalized value of quaternion q1.
Definition at line 208 of file Quat4.hpp. References norm(), scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Definition at line 488 of file Tuple4.hpp. |
|
Definition at line 478 of file Tuple4.hpp. |
|
Definition at line 482 of file Tuple4.hpp. |
|
Definition at line 470 of file Tuple4.hpp. |
|
Definition at line 485 of file Tuple4.hpp. |
|
Definition at line 474 of file Tuple4.hpp. |
|
Definition at line 427 of file Tuple4.hpp. |
|
Definition at line 447 of file Tuple4.hpp. |
|
Definition at line 431 of file Tuple4.hpp. |
|
Same as mul. Included for method compatibility with Euler3. Definition at line 143 of file Quat4.hpp. Referenced by se_core::ViewPoint::add(). |
|
Definition at line 147 of file Quat4.hpp. Referenced by se_core::ViewPoint::sub(). |
|
Sets the value of this tuple to the scalar multiplication of tuple t1.
Definition at line 227 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple to the scalar multiplication of itself.
Reimplemented from se_core::Tuple4. |
|
Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
Definition at line 265 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2).
Definition at line 252 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple from the 4 values specified in the array.
Definition at line 112 of file Tuple4.hpp. |
|
Definition at line 127 of file Quat4.cpp. References se_core::Euler3::pitch_, quat_t, se_core::Euler3::roll_, and se_core::Euler3::yaw_. |
|
Sets the value of this quaternion to the equivalent rotation of teh AxisAngle argument.
Definition at line 101 of file Quat4.cpp. References se_core::AxisAngle4::angle_, coor_t, se_core::AxisAngle4::x_, se_core::AxisAngle4::y_, and se_core::AxisAngle4::z_. |
|
Sets the value of this tuple to the specified xyzw coordinates. note: other set methods hides this set.
Reimplemented from se_core::Tuple4. |
|
Sets the value of this tuple to the value of tuple t1. note: other set methods hides this set.
Reimplemented from se_core::Tuple4. Definition at line 79 of file Quat4.hpp. Referenced by se_core::ViewPoint::face(). |
|
|
|
Definition at line 84 of file Quat4.hpp. References se_core::Tuple4::set(). |
|
Definition at line 188 of file Quat4.cpp. References Assert. |
|
Definition at line 202 of file Quat4.cpp. References Assert. |
|
Definition at line 176 of file Quat4.cpp. References Assert. Referenced by se_core::ViewPoint::setFaceDirection(). |
|
|
|
Performs a great circle interpolation between quaternion q1 and quaternion q2 and places the result into this quaternion.
|
|
Performs a great circle interpolation between this quaternion and the quaternion parameter and places the result into this quaternion.
Definition at line 213 of file Quat4.cpp. References abs, Assert, coor_t, isNormalized(), LogFatal, scale_t, se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).
Definition at line 193 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. |
|
Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).
Definition at line 182 of file Tuple4.hpp. References se_core::Tuple4::w_, se_core::Tuple4::x_, se_core::Tuple4::y_, and se_core::Tuple4::z_. Referenced by se_core::ViewPoint::sub(). |
|
Definition at line 24 of file Tuple4.cpp. References log_msg(). |
|
Returns a string that contains the values of this Tuple4. The form is (x,y,z,w).
Definition at line 17 of file Tuple4.cpp. |
|
|
|
|
|
|
Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:31 2007 by Doxygen version 1.3.9.1.