# Hierarchy For All Packages

Package Hierarchies:

- org.sunflow,
- org.sunflow.core,
- org.sunflow.core.accel,
- org.sunflow.core.bucket,
- org.sunflow.core.camera,
- org.sunflow.core.display,
- org.sunflow.core.filter,
- org.sunflow.core.gi,
- org.sunflow.core.light,
- org.sunflow.core.modifiers,
- org.sunflow.core.parser,
- org.sunflow.core.photonmap,
- org.sunflow.core.primitive,
- org.sunflow.core.renderer,
- org.sunflow.core.shader,
- org.sunflow.core.tesselatable,
- org.sunflow.image,
- org.sunflow.image.formats,
- org.sunflow.image.readers,
- org.sunflow.image.writers,
- org.sunflow.math,
- org.sunflow.system,
- org.sunflow.system.ui,
- org.sunflow.util

## Class Hierarchy

- java.lang.Object
  - org.sunflow.core.gi.AmbientOcclusionGIEngine (implements org.sunflow.core.GIEngine)
  - org.sunflow.core.shader.AmbientOcclusionShader (implements org.sunflow.core.Shader)
    - org.sunflow.core.shader.TexturedAmbientOcclusionShader
  - org.sunflow.core.shader.AnisotropicWardShader (implements org.sunflow.core.Shader)
    - org.sunflow.core.shader.TexturedWardShader
  - org.sunflow.core.primitive.Background (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.primitive.BanchoffSurface (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.Benchmark (implements org.sunflow.system.BenchmarkTest, org.sunflow.core.Display, org.sunflow.system.UserInterface)
  - org.sunflow.system.BenchmarkFramework
  - org.sunflow.core.tesselatable.BezierMesh (implements org.sunflow.core.Tesselatable)
    - org.sunflow.core.tesselatable.Gumbo
    - org.sunflow.core.tesselatable.Teapot
  - org.sunflow.image.Bitmap
    - org.sunflow.image.formats.BitmapBlack
    - org.sunflow.image.formats.BitmapG8
    - org.sunflow.image.formats.BitmapGA8
    - org.sunflow.image.formats.BitmapRGB8
    - org.sunflow.image.formats.BitmapRGBA8
    - org.sunflow.image.formats.BitmapRGBE
    - org.sunflow.image.formats.BitmapXYZ
    - org.sunflow.image.formats.GenericBitmap
  - org.sunflow.core.filter.BlackmanHarrisFilter (implements org.sunflow.core.Filter)
  - org.sunflow.image.readers.BMPBitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.math.BoundingBox
  - org.sunflow.core.accel.BoundingIntervalHierarchy (implements org.sunflow.core.AccelerationStructure)
  - org.sunflow.core.primitive.Box (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.filter.BoxFilter (implements org.sunflow.core.Filter)
  - org.sunflow.core.bucket.BucketOrderFactory
  - org.sunflow.core.renderer.BucketRenderer (implements org.sunflow.core.ImageSampler)
  - org.sunflow.core.modifiers.BumpMappingModifier (implements org.sunflow.core.Modifier)
  - org.sunflow.system.ByteUtil
  - org.sunflow.core.Camera (implements org.sunflow.core.RenderObject)
  - org.sunflow.core.filter.CatmullRomFilter (implements org.sunflow.core.Filter)
  - org.sunflow.core.photonmap.CausticPhotonMap (implements org.sunflow.core.CausticPhotonMapInterface)
  - org.sunflow.image.Color
  - org.sunflow.image.ColorEncoder
  - org.sunflow.image.ColorFactory
  - org.sunflow.core.bucket.ColumnBucketOrder (implements org.sunflow.core.BucketOrder)
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.JPanel (implements javax.accessibility.Accessible)
          - org.sunflow.core.display.FastDisplay (implements org.sunflow.core.Display)
          - org.sunflow.system.ImagePanel (implements org.sunflow.core.Display)
          - org.sunflow.core.display.ImgPipeDisplay (implements org.sunflow.core.Display)
        - javax.swing.JTabbedPane (implements javax.accessibility.Accessible, java.io.Serializable, javax.swing.SwingConstants)
          - org.sunflow.system.RenderGlobalsPanel
  - org.sunflow.system.ui.ConsoleInterface (implements org.sunflow.system.UserInterface)
  - org.sunflow.core.shader.ConstantShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.primitive.CornellBox (implements org.sunflow.core.LightSource, org.sunflow.core.PrimitiveList, org.sunflow.core.Shader)
  - org.sunflow.core.primitive.CubeGrid (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.filter.CubicBSpline (implements org.sunflow.core.Filter)
  - org.sunflow.core.primitive.Cylinder (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.bucket.DiagonalBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.shader.DiffuseShader (implements org.sunflow.core.Shader)
    - org.sunflow.core.shader.TexturedDiffuseShader
  - org.sunflow.core.light.DirectionalSpotlight (implements org.sunflow.core.LightSource)
  - org.sunflow.image.writers.EXRBitmapWriter (implements org.sunflow.image.BitmapWriter)
  - org.sunflow.core.gi.FakeGIEngine (implements org.sunflow.core.GIEngine)
  - org.sunflow.util.FastHashMap<K,V> (implements java.lang.Iterable<T>)
  - org.sunflow.util.FastHashMap.Entry<K,V>
  - org.sunflow.core.display.FileDisplay (implements org.sunflow.core.Display)
  - org.sunflow.core.tesselatable.FileMesh (implements org.sunflow.core.Tesselatable)
  - org.sunflow.system.FileUtils
  - org.sunflow.core.camera.FisheyeLens (implements org.sunflow.core.CameraLens)
  - org.sunflow.util.FloatArray
  - org.sunflow.core.display.FrameDisplay (implements org.sunflow.core.Display)
  - org.sunflow.core.filter.GaussianFilter (implements org.sunflow.core.Filter)
  - org.sunflow.core.Geometry (implements org.sunflow.core.RenderObject)
  - org.sunflow.core.shader.GlassShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.photonmap.GlobalPhotonMap (implements org.sunflow.core.GlobalPhotonMapInterface)
  - org.sunflow.core.photonmap.GridPhotonMap (implements org.sunflow.core.GlobalPhotonMapInterface)
  - org.sunflow.core.primitive.Hair (implements org.sunflow.core.PrimitiveList, org.sunflow.core.Shader)
  - org.sunflow.image.readers.HDRBitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.image.writers.HDRBitmapWriter (implements org.sunflow.image.BitmapWriter)
  - org.sunflow.core.bucket.HilbertBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.shader.IDShader (implements org.sunflow.core.Shader)
  - org.sunflow.image.readers.IGIBitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.image.writers.IGIBitmapWriter (implements org.sunflow.image.BitmapWriter)
  - org.sunflow.core.light.ImageBasedLight (implements org.sunflow.core.LightSource, org.sunflow.core.PrimitiveList, org.sunflow.core.Shader)
  - org.sunflow.core.Instance (implements org.sunflow.core.RenderObject)
  - org.sunflow.core.gi.InstantGI (implements org.sunflow.core.GIEngine)
  - org.sunflow.util.IntArray
  - org.sunflow.core.IntersectionState
  - org.sunflow.core.IntersectionState.StackNode
  - org.sunflow.core.bucket.InvertedBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.gi.IrradianceCacheGIEngine (implements org.sunflow.core.GIEngine)
  - org.sunflow.image.readers.JPGBitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.core.primitive.JuliaFractal (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.accel.KDTree (implements org.sunflow.core.AccelerationStructure)
  - org.sunflow.core.filter.LanczosFilter (implements org.sunflow.core.Filter)
  - org.sunflow.core.LightSample
  - org.sunflow.math.MathUtils
  - org.sunflow.math.Matrix4
  - org.sunflow.system.Memory
  - org.sunflow.core.shader.MirrorShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.filter.MitchellFilter (implements org.sunflow.core.Filter)
  - org.sunflow.math.MovingMatrix4
  - org.sunflow.core.renderer.MultipassRenderer (implements org.sunflow.core.ImageSampler)
  - org.sunflow.core.modifiers.NormalMapModifier (implements org.sunflow.core.Modifier)
  - org.sunflow.core.shader.NormalShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.accel.NullAccelerator (implements org.sunflow.core.AccelerationStructure)
  - org.sunflow.math.OrthoNormalBasis
  - org.sunflow.core.ParameterList
    - org.sunflow.core.Options (implements org.sunflow.core.RenderObject)
  - org.sunflow.core.ParameterList.FloatParameter
  - org.sunflow.core.ParameterList.Parameter
  - org.sunflow.system.Parser
  - org.sunflow.core.primitive.ParticleSurface (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.gi.PathTracingGIEngine (implements org.sunflow.core.GIEngine)
  - org.sunflow.core.modifiers.PerlinModifier (implements org.sunflow.core.Modifier)
  - org.sunflow.math.PerlinScalar
  - org.sunflow.math.PerlinVector
  - org.sunflow.core.shader.PhongShader (implements org.sunflow.core.Shader)
    - org.sunflow.core.shader.TexturedPhongShader
  - org.sunflow.core.camera.PinholeLens (implements org.sunflow.core.CameraLens)
  - org.sunflow.core.primitive.Plane (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.PluginRegistry
  - org.sunflow.system.Plugins<T>
  - org.sunflow.image.readers.PNGBitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.image.writers.PNGBitmapWriter (implements org.sunflow.image.BitmapWriter)
  - org.sunflow.math.Point2
  - org.sunflow.math.Point3
  - org.sunflow.core.light.PointLight (implements org.sunflow.core.LightSource)
  - org.sunflow.core.shader.PrimIDShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.renderer.ProgressiveRenderer (implements org.sunflow.core.ImageSampler)
  - org.sunflow.math.QMC
  - org.sunflow.core.primitive.QuadMesh (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.shader.QuickGrayShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.parser.RA2Parser (implements org.sunflow.core.SceneParser)
  - org.sunflow.core.parser.RA3Parser (implements org.sunflow.core.SceneParser)
  - org.sunflow.core.bucket.RandomBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.Ray
  - org.sunflow.image.RGBSpace
  - org.sunflow.core.bucket.RowBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.parser.SCAbstractParser (implements org.sunflow.core.SceneParser)
    - org.sunflow.core.parser.SCAsciiParser
    - org.sunflow.core.parser.SCBinaryParser
  - org.sunflow.core.Scene
  - org.sunflow.core.parser.SCParser (implements org.sunflow.core.SceneParser)
  - org.sunflow.system.SearchPath
  - org.sunflow.core.ShadingCache
  - org.sunflow.core.ShadingState (implements java.lang.Iterable<T>)
  - org.sunflow.core.parser.ShaveRibParser (implements org.sunflow.core.SceneParser)
  - org.sunflow.core.shader.ShinyDiffuseShader (implements org.sunflow.core.Shader)
    - org.sunflow.core.shader.TexturedShinyDiffuseShader
  - org.sunflow.system.ui.SilentInterface (implements org.sunflow.system.UserInterface)
  - org.sunflow.core.renderer.SimpleRenderer (implements org.sunflow.core.ImageSampler)
  - org.sunflow.core.shader.SimpleShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.filter.SincFilter (implements org.sunflow.core.Filter)
  - org.sunflow.math.Solvers
  - org.sunflow.image.SpectralCurve
    - org.sunflow.image.BlackbodySpectrum
    - org.sunflow.image.ChromaticitySpectrum
    - org.sunflow.image.ConstantSpectralCurve
    - org.sunflow.image.IrregularSpectralCurve
    - org.sunflow.image.RegularSpectralCurve
  - org.sunflow.core.primitive.Sphere (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.primitive.SphereFlake (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.light.SphereLight (implements org.sunflow.core.LightSource, org.sunflow.core.Shader)
  - org.sunflow.core.camera.SphericalLens (implements org.sunflow.core.CameraLens)
  - org.sunflow.core.bucket.SpiralBucketOrder (implements org.sunflow.core.BucketOrder)
  - org.sunflow.core.Statistics
  - org.sunflow.SunflowAPI (implements org.sunflow.SunflowAPIInterface)
    - org.sunflow.RealtimeBenchmark
  - org.sunflow.core.light.SunSkyLight (implements org.sunflow.core.LightSource, org.sunflow.core.PrimitiveList, org.sunflow.core.Shader)
  - org.sunflow.core.Texture
  - org.sunflow.core.TextureCache
  - org.sunflow.image.readers.TGABitmapReader (implements org.sunflow.image.BitmapReader)
  - org.sunflow.image.writers.TGABitmapWriter (implements org.sunflow.image.BitmapWriter)
  - org.sunflow.core.camera.ThinLens (implements org.sunflow.core.CameraLens)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.sunflow.image.BitmapReader.BitmapFormatException
      - org.sunflow.image.ColorFactory.ColorSpecificationException
      - org.sunflow.system.Parser.ParserException
  - org.sunflow.system.Timer
  - org.sunflow.core.primitive.Torus (implements org.sunflow.core.PrimitiveList)
  - org.sunflow.core.filter.TriangleFilter (implements org.sunflow.core.Filter)
  - org.sunflow.core.primitive.TriangleMesh (implements org.sunflow.core.PrimitiveList)
    - org.sunflow.core.light.TriangleMeshLight (implements org.sunflow.core.LightSource, org.sunflow.core.Shader)
  - org.sunflow.core.parser.TriParser (implements org.sunflow.core.SceneParser)
  - org.sunflow.core.shader.UberShader (implements org.sunflow.core.Shader)
  - org.sunflow.system.UI
  - org.sunflow.core.accel.UniformGrid (implements org.sunflow.core.AccelerationStructure)
  - org.sunflow.core.shader.UVShader (implements org.sunflow.core.Shader)
  - org.sunflow.math.Vector3
  - org.sunflow.core.shader.ViewCausticsShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.shader.ViewGlobalPhotonsShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.shader.ViewIrradianceShader (implements org.sunflow.core.Shader)
  - org.sunflow.core.shader.WireframeShader (implements org.sunflow.core.Shader)
  - org.sunflow.image.XYZColor

## Interface Hierarchy

- org.sunflow.core.AccelerationStructure
- org.sunflow.system.BenchmarkTest
- org.sunflow.image.BitmapReader
- org.sunflow.image.BitmapWriter
- org.sunflow.core.BucketOrder
- org.sunflow.core.Display
- org.sunflow.core.Filter
- org.sunflow.core.GIEngine
- org.sunflow.core.ImageSampler
- org.sunflow.core.PhotonStore
  - org.sunflow.core.CausticPhotonMapInterface
  - org.sunflow.core.GlobalPhotonMapInterface
- org.sunflow.core.RenderObject
  - org.sunflow.core.CameraLens
  - org.sunflow.core.LightSource
  - org.sunflow.core.Modifier
  - org.sunflow.core.PrimitiveList
  - org.sunflow.core.Shader
  - org.sunflow.core.Tesselatable
- org.sunflow.core.SceneParser
- org.sunflow.SunflowAPIInterface
- org.sunflow.system.UserInterface

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.sunflow.core.ParameterList.InterpolationType
    - org.sunflow.core.parser.SCAbstractParser.Keyword
    - org.sunflow.system.UI.Module
    - org.sunflow.system.UI.PrintLevel