00001 /////////////////////////////////////////////////////////////////////////// 00002 // _____________ ______________________ __ __ _____ 00003 // / ________ | | ___ ________ / | \ / \ | 00004 // | | | |_ | |_ | | / / \__ | | 00005 // | | ___ | || | || | | / / | | | 00006 // | | | \ | || | || | | / / \__/ \__/ __|__ 00007 // | | |_@ || || | || | | / / Institute 00008 // | |___/ || ||_| || | | / /_____________________ 00009 // \_______/ \______/ | |__| /___________________________ 00010 // | |__| | 00011 // \______/ 00012 // University of Utah 00013 // 2002 00014 /////////////////////////////////////////////////////////////////////////// 00015 //------------------------------------------------------------------------ 00016 //C++ 00017 // 00018 // ________ ____ ___ 00019 // | \ / | / / 00020 // +---+ \/ |/ / 00021 // +--+| |\ /| < 00022 // | || | \ / | |\ \ 00023 // | | \/ | | \ \ 00024 // \_____| |__| \__\ 00025 // Copyright 2002 00026 // Joe Michael Kniss 00027 // "All Your Base are Belong to Us" 00028 //------------------------------------------------------------------------- 00029 00030 //Light.h 00031 00032 #ifndef __LIGHT_DOT_H 00033 #define __LIGHT_DOT_H 00034 00035 #include <../graphicsGutz/Camera.h> 00036 00037 namespace gutz { 00038 00039 //////////////////////////////////////////////////////////////////////////// 00040 /// A Light interaction class. 00041 /// 00042 /// A Light interaction class. Handles basic operations relating to 00043 /// light placement. Be sure to keep the clipping planes and screen 00044 /// size current. This class is a child of Camera, so interaction 00045 /// is identical to the cameras 00046 //////////////////////////////////////////////////////////////////////////// 00047 00048 class Light : public Camera { 00049 public: 00050 Light(); 00051 00052 virtual ~Light(); 00053 00054 //////////////////////////////////////////////////////////// 00055 /// Serialization. 00056 /// write. 00057 virtual bool serialize(std::ostream &os, const std::string indent = std::string("")) { return false;} 00058 /// read. 00059 virtual bool unserialize(std::istream &is) { return false;} 00060 }; 00061 00062 //////////////////////////////////////////////////////////////////////////// 00063 /// List of Lights, typedefined for convenience 00064 //////////////////////////////////////////////////////////////////////////// 00065 00066 typedef std::list<Light *> LightList; 00067 typedef std::list<Light *>::iterator LightListIter; 00068 00069 typedef std::vector<Light *> LightVec; 00070 typedef std::vector<Light *>::iterator LightVecIter; 00071 00072 } //end namespace gutz 00073 00074 #endif 00075