Ray Tracer  2020
Camera.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef CAMERA_H_INCLUDED
4 #define CAMERA_H_INCLUDED
5 
6 #include "Ray.h"
7 #include "Transform.h"
8 
24 class Camera {
25 
26 public:
27 
48  virtual Ray castRay(double x, double y) const = 0;
49 
51 
52 protected:
53 
55  Camera();
56 
61  Camera(const Camera& camera);
62 
64  virtual ~Camera();
65 
71  Camera& operator=(const Camera& camera);
72 
73 };
74 
75 #endif
Ray class header file.
Transform class header file.
Abstract base class for Cameras.
Definition: Camera.h:24
Camera()
Camera default constructor.
Definition: Camera.cpp:3
virtual Ray castRay(double x, double y) const =0
Generate a ray for a given image plane co-ordinate.
Camera & operator=(const Camera &camera)
Camera assignment operator.
Definition: Camera.cpp:15
virtual ~Camera()
Camera destructor.
Definition: Camera.cpp:11
Transform transform
Transformation to apply to the Camera.
Definition: Camera.h:50
Rays as a starting Point and Direction.
Definition: Ray.h:20
Class for Transform objects.
Definition: Transform.h:29