Main Page | Class Hierarchy | Class List | File List | Class Members

cameraperspective.h

00001 /* ************************************************************************* 00002 cameraperspective.h - description 00003 ------------------- 00004 begin : Wed Oct 16 2002 00005 copyright : (C) 2002 by Micha Riser 00006 email : mriser@gmx.net 00007 00008 $Id: cameraperspective_8h-source.html,v 1.1 2005/02/04 21:02:27 micha Exp $ 00009 00010 ************************************************************************* */ 00011 00012 /* ************************************************************************* 00013 * * 00014 * This program is free software; you can redistribute it and/or modify * 00015 * it under the terms of the GNU General Public License as published by * 00016 * the Free Software Foundation; either version 2 of the License, or * 00017 * (at your option) any later version. * 00018 * * 00019 ************************************************************************* */ 00020 00021 #ifndef CAMERAPERSPECTIVE_H 00022 #define CAMERAPERSPECTIVE_H 00023 00024 #include "pigment3d.h" 00025 #include "vector.h" 00026 #include "colour.h" 00027 #include "insidelist.h" 00028 00029 class Scene; 00030 00034 class CameraPerspective : public Pigment3D { 00035 00036 public: // Constructors and destructor 00037 00040 CameraPerspective(Scene* s); 00041 00044 CameraPerspective(Scene* s, const Vector3& loc, const Vector3& dir, 00045 const Vector3& r, const Vector3& u); 00046 00047 ~CameraPerspective(); 00048 00049 private: 00050 CameraPerspective& operator=(const CameraPerspective&); 00051 00052 public: // Public methods 00053 00054 // Inherited from Pigment3D 00055 ColourA evaluateAt(const Vector3& p) const; 00056 Pigment3D* copy() const {return new CameraPerspective(*this);} 00057 00058 private: // Private attributes 00059 Vector3 location; 00060 Vector3 direction; 00061 Vector3 right; 00062 Vector3 up; 00063 00066 Scene* scene; 00067 00070 mutable InsideList* insides; 00071 00072 private: 00073 // Copy constructor 00074 CameraPerspective(const CameraPerspective& c); 00075 00076 }; 00077 00078 #endif

Generated on Thu Jan 27 12:16:05 2005 for raytracer.kdevelop by doxygen 1.3.8