GuidanceAgent.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of Micole Architecture
00003  *
00004  * Copyright (C) 2007 Micole partners
00005  *
00006  * Micole Architecture is free software: you can redistribute it 
00007  * and/or modify it under the terms of the GNU Lesser General 
00008  * Public License as published by the Free Software Foundation, 
00009  * either version 3 of the License, or (at your option) any 
00010  * later version.
00011  *
00012  * Micole Architecture is distributed in the hope that it will be 
00013  * useful, * but WITHOUT ANY WARRANTY; without even the implied 
00014  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00015  * PURPOSE.  See the GNU Lesser General Public License for more 
00016  * details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with Micole Architecture.  If not, see
00020  * <http://www.gnu.org/licenses/>.
00021  */
00022 
00023 #ifndef __GUIDANCEAGENT__
00024 #define __GUIDANCEAGENT__
00025 #include "micolelib.h"
00026 
00027 #include "FF3DDeviceInputAgent.h"
00028 #include <LinearAlgebra.h> 
00029 
00030 #include <list>
00031 
00032 enum GuidanceState {PLAYING, PAUSED, STOPPED, RECORDING};
00033 
00038 class MICOLELIB_API GuidanceAgent: public FF3DDeviceInputAgent
00039 {
00040         public:
00044                 GuidanceAgent(const float &replayDistance = 0.02, const float &_recordDistance = 0.001);
00048                 ~GuidanceAgent();
00049                 
00050                 void onInput();
00051                 
00052                 void handleAdd( MicoleBus *app, int argc, const char **argv );
00053                 void handlePlay( MicoleBus *app, int argc, const char **argv );
00054                 void handlePause( MicoleBus *app, int argc, const char **argv );
00055                 void handleStop( MicoleBus *app, int argc, const char **argv );
00056                 void handleRecord( MicoleBus *app, int argc, const char **argv );
00057                 
00058         private:
00059                 GuidanceAgent(const GuidanceAgent &);
00060                 
00061                 list<Vec3f> _pointlist; 
00062                 list<Vec3f>::iterator _pointListIterator; 
00063                 GuidanceState _state;
00064                 float _replayDistance;
00065                 float _recordDistance;
00066 };
00067 
00068 #endif

Generated on Tue Oct 16 17:10:42 2007 for Micole by  doxygen 1.4.7