AbstractSurface is an abstract implementation of Surface that takes care of all of the standard methods of Surface
that are shared by all Surface implementations in the same way.
AbstractSurfaceUI is an abstract implementation of the SurfaceUI interface
that takes care of all of the standard methods of SurfaceUI that all SurfaceUI implementations
use in the same way.
Sets the underlying AbstractSurface object of this AbstractSurfaceUI to the specified AbstractSurface object and
sets the name to the specified String object.
Constructs a new Editable object of the type specified by the current selection in the combo box
on this dialog, adds it to the Set object stored by this AddDialog object, and updates the
DynamicDisplay object stored by this AddDialog.
Adds the specified Surface object to this SurfaceGroup object and sets its parent
to this SurfaceGroup object (if it is an instance of AbstractSurface).
Performs the lighting calculations for the specified surface at the specified point of interesection on that surface using the
lighting data from the specified AmbientLight object and returns an RGB object that represents the color of the point.
Applies the changes made in this dialog to the Camera object being edited and fires the necessary events
if the current EventHandler is not set to null.
Applies the changes made in this dialog to the Light object being edited and fires the necessary events
if the current EventHandler is not set to null.
Applies the changes made in the dialog to the PlaneUI object being edited and fires the necessary events
if the current EventHandler is not set to null.
Applies the changes made in this dialog to the TriangleUI object being edited and fires the necessary events
if the current EventHandler is not set to null.
Applies the changes made in this panel to the AbstractSurface object being edited and fires the necessary events
if the current EventHandler is not set to null.
Applies the changes made in this panel to the AbstractSurfaceUI object being edited
and fires the necessary events if the current EventHandler is not set to null.
Calculates the terms of the partial derivative of the polynomial function represented by this Polynomial object
with respect to X and stores the terms for later evaluatation.
Calculates the terms of the partial derivative of the polynomial function represented by this Polynomial object
with respect to Y and stores the terms for later evaluatation.
Calculates the terms of the partial derivative of the polynomial function represented by this Polynomial object
with respect to Z and stores the terms for later evaluatation.
Calculates an estimate for an X value that allows the polynomial function represented by this Polynomial object
to equal zero when the specified Y and Z values are held constant.
Calculates a series of zeros found by the calculateZero method in the interval from the double value start to the double value end
choosing guesses at every interval of the length specified by the double value increment.
Returns an Intersection object that represents the closest intersection (>= RayTracingEngine.e) between a surface in the specified array of Surface objects and
the ray represented by the specified Ray object.
Returns the value (>= RayTracingEngine.e) of the closest intersection point of the specified Intersection object
If there are no positive intersections, -1.0 is returned.
Decodes the scene data read from the specified InputStream object using the encoding specified by
the integer encoding code and returnes the new Scene object.
Decodes the scene data stored in the file represented by the specified File object
using the encoding specified by the integer encoding code and returns the new Scene object.
Decodes the surface data stored in the file represented by the specified File object
using the encoding specified by the integer encoding code and returns the new Surface object.
Performs the lighting calculations for the specified surface at the specified point of interesection on that surface using the
lighting data from the specified DirectionalAmbientLight object and returns an RGB object that represents the color of the point.
Draws a simple representation of the Surface represented by this SurfaceUI object on the specified Graphics object
using the viewing settings of the specified Camera object.
An EditDefaultSurfaceTransformPanel can be used to gather input from the user
to specifiy scaling and rotation properties of an AbstractSurface object.
Constructs a new EditPolynomialTermDialog object that can be used to edit the PolynomialTerm object
at the specified index of the specified Polynomial object.
An EditSurfacePanel object can be used to gather input from a user
to specify the settings for an AbstractSurfaceUI object and the
underlying AbstractSurface object.
Constructs a new EditTransformDialog object that can be used to edit the transformation of the specified
AbstractSurface object at the specified index.
Encodes the image represented by the specified RGB array using the encoding specified by the integer encoding code
and saves the encoded data in the file represented by the specified File object.
Encodes the specified Scene object using the encoding specified by the integer encoding code
and saves the encoded data in the file represented by the specified File object.
Encodes the specified Surface object using the encoding specified by the integer encoding code
and saves the encoded data in the file represented by the specified File object.
equals(RGB) -
Method in class threeD.raytracer.graphics.RGB
Returns true if the color represented by this RGB object is the same as the color represented by the specified RGB object,
false otherwise.
The GraphicsConverter class provides static methods that allow conversion between colors and images stored
as RGB objects and those stored as AWT colors.
Returns the coefficients a, b, and c for the quadratic function used for distance attenuation
of the light represented by this PointLight object as an array of double values.
Returns the color of the texture represented by this Texture object at the specified point as an RGB object
using the arguments stored by this Texture object.
Returns a String representation of the transformation applied to the AbstractSurface object
stored by this TransformationsListModel object at the specified index.
Returns a String representation of the transformation applied to the AbstractSurface object
stored by this TransformationsListModel object at the specified index.
Returns an array of double values containing the angle measurements (in radians) used to rotate
this AbstractSurface about the x, y, and z axes when it is rendered as an array of double values.
Constructs a new Intersection object that represents an intersection between the specified Ray and Surface objects
at the specified points along the ray represented by the Ray object.
Returns an Intersection object that represents the values for t that solve the vector equation p = o + t * d
where p is a point of intersection of the specified ray and the surface.
Returns an Intersection object that represents the ray-surface intersections
for the AbstractSurface object which is intersected closest to the origin of
the ray (>= 0).
Returns an Intersection object representing the points along the ray represented by the specified Ray object that intersection
between the ray and the cone represented by this Cone object occurs.
Returns an Intersection object representing the points along the ray represented by the specified Ray object that intersection
between the ray and the cylinder represented by this Cylinder object occurs.
Returns an Intersection object representing the points along the ray represented by the specified Ray object that intersection
between the ray and the plane represented by this Plane object occurs.
Returns an array of double values representing the distance along the ray represented by the specified Ray object that intersection
between the ray and the polynomial surface represented by this Polynomial object occurs.
Returns an Intersection object representing the points along the ray represented
by the specified Ray object that intersection between the ray and the sphere
represented by this Sphere object occurs.
Returns an Intersection object representing the points along the ray represented by the specified Ray object that intersection
between the ray and the triangle represented by this Triangle object occurs.
Returns an Intersection object representing the point along the ray represented by the specified Ray object
that intersection between the ray and the surface represented by this AbstractSurfaceUI occurs.
Performs the lighting calculations for the specified surface at the specified point of intersection on that surface using the
lighting data from the specified Light objects and returns an RGB object that represents the color of the point.
Performs the lighting calculations for the specified surface at the specified point of interesection on that surface using the
lighting data from the specified Light object and returns an RGB object that represents the color of the point.
Calculates the product of the polynomial function represented by this Polynomial object
and that of the specified Polynomial object and returns the result as a Polynomial object.
Calculates the product of the polynomial function represented by this Polynomial object
and that of the specified PolynomialTerm object and returns the result as a Polynomial object.
Multiplys the matrix represented by this TransformMatrix object with the matrix represented by the specified TransformMatrix object
and returns the result as a TransformMatrix object.
Constructs an OrthographicCamera object with the specified location, viewing direction,
and up direction, but with default projection dimensions as specified above.
Constructs a PinholeCamera object with the specified location, viewing direction, and up direction,
but with default focal length and projection dimensions as specified above.
Constructs a new PointLightGrid object with the specified width, height,
and x and y spacing between lights and uses a default PointLight object
for each light in the grid.
Constructs a new PointLightGrid object with the specified width, height,
and x and y spacing between lights using the data from the specified
PointLight object for each light in the grid.
Performs the lighting calculations for the specified surface at the specified point of interesection on that surface using the
lighting data from the specified PointLight object and returns an RGB object that represents the color of the point.
The RayTracingServer class provides a main method that starts a DB Server
and a Network Client using a properties file specified by the command line
argument.
Removes the Surface object stored at the specified index from this SurfaceGroup object
and sets the parent of the removed Surface object to null (if it is an instance of AbstractSurface).
Computes all intersection and lighting calculations required to produce an image of the specified width and height
that is a rendering of the specified Scene object and returns the image as an array of RGB objects.
Computes all intersection and lighting calculations required to produce an image of the specified width and height
that is a rendering of the specified set of Surface objects using the data from the specified Camera and Light object.
A ShaderEditPanel object can be used to allow a user to set the editable properties
of members of a shader tree (assuming that they implement the Editable interface).
Sets the coefficients a, b, and c for the quadratic function used for distance attenuation
of the light represented by this PointLight object to the specified double values.
Sets the Editable object used by this EditablePropertiesTableModel object to the specified
Editable object and notifies listeners that all table data may have changed.
Sets the set of Editable objects that this panel object modifies to those stored by the specified Set object
and updates the panel to reflect the change.
Sets the set of Editable objects that this panel object modifies to those stored by the specified Set
object and updates the panel to reflect the change.
Sets the angle measurements (in radians) used to rotate this AbstractSurface about the x, y, and z axes when it is rendered
to the specified double values.
Sets the TransformMatrix object at the specified index used to transform this Surface object when it is rendered
to the TransformMatrix object specified.
Sets the TransformMatrix objects used to transform this AbstractSurface when it is rendered
to those stored in the specified TransformMatrix object array.
Sets the value of the Editable object property that is represented in the cell
at the specified row and column index to the specified value and notifies listeners
that the cell value may have changed.
Calculates a color value for this AbstractSurface using the sum of the values
calculated by the Shader objects stored by this AbstractSurface and the parent
of this AbstractSurface and returns this value as an RGB object.
The TransformationsListModel class extends AbstractListModel and provides a list model that dynamically displays
the transformations applied to an AbstractSurface object.
The TransformationsListModel class extends AbstractListModel and provides a list model that dynamically displays
the transformations applied to an AbstractSurface object.
Computes and returns the result of the vector multiplication of the matrix represented by this TransformMatrix object
and the vector represented by the specified Vector object assuming that the specified vector describes a location on 3d space.
Computes and returns the result of the vector multiplication of the matrix represented by this TransformMatrix object
and the vector represented by the specified Vector object assuming that the specified vector describes a surface normal in 3d space.
Computes and returns the result of the vector multiplication of the matrix represented by this TransformMatrix object
and the vector represented by the specified Vector object assuming that the specified vector describes an offset in 3d space.
Updates the light grid stored by this PointLightGrid object to have the specified width, height,
and x and y spaceing between lights using the data from the specified Point Light object for
each light in the grid.
Updates the lens fields of this dialog so that they match the lens info of the Camera
object being edited if the Camera is an instance of ThinLensCamera.