Plane.h

Go to the documentation of this file.
00001 
00005 #ifndef Plane_h
00006 #define Plane_h
00007 
00008 #include "Vector.h"
00009 #include "Primitive.h"
00010 class HitRecord;
00011 class Point;
00012 class RenderContext;
00013 
00018 class Plane : public Primitive {
00019  public:
00020   Plane(Material* material, const Vector& n, const Point& point);
00021   virtual ~Plane();
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   void normal(Vector &normal);
00029  private:
00030   Plane(const Plane&);
00031   Plane& operator=(const Plane&);
00032 
00033   Vector n;
00034   double d;
00035 };
00036 
00037 #endif
00038 

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