00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "Teddy/SpaceGame/SimulatedInstance.h"
00026
00027
00028 namespace Teddy {
00029 namespace SpaceGame {
00030
00031
00033 SimulatedInstance::SimulatedInstance( const char *name, Mesh *mesh )
00034 :
00035 ModelInstance (name,mesh),
00036 tick_translation (0,0,0),
00037 tick_translation_delta (0,0,0),
00038 tick_rotation (0,0,0,1),
00039 tick_rotation_delta (0,0,0,1),
00040 tick_local_rotation (0,0,0),
00041 tick_local_rotation_delta(0,0,0)
00042 {
00043 }
00044
00045
00047 SimulatedInstance::~SimulatedInstance(){
00048 }
00049
00051 void SimulatedInstance::tick(){
00052 lock();
00053 translate( tick_translation );
00054 rotate ( tick_rotation );
00055 heading ( tick_local_rotation.v[0] );
00056 pitch ( tick_local_rotation.v[1] );
00057 roll ( tick_local_rotation.v[2] );
00058 tick_rotation.rotate( tick_rotation_delta );
00059 tick_translation += tick_translation_delta;
00060 tick_local_rotation += tick_local_rotation_delta;
00061 unlock();
00062 }
00063
00064
00065 };
00066 };
00067