All Classes

Class Description
AmbientLight
This light models the small amounts of light which reflected so many times that their source is indeterminable.
Camera
The camera represents the point of view of the rendered image.
CameraIterator
An iterator to iterate over the rays shot by the camera.
CameraSettings
A settings class to simplify the construction of Camera objects.
Colour
This class represents a digital colour, with the added functionality of adding and scaling colours.
CompleteWeightedGraph<V,​W extends java.lang.Comparable<W>>
This class represents a complete weighted graph and provides an interface to add vertices and extract the edge with minimal weight.
Cylinder
This class represents a cylinder, which is a three-dimensional tube with a height, and closed disks on either end.
DirectionalLight
Abstract base class for all lights which have a source.
DoubleCompare
Class for comparing doubles with tolerance.
DoubleTriFunction<R>
A functional interface for a function that takes three doubles and returns an object of type R.
EfficientIterator<T>
Provides a framework to implement iterators without having to worry about executing hasNext() twice per iteration.
Factors
This class represents attenuation factors for the red, green, and blue channels.
FastMatrixMult
Fast matrix multiplication between a 3x1 matrix and a 1x3 matrix.
FastMatrixMultSelf
Fast matrix multiplication between a vector (as a 3x1 matrix) and itsef (as a 1x3 matrix).
Geometry
Represents a three dimensional shape
GeometryList
A collection of Intersectibles which aggregates the intersections between rays and all its elements.
ImageWriter
This class is responsible for writing pixels to an image file.
Intersectible
This interface applies to objects which can be intersected with a ray to obtain the points of intersection.
Intersection
This class represents an intersection between a ray and a geometry.
Light
An abstract base class for all kinds of light.
LightSource
Abstract base class for all lights which have a source.
Linear
Represents a linear polynomial and provides a way to solve it.
LineSegment
A straight line segment between two points.
Main
A command line interface for the ray tracer.
Material
This class contains all the configurations which affect how light interacts with some surface.
Matrix  
NarrowSpotlight
This class is represents an directional light source that attenuates with respect to distance.
NonZeroVector
The NonZeroVector class represents a NonZeroVector with it's base at the origin and it's head at the Point 'head'.
NormalizedVector
This class represents a special kind of NonZeroVector whose length is one.
PhongRayTracer
This RayTracer implements the Phong model.
Pixel<T>
This class represents a pixel in a PixelGrid.
Plane
A Plane is a flat two dimensional surface in three dimensional space which goes off to infinity in all directions.
Point
The Point class represents a Point in three dimensional space.
PointLight
This class is represents an omni-directional light source that attenuates with respect to distance, similar to a light bulb.
Polygon
This class represents a polygon in three dimensional space.
Polynomial
Abstract class for different types of polynomials to extend.
ProgressBar
This class prints the progress of a task to standard output.
Quadratic
This class represents a quadratic equation and provides functions to help solve them.
Ray
The Ray class represents a ray with it's base at the Point 'source' and shoots off in direction pointed at by NonZeroVector 'direction'.
RayTracer
Classes which extend RayTracer are responsible for calculating the Colour at the intersections of a Ray in the Scene.
Renderer
This class is responsible for communicating between a RayTracer and an ImageWriter.
Resolution
Represents the resolution of an image.
RotationMatrix
Represents a rotation matrix.
Scene
This class groups together the elements of a scene.
Sphere
This represents a sphere.
Spotlight
This class is represents an directional light source that attenuates with respect to distance.
Task
Classes which inherit this interface provide a way for registered TaskTrackers to track the progress of a large task this object is doing which consists of many small jobs.
TaskTracker
Classes which implement this interface are able to track the progress and process progress updates of Task objects.
Triangle
This class represents a triangle in three dimensional space.
Triple
A class that has three values, (x, y, z)
Tube
A Tube is a 3D tube object that goes on to infinity.
Util
A collection of functions to help parse the XML document.
Vector
The Vector class represents a NonZeroVector with the single difference that the VectorBase can be the zero vector.
XmlAmbientLightFactory
Constructs an AmbientLight from an XML Element.
XmlCameraFactory
Creates a Camera from the given XML Element.
XmlColourFactory
Constructs Colours from XML attributes.
XmlCylinderFactory
Constructs a Cylinder from an XML Element.
XmlDirectionalLightFactory
This class can create a DirectionalLight from an XML Element.
XmlDoubleFactory
Constructs doubles from XML attributes.
XmlFactorsFactory
Constructs Factorss from XML attributes.
XmlFactoryFromAttribute<T>
This interface represents a class which constructs an object of type T from an XML attribute string.
XmlFactoryFromElement<T>
This interface represents a class which is able to create instances of type T from an XML Element.
XmlGeometriesFactory
Constructs a GeometryList object from an XML Element.
XmlGeometryFactory
This interface represents a class which is able to create Geometry instances from XML Elements.
XmlIntegerFactory
Constructs doubles from XML attributes.
XmlLightFactory
This abstract class represents a class which is able to create LightSource instances from XML Elements.
XmlLightSourcesFactory
This class is able to create a list of LightSource instances from an XML Element.
XmlMaterialFactory
Constructs a new Material from an XML Element.
XmlNarrowSpotlightFactory
Constructs a new NarrowSpotlight from an XML Element.
XmlParserException
This exception is thrown when something goes wrong during the parsing of the XML file.
XmlPlaneFactory
Constructs a Plane from an XML Element.
XmlPointLightFactory
Constructs a new PointLight from an XML Element.
XmlPolygonFactory
Constructs a Polygon from an XML Element.
XmlResolutionFactory
Constructs a new Resolution from an XML attribute string in a form similar to "1920x1080".
XmlSceneFactory
Constructs a Scene from XML Elements.
XmlSceneParser
A class which parses an XML file and constructs the Scene.
XmlSphereFactory
Constructs a Sphere from an XML Element.
XmlSpotlightFactory
Constructs a new Spotlight from an XML Element.
XmlTriangleFactory
Constructs a Triangle from an XML Element.
XmlTripleFactory<T extends Triple>
Constructs Triples from XML attributes, according to the given DoubleTriFunction.
XmlTubeFactory
Constructs a Tube from an XML Element.
ZeroVectorException
This exception is thrown when an attempt is made to create a zero vector.