com.monkeycoder.monkeyfractal.plugin
Class MandelbrotMtWorker

java.lang.Object
  extended by java.util.Observable
      extended by com.monkeycoder.monkeyfractal.base.FractalMtWorker
          extended by com.monkeycoder.monkeyfractal.plugin.MandelbrotMtWorker
All Implemented Interfaces:
java.lang.Runnable

public class MandelbrotMtWorker
extends FractalMtWorker

This is a Multi-Threaded Mandelbrot worker. It supplies the basic constructs for managing divided work.

Originally part of the MonkeyFractal project.

Author:
David Stephens

Field Summary
 
Fields inherited from class com.monkeycoder.monkeyfractal.base.FractalMtWorker
params
 
Constructor Summary
MandelbrotMtWorker()
          MandelbrotMtWorker constructor.
MandelbrotMtWorker(int inId)
          This constructor sets the ID of this worker.
 
Method Summary
 FractalBuffer generateFractal()
          This function generates the partial fractal represented by this FractalMtWorker and configured by values passed in through other function calls.
 ComplexRange getComplexRange()
          This function gets the current ComplexRange used internally by the FractalPlugin.
 ComplexRange getComplexRange(java.awt.Rectangle inPixelRect)
          Calculates a new ComplexRange based on a Rectangle of pixels.
 void resetParameterList()
          Creates the default required parameters for the MandelbrotPlugin.
 void setComplexRange(ComplexRange inComplexRange)
          This function sets the ComplexRange used internally by the FractalPlugin.
 void setComplexRange(java.awt.Rectangle inPixelRect)
          This function sets the ComplexRange used internally by the FractalPlugin.
 void setPixelDimensions(java.awt.Dimension inPixelDim)
          This method sets the Dimensions of the FractalBuffer that will be generated by generateFractal().
 
Methods inherited from class com.monkeycoder.monkeyfractal.base.FractalMtWorker
getFractalBuffer, getId, getParameterList, run, sendUpdate, setId, setParameterList
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MandelbrotMtWorker

public MandelbrotMtWorker()
MandelbrotMtWorker constructor.


MandelbrotMtWorker

public MandelbrotMtWorker(int inId)
This constructor sets the ID of this worker.

Parameters:
inId - A value used externally to identify this worker.
Method Detail

resetParameterList

public void resetParameterList()
Creates the default required parameters for the MandelbrotPlugin.

Specified by:
resetParameterList in class FractalMtWorker

generateFractal

public FractalBuffer generateFractal()
This function generates the partial fractal represented by this FractalMtWorker and configured by values passed in through other function calls. This method needs to be implemented by children of this class.

Specified by:
generateFractal in class FractalMtWorker
Returns:
A FractalBuffer containing the results of the calculation.
See Also:
FractalMtWorker.getFractalBuffer(), FractalMtWorker.setComplexRange(ComplexRange), FractalMtWorker.setPixelDimensions(Dimension)

getComplexRange

public ComplexRange getComplexRange()
Description copied from class: FractalMtWorker
This function gets the current ComplexRange used internally by the FractalPlugin.

Specified by:
getComplexRange in class FractalMtWorker
Returns:
A ComplexRange containing the ranges from the internal ParameterList.

getComplexRange

public ComplexRange getComplexRange(java.awt.Rectangle inPixelRect)
Description copied from class: FractalMtWorker
Calculates a new ComplexRange based on a Rectangle of pixels. This method performs its calculation based on the current ParameterList values.

Specified by:
getComplexRange in class FractalMtWorker
Returns:
A ComplexRange containing the ranges from the internal ParameterList based on the supplied Rectangle of pixels.

setComplexRange

public void setComplexRange(ComplexRange inComplexRange)
Description copied from class: FractalMtWorker
This function sets the ComplexRange used internally by the FractalPlugin. The complex range should be loaded into the internal ParameterList for subsequent requests to generateFractal().

Specified by:
setComplexRange in class FractalMtWorker
Parameters:
inComplexRange - The new ComplexRange to be loaded into the internal ParameterList.
See Also:
FractalPlugin.generateFractal()

setComplexRange

public void setComplexRange(java.awt.Rectangle inPixelRect)
Description copied from class: FractalMtWorker
This function sets the ComplexRange used internally by the FractalPlugin. This is a convenience method that processes the Rectangle of pixels through getComplexRange(Rectangle) before passing the result to setComplexRange(ComplexRange).

Specified by:
setComplexRange in class FractalMtWorker
Parameters:
inPixelRect - A Rectangle of pixels to use to create a new ComplexRange to be loaded into the internal ParameterList.
See Also:
FractalPlugin.getComplexRange(Rectangle), FractalPlugin.setComplexRange(ComplexRange)

setPixelDimensions

public void setPixelDimensions(java.awt.Dimension inPixelDim)
Description copied from class: FractalMtWorker
This method sets the Dimensions of the FractalBuffer that will be generated by generateFractal(). The Dimensions passed in should be loaded into the internal ParameterList for subsequent calls to generateFractal().

Specified by:
setPixelDimensions in class FractalMtWorker
Parameters:
inPixelDim - A Dimension of pixels that represents how large a FractalBuffer will be generated.
See Also:
FractalPlugin.generateFractal()