absence_thelab

annotate src/3deng/motion.h @ 0:1cffe3409164

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 23 Oct 2014 01:46:07 +0300
parents
children
rev   line source
nuclear@0 1 #ifndef _MOTION_H_
nuclear@0 2 #define _MOTION_H_
nuclear@0 3
nuclear@0 4 #include "n3dmath.h"
nuclear@0 5 #include "curves.h"
nuclear@0 6
nuclear@0 7 class MotionController {
nuclear@0 8 private:
nuclear@0 9 Matrix4x4 MotionXForm;
nuclear@0 10 bool FollowPath;
nuclear@0 11 float ScaleInputTrans, ScaleInputRot, ScaleInputScale;
nuclear@0 12
nuclear@0 13 float (*XTranslation)(float);
nuclear@0 14 float (*YTranslation)(float);
nuclear@0 15 float (*ZTranslation)(float);
nuclear@0 16 float (*XRotation)(float);
nuclear@0 17 float (*YRotation)(float);
nuclear@0 18 float (*ZRotation)(float);
nuclear@0 19 float (*XScaling)(float);
nuclear@0 20 float (*YScaling)(float);
nuclear@0 21 float (*ZScaling)(float);
nuclear@0 22
nuclear@0 23 public:
nuclear@0 24
nuclear@0 25 MotionController();
nuclear@0 26
nuclear@0 27 void SetTranslation(float (*xtrans)(float), float (*ytrans)(float), float (*ztrans)(float), float ScaleInput = 1.0f);
nuclear@0 28 void SetRotation(float (*xrot)(float), float (*yrot)(float), float (*zrot)(float), float ScaleInput = 1.0f);
nuclear@0 29 void SetScaling(float (*xscale)(float), float (*yscale)(float), float (*zscale)(float), float ScaleInput = 1.0f);
nuclear@0 30 void SetPath(const Curve &path);
nuclear@0 31
nuclear@0 32 const Matrix4x4 &GetTransformation(float t);
nuclear@0 33 };
nuclear@0 34
nuclear@0 35
nuclear@0 36
nuclear@0 37 #endif // _MOTION_H_