Ray Tracer  2020
AmbientLightSource.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef AMBIENT_LIGHT_SOURCE_H_INCLUDED
4 #define AMBIENT_LIGHT_SOURCE_H_INCLUDED
5 
6 #include "LightSource.h"
7 
21 
22 public:
23 
28  AmbientLightSource(const Colour& colour);
29 
34  AmbientLightSource(const AmbientLightSource& lightSource);
35 
38 
44  AmbientLightSource& operator=(const AmbientLightSource& lightSource);
45 
53  Colour getIlluminationAt(const Point& point) const;
54 
63  double getDistanceToLight(const Point& point) const;
64 
65 
75  Direction getLightDirection(const Point& point) const;
76 
77 };
78 
79 #endif // AMBIENT_LIGHT_SOURCE_H_INCLUDED
LightSource class header file.
Ambient light in a scene.
Definition: AmbientLightSource.h:20
AmbientLightSource(const Colour &colour)
AmbientLightSource constructor.
Definition: AmbientLightSource.cpp:3
Direction getLightDirection(const Point &point) const
Direction from light source to a point.
Definition: AmbientLightSource.cpp:31
double getDistanceToLight(const Point &point) const
Distance factor for shadows from this light source.
Definition: AmbientLightSource.cpp:27
Colour getIlluminationAt(const Point &point) const
Determine how much light reaches a Point from this AmbientLightSource.
Definition: AmbientLightSource.cpp:23
~AmbientLightSource()
AmbientLightSource destructor.
Definition: AmbientLightSource.cpp:12
AmbientLightSource & operator=(const AmbientLightSource &lightSource)
AmbientLightSource assignment operator.
Definition: AmbientLightSource.cpp:16
Class to store colour information.
Definition: Colour.h:25
Class for Direction Vectors.
Definition: Direction.h:22
Abstract base class for LightSources.
Definition: LightSource.h:23
Class for Point Vectors.
Definition: Point.h:22