Box.h

Go to the documentation of this file.
00001 
00004 #ifndef Box_h
00005 #define Box_h
00006 
00007 #include "Vector.h"
00008 #include "Primitive.h"
00009 class HitRecord;
00010 class Point;
00011 class RenderContext;
00012 
00018 class Box : public Primitive {
00019  public:
00020     Box(Material* material, const Point& lo, const Point& hi);
00021     virtual ~Box();
00022 
00023     virtual void getBounds(BoundingBox& bbox) const;
00024     virtual void intersect(HitRecord& hit, const RenderContext& context, const Ray& ray) const;
00025     virtual void normal(Vector& normal, const RenderContext& context,
00026                         const Point & hitpos, const Ray& ray, const HitRecord& hit) const;
00027 
00028  private:
00029     Box(const Box&);
00030     Box& operator=(const Box&);
00031 
00032     Point bounds[2];
00033 };
00034 
00035 #endif
00036 

Generated on Tue Jan 29 21:34:53 2008 for specter by  doxygen 1.4.6