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_ |