00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef GEE_TURN_AROUND_PATH_H 00021 #define GEE_TURN_AROUND_PATH_H 00022 00023 #include <gee_path_to_x.h> 00024 00025 #include <vector> 00026 00027 00028 class GEE_TurnAroundPath : public GEE_PathToX 00029 { 00030 public: 00031 GEE_TurnAroundPath(GEE_id_t pathId = -1, 00032 GEE_id_t geoId = -1, 00033 float speed = 0.01); 00034 virtual ~GEE_TurnAroundPath(); 00035 00036 virtual bool start(GEE_World *, const GEE_TimeStamp &); 00037 virtual bool act(GEE_World *, const GEE_TimeStamp &); 00038 00039 virtual bool read(GEE_Io *); 00040 virtual bool write(GEE_Io *); 00041 virtual const char * type(); 00042 static GEE_Operator * create(); 00043 00044 protected: 00045 00046 virtual bool handleNewVertex(GEE_Path3D::iterator &); 00047 00048 virtual void doTurn(GEE_World *); 00049 00050 GEE_id_t m_geoId; 00051 00052 uint m_steps; 00053 float m_speed; 00054 }; 00055 00056 #endif