#include <Quaternion.h>
Public Member Functions | |
Quaternion () | |
コンストラクタ | |
Quaternion (float sourceX, float sourceY, float sourceZ, float sourceW) | |
コンストラクタ | |
Quaternion (const float *const source) | |
コンストラクタ | |
void | set (float sourceX, float sourceY, float sourceZ, float sourceW) |
値の設定 | |
void | set (const float *const source) |
値の設定 | |
void | setZero () |
ゼロ四元数の設定 | |
void | setIdentity () |
恒等四元数の設定 | |
void | setRotationAxis (const Vector3 &axis, float radian) |
軸指定回転の設定 | |
void | addRotationAxis (const Vector3 &axis, float radian) |
軸指定回転の追加 | |
void | getRotationAxis (Vector3 *axis, float *radian) const |
軸指定回転の取得 | |
void | setRotationXYZ (const Vector3 &radian) |
XYZ軸回転の設定. | |
void | addRotationXYZ (const Vector3 &radian) |
XYZ軸回転の追加. | |
bool | getRotationXYZ (Vector3 *radian) const |
XYZ軸回転の取得. | |
void | setRotationZYX (const Vector3 &radian) |
ZYX軸回転の設定. | |
void | addRotationZYX (const Vector3 &radian) |
ZYX軸回転の追加. | |
bool | getRotationZYX (Vector3 *radian) const |
ZYX軸回転の取得. | |
Quaternion | operator+ (const Quaternion &addQuaternion) const |
加算 | |
Quaternion | operator- (const Quaternion &subQuaternion) const |
減算 | |
Quaternion | operator * (const Quaternion &mulQuat) const |
乗算 | |
Quaternion | operator * (float mulValue) const |
乗算 | |
Vector3 | operator * (const Vector3 &mulVector) const |
ベクトル乗算 | |
Quaternion | operator+ () const |
+演算子 | |
Quaternion | operator- () const |
-演算子 | |
Quaternion & | operator+= (const Quaternion &addQuaternion) |
代入加算 | |
Quaternion & | operator-= (const Quaternion &subQuaternion) |
代入減算 | |
Quaternion & | operator *= (const Quaternion &mulQuat) |
代入乗算 | |
Quaternion & | operator *= (float mulValue) |
代入乗算 | |
float | getLength () const |
長さの取得 | |
bool | isZero () const |
ゼロ四元数かどうか | |
bool | isUnit () const |
単位四元数かどうか | |
Quaternion & | normalize () |
正規化 | |
float | getNorm () const |
ノルムの取得 | |
Quaternion & | conjugate () |
共役 | |
float | dotProduct (const Quaternion &dotQuaternion) const |
内積 | |
Quaternion & | invert () |
逆四元数 | |
Quaternion & | unitInvert () |
単位逆四元数 | |
bool | operator== (const Quaternion &target) const |
四元数が同じかどうか | |
bool | epsilonEquals (const Quaternion &target, float epsilon) const |
四元数が同じかどうか | |
bool | operator!= (const Quaternion &target) const |
四元数が同じでないかどうか | |
bool | notEpsilonEquals (const Quaternion &target, float epsilon) const |
四元数が同じでないかどうか | |
bool | rotationEquals (const Quaternion &target) const |
四元数が同じ回転をあらわすかどうか | |
bool | epsilonRotationEquals (const Quaternion &target, float epsilon) const |
四元数が同じ回転をあらわすかどうか | |
String | toString () const |
文字列化 | |
Static Public Member Functions | |
Quaternion | slerp (const Quaternion &source, const Quaternion &target, float alpha) |
球面線形補間 | |
Quaternion | correctSlerp (const Quaternion &source, const Quaternion &target, float alpha) |
補正付球面線形補間 | |
Quaternion | squad (const Quaternion &source, const Quaternion &sourceHandle, const Quaternion &targetHandle, const Quaternion &target, float alpha) |
球面二次補間 | |
Quaternion | correctSquad (const Quaternion &source, const Quaternion &sourceHandle, const Quaternion &targetHandle, const Quaternion &target, float alpha) |
補正付球面二次補間 | |
Static Public Attributes | |
const Quaternion | zero |
ゼロ四元数 | |
const Quaternion | identity |
恒等四元数 | |
Friends | |
Quaternion | operator * (float mulValue, const Quaternion &mulQuaternion) |
乗算 |
このクラスは継承しないで下さい。
Definition at line 38 of file Quaternion.h.
|
コンストラクタ このコンストラクタは初期値の設定を行わないため値は不定です。 Definition at line 78 of file Quaternion.h. Referenced by operator *(), operator+(), and operator-(). |
|
コンストラクタ
Definition at line 87 of file Quaternion.h. |
|
コンストラクタ
Definition at line 96 of file Quaternion.h. |
|
軸指定回転の追加
Definition at line 165 of file Quaternion.h. References setRotationAxis(). |
|
XYZ軸回転の追加.
Definition at line 212 of file Quaternion.h. References setRotationXYZ(). |
|
ZYX軸回転の追加.
Definition at line 286 of file Quaternion.h. References setRotationZYX(). |
|
共役
Definition at line 543 of file Quaternion.h. Referenced by unitInvert(). |
|
補正付球面線形補間
Definition at line 619 of file Quaternion.h. References Assert, dotProduct(), and isUnit(). Referenced by correctSquad(). |
|
補正付球面二次補間
Definition at line 668 of file Quaternion.h. References correctSlerp(). |
|
内積
Definition at line 555 of file Quaternion.h. Referenced by Lamp::RotationInterpolationCompressor::compressConstant(), Lamp::RotationInterpolationCompressor::compressLinear(), correctSlerp(), Lamp::QuaternionArrayInterpolator::correctValue(), Lamp::QuaternionArrayInterpolator::quaternionInterpolate(), Lamp::RotationInterpolationCompressor::recalcLinearError(), and slerp(). |
|
四元数が同じかどうか
Definition at line 698 of file Quaternion.h. References Assert, w, x, y, and z. Referenced by epsilonRotationEquals(). |
|
四元数が同じ回転をあらわすかどうか
Definition at line 750 of file Quaternion.h. References epsilonEquals(). |
|
長さの取得
Definition at line 496 of file Quaternion.h. Referenced by isUnit(), isZero(), and normalize(). |
|
ノルムの取得
Definition at line 535 of file Quaternion.h. Referenced by invert(). |
|
軸指定回転の取得
Definition at line 177 of file Quaternion.h. References array, Assert, isUnit(), Lamp::Vector3::set(), and w. |
|
XYZ軸回転の取得.
Definition at line 223 of file Quaternion.h. References w, Lamp::Vector3::x, x, Lamp::Vector3::y, y, Lamp::Vector3::z, and z. Referenced by Lamp::PS2PadCameraController::control(), Lamp::QuaternionArrayInterpolator::convertEulerArrayInterpolator(), Lamp::QuaternionLinearInterpolator::eulerInterpolate(), Lamp::QuaternionArrayInterpolator::eulerInterpolate(), Lamp::EulerArrayInterpolator::eulerInterpolate(), Lamp::Axis3::getRotationXYZ(), and Lamp::RotationConstantInterpolator::setQuaternion(). |
|
ZYX軸回転の取得.
Definition at line 297 of file Quaternion.h. References w, Lamp::Vector3::x, x, Lamp::Vector3::y, y, Lamp::Vector3::z, and z. |
|
逆四元数
Definition at line 564 of file Quaternion.h. |
|
単位四元数かどうか
Definition at line 512 of file Quaternion.h. References getLength(). Referenced by Lamp::RotationInterpolationCompressor::compressConstant(), correctSlerp(), getRotationAxis(), Lamp::QuaternionArrayInterpolator::quaternionInterpolate(), Lamp::Matrix44::setRotationQuaternion(), Lamp::Matrix34::setRotationQuaternion(), Lamp::Matrix33::setRotationQuaternion(), Lamp::Matrix44::setTransformationQuaternion(), Lamp::Matrix34::setTransformationQuaternion(), slerp(), and unitInvert(). |
|
ゼロ四元数かどうか
Definition at line 504 of file Quaternion.h. References getLength(). Referenced by invert(). |
|
正規化
Definition at line 520 of file Quaternion.h. References Assert, and getLength(). Referenced by Lamp::QuaternionArrayInterpolator::correctValue(), and Lamp::QuaternionArrayInterpolator::setValue(). |
|
四元数が同じでないかどうか
Definition at line 723 of file Quaternion.h. |
|
ベクトル乗算
Definition at line 409 of file Quaternion.h. References Lamp::Vector3::crossProduct(), w, x, y, and z. |
|
乗算
Definition at line 384 of file Quaternion.h. References Quaternion(), w, x, y, and z. |
|
乗算
Definition at line 369 of file Quaternion.h. References Quaternion(), w, x, y, and z. |
|
代入乗算
Definition at line 481 of file Quaternion.h. |
|
代入乗算
Definition at line 466 of file Quaternion.h. |
|
四元数が同じでないかどうか
Definition at line 712 of file Quaternion.h. |
|
+演算子
Definition at line 424 of file Quaternion.h. |
|
加算
Definition at line 343 of file Quaternion.h. References Quaternion(), w, x, y, and z. |
|
代入加算
Definition at line 440 of file Quaternion.h. |
|
-演算子
Definition at line 430 of file Quaternion.h. References Quaternion(), w, x, y, and z. |
|
減算
Definition at line 356 of file Quaternion.h. References Quaternion(), w, x, y, and z. |
|
代入減算
Definition at line 453 of file Quaternion.h. |
|
四元数が同じかどうか
Definition at line 687 of file Quaternion.h. |
|
四元数が同じ回転をあらわすかどうか
Definition at line 738 of file Quaternion.h. |
|
値の設定
Definition at line 121 of file Quaternion.h. |
|
値の設定
Definition at line 110 of file Quaternion.h. Referenced by operator *=(), setIdentity(), and setZero(). |
|
軸指定回転の設定
Definition at line 150 of file Quaternion.h. References Assert, Lamp::Vector3::isUnit(), w, Lamp::Vector3::x, x, Lamp::Vector3::y, y, Lamp::Vector3::z, and z. Referenced by addRotationAxis(), and Lamp::PS2PadCameraController::control(). |
|
XYZ軸回転の設定.
Definition at line 192 of file Quaternion.h. References w, x, Lamp::Vector3::x, y, Lamp::Vector3::y, z, and Lamp::Vector3::z. Referenced by addRotationXYZ(), Lamp::PS2PadCameraController::control(), Lamp::EulerArrayInterpolator::convertQuaternionArrayInterpolator(), Lamp::Axis3::getRotationQuaternion(), Lamp::EulerArrayInterpolator::quaternionInterpolate(), and Lamp::RotationConstantInterpolator::setEuler(). |
|
ZYX軸回転の設定.
Definition at line 266 of file Quaternion.h. References w, x, Lamp::Vector3::x, y, Lamp::Vector3::y, z, and Lamp::Vector3::z. Referenced by addRotationZYX(). |
|
球面線形補間
Definition at line 593 of file Quaternion.h. References Assert, dotProduct(), and isUnit(). Referenced by squad(). |
|
球面二次補間
Definition at line 651 of file Quaternion.h. References slerp(). |
|
文字列化
Definition at line 764 of file Quaternion.h. References Lamp::String::format(), w, x, y, and z. |
|
単位逆四元数
Definition at line 578 of file Quaternion.h. References Assert, conjugate(), and isUnit(). Referenced by Lamp::Camera::setTransformation(). |
|
乗算
Definition at line 395 of file Quaternion.h. |