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_PATH_TO_CAMERA_H 00021 #define GEE_PATH_TO_CAMERA_H 00022 00023 #include <gee_param_writer.h> 00024 #include <gee_path_to_x.h> 00025 00026 class GEE_PathToCamera : public GEE_PathToX 00027 { 00028 public: 00029 GEE_PathToCamera(GEE_id_t pathId = -1, 00030 GEE_id_t cameraId = -1); 00031 virtual ~GEE_PathToCamera(); 00032 00033 virtual bool start(GEE_World *, const GEE_TimeStamp &); 00034 00035 virtual bool read(GEE_Io *); 00036 virtual bool write(GEE_Io *); 00037 virtual const char * type(); 00038 static GEE_Operator * create(); 00039 00040 void setFov(float fov) { m_fov = fov; } 00041 00042 protected: 00043 00044 virtual bool handleNewVertex(GEE_Path3D::iterator &); 00045 00046 GEE_ParamWriter m_writer; 00047 00048 GEE_id_t m_cameraId; 00049 VEE_Matrix3 m_cameraRot; 00050 VEE_Matrix3 m_foo; 00051 00053 float m_fov; 00054 00055 GEE_World *m_world; 00056 }; 00057 00058 #endif