#include <motionsystem.h>
Public Member Functions | |
MotionSystem () | |
MotionSystem (float st, float et, const Transform &s, const Transform &e) | |
~MotionSystem () | |
Transform | Sample (float time) const |
BBox | Bound (BBox ibox) |
Public Attributes | |
bool | isActive |
Protected Member Functions | |
bool | DecomposeMatrix (const boost::shared_ptr< Matrix4x4 > m, Transforms &trans) const |
Protected Attributes | |
float | startTime |
float | endTime |
Transform | start |
Transform | end |
Transforms | startT |
Transforms | endT |
boost::shared_ptr< Matrix4x4 > | startMat |
boost::shared_ptr< Matrix4x4 > | endMat |
Quaternion | startQ |
Quaternion | endQ |
bool | hasRotation |
bool | hasTranslation |
bool | hasScale |
bool | hasTranslationX |
bool | hasTranslationY |
bool | hasTranslationZ |
bool | hasScaleX |
bool | hasScaleY |
bool | hasScaleZ |
Definition at line 58 of file motionsystem.h.
lux::MotionSystem::MotionSystem | ( | ) | [inline] |
Definition at line 29 of file motionsystem.cpp.
References DecomposeMatrix(), lux::Dot(), end, endMat, endQ, endT, endTime, lux::Transform::GetMatrix(), hasRotation, hasScale, hasScaleX, hasScaleY, hasScaleZ, hasTranslation, hasTranslationX, hasTranslationY, hasTranslationZ, isActive, LUX_MATH, LUX_WARNING, luxError, lux::Quaternion::Normalize(), lux::Transforms::R, start, startMat, startQ, startT, startTime, lux::Transforms::Sx, lux::Transforms::Sy, lux::Transforms::Sz, lux::Transforms::Tx, lux::Transforms::Ty, and lux::Transforms::Tz.
lux::MotionSystem::~MotionSystem | ( | ) | [inline] |
Definition at line 65 of file motionsystem.h.
Definition at line 69 of file motionsystem.h.
References Sample(), and lux::Union().
Referenced by lux::MotionPrimitive::WorldBound().
bool MotionSystem::DecomposeMatrix | ( | const boost::shared_ptr< Matrix4x4 > | m, | |
Transforms & | trans | |||
) | const [protected] |
Definition at line 172 of file motionsystem.cpp.
References lux::Cross(), lux::Dot(), if(), lux::Transforms::Pw, lux::Transforms::Px, lux::Transforms::Py, lux::Transforms::Pz, lux::Transforms::R, lux::Transforms::Sx, lux::Transforms::Sxy, lux::Transforms::Sxz, lux::Transforms::Sy, lux::Transforms::Syz, lux::Transforms::Sz, lux::Transforms::Tx, lux::Transforms::Ty, lux::Transforms::Tz, and V4MulByMatrix().
Referenced by MotionSystem().
Transform MotionSystem::Sample | ( | float | time | ) | const |
Definition at line 75 of file motionsystem.cpp.
References end, endQ, endT, endTime, hasRotation, hasScale, hasTranslation, hasTranslationX, hasTranslationY, hasTranslationZ, isActive, Lerp(), memcpy(), lux::Transforms::R, lux::Quaternion::Slerp(), start, startMat, startQ, startT, startTime, lux::Transforms::Sx, lux::Transforms::Sy, lux::Transforms::Sz, lux::Quaternion::ToMatrix(), lux::Transforms::Tx, lux::Transforms::Ty, and lux::Transforms::Tz.
Referenced by Bound(), lux::MotionPrimitive::GetShadingGeometry(), lux::MotionPrimitive::Intersect(), lux::MotionPrimitive::IntersectP(), lux::MotionPrimitive::Sample(), and lux::Camera::SampleMotion().
Transform lux::MotionSystem::end [protected] |
Definition at line 94 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
boost::shared_ptr<Matrix4x4> lux::MotionSystem::endMat [protected] |
Definition at line 96 of file motionsystem.h.
Referenced by MotionSystem().
Quaternion lux::MotionSystem::endQ [protected] |
Definition at line 97 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
Transforms lux::MotionSystem::endT [protected] |
Definition at line 95 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
float lux::MotionSystem::endTime [protected] |
Definition at line 93 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasRotation [protected] |
Definition at line 98 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasScale [protected] |
Definition at line 98 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasScaleX [protected] |
Definition at line 100 of file motionsystem.h.
Referenced by MotionSystem().
bool lux::MotionSystem::hasScaleY [protected] |
Definition at line 100 of file motionsystem.h.
Referenced by MotionSystem().
bool lux::MotionSystem::hasScaleZ [protected] |
Definition at line 100 of file motionsystem.h.
Referenced by MotionSystem().
bool lux::MotionSystem::hasTranslation [protected] |
Definition at line 98 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasTranslationX [protected] |
Definition at line 99 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasTranslationY [protected] |
Definition at line 99 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
bool lux::MotionSystem::hasTranslationZ [protected] |
Definition at line 99 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
Definition at line 82 of file motionsystem.h.
Referenced by MotionSystem(), Sample(), lux::ProjectiveCamera::SampleMotion(), and lux::Camera::SampleMotion().
Transform lux::MotionSystem::start [protected] |
Definition at line 94 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
boost::shared_ptr<Matrix4x4> lux::MotionSystem::startMat [protected] |
Definition at line 96 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
Quaternion lux::MotionSystem::startQ [protected] |
Definition at line 97 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
Transforms lux::MotionSystem::startT [protected] |
Definition at line 95 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().
float lux::MotionSystem::startTime [protected] |
Definition at line 93 of file motionsystem.h.
Referenced by MotionSystem(), and Sample().