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

intersection.h

00001 /* ************************************************************************* 00002 intersection.h - description 00003 ------------------- 00004 begin : Wed Oct 16 2002 00005 copyright : (C) 2002 by Micha Riser 00006 email : mriser@gmx.net 00007 00008 $Id: intersection_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 INTERSECTION_H 00022 #define INTERSECTION_H 00023 00024 #include "types.h" 00025 #include "vector.h" 00026 #include "ray.h" 00027 00028 class Texture; 00029 class SurfacePatch3D; 00030 class Ray; 00031 00036 class Intersection { 00037 00038 public: // Constructors and destructor 00039 Intersection(const SurfacePatch3D* o, const Ray& r): hitobject(o), ray(r) {} 00040 00041 virtual ~Intersection() {}; 00042 00043 private: 00044 Intersection(const Intersection&); 00045 Intersection& operator=(const Intersection&); 00046 00047 protected: // Private attributes 00048 const SurfacePatch3D* hitobject; 00049 Ray ray; 00050 00051 public: // Public methods 00052 00056 const SurfacePatch3D* hitObject() const {return hitobject;} 00057 00058 // Virtual methods 00059 00063 virtual Texture* texture(); 00064 00065 // Pure virutal methods 00066 00069 virtual void next() = 0; 00070 00075 virtual DBL currentTime() = 0; 00076 00080 virtual Vector3 normal() = 0; 00081 00082 }; 00083 00084 #endif

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