# Hierarchy For Package igeo

## Class Hierarchy

- java.lang.Object
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - java.awt.Panel (implements javax.accessibility.Accessible)
        - java.applet.Applet
          - igeo.IAppletGL1 (implements java.lang.Runnable)
          - igeo.IAppletGL2 (implements java.lang.Runnable)
  - igeo.IApplicationGL1 (implements javax.media.opengl.GLEventListener)
  - igeo.IApplicationGL2 (implements javax.media.opengl.GLEventListener)
  - igeo.IAttribute
  - igeo.IBounds
  - igeo.IBSplineBasisFunction
  - igeo.IColor
  - igeo.IConfig
  - igeo.ICurveCache
  - igeo.ICurveCreator
  - igeo.IDelaunay
  - igeo.IDelaunay2D
  - igeo.IDelaunay2D.EdgeCounter
  - igeo.IDelaunay2D.FaceIndex
  - igeo.IDirectionalComparator (implements igeo.IComparator<T>)
  - igeo.IDistanceComparator (implements igeo.IComparator<T>)
  - igeo.IDynamicsBase (implements igeo.IDynamics)
    - igeo.IAgentTracker
    - igeo.ILineAgentGeo
    - igeo.IParticleDirectionLink
    - igeo.IParticleDistanceLink
    - igeo.IParticleGeo (implements igeo.IParticleI, igeo.IVecI)
      - igeo.IBoidGeo (implements igeo.IBoidI)
      - igeo.IParticleOnCurveGeo (implements igeo.IParticleOnCurveI)
      - igeo.IParticleOnMeshGeo
      - igeo.IParticleOnPlaneGeo
      - igeo.IParticleOnSurfaceGeo (implements igeo.IParticleOnSurfaceI)
    - igeo.ISpacingEqualizer (implements igeo.ITensionI)
    - igeo.ISpring (implements igeo.ISpringI)
    - igeo.IStick
    - igeo.IStraightener (implements igeo.IStraightenerI)
    - igeo.IString
    - igeo.ITensileNet.IParticleCoupler
    - igeo.ITension (implements igeo.ITensionI)
    - igeo.ITensionOnCurve (implements igeo.ITensionI)
    - igeo.ITrajectoryGeo (implements igeo.ITrajectoryI)
  - igeo.IDynamicServer (implements java.lang.Runnable)
  - igeo.Ie (implements igeo.ISwitchE)
  - igeo.IEdge
  - igeo.IErr
  - igeo.IFace
  - igeo.IFieldGeo (implements igeo.IFieldI)
    - igeo.I2DCurveFieldGeo (implements igeo.I2DFieldI)
    - igeo.I2DMapFieldGeo (implements igeo.I2DFieldI)
    - igeo.I2DSurfaceFieldGeo (implements igeo.I2DFieldI)
      - igeo.I2DSurfaceNormalField.I2DSurfaceNormalFieldGeo
      - igeo.I2DSurfacePositionField.I2DSurfacePositionFieldGeo
      - igeo.I2DSurfaceSlopeField.I2DSurfaceSlopeFieldGeo
      - igeo.I2DSurfaceUTangentField.I2DSurfaceUTangentFieldGeo
      - igeo.I2DSurfaceVTangentField.I2DSurfaceVTangentFieldGeo
    - igeo.ICurveFieldGeo (implements igeo.I3DFieldI)
      - igeo.ICurveAttractorField.ICurveAttractorFieldGeo
      - igeo.ICurveCurlField.ICurveCurlFieldGeo
      - igeo.ICurvePositionField.ICurvePositionFieldGeo
      - igeo.ICurveTangentField.ICurveTangentFieldGeo
    - igeo.IMeshFieldGeo (implements igeo.I3DFieldI)
      - igeo.ILinkedNodeMeshField.ILinkedNodeMeshFieldGeo
      - igeo.IMeshNormalField.IMeshNormalFieldGeo
    - igeo.IPlaneFieldGeo (implements igeo.I3DFieldI)
      - igeo.IPlaneAttractorField.IPlaneAttractorFieldGeo
    - igeo.IPointCloudFieldGeo (implements igeo.I3DFieldI)
    - igeo.IPointFieldGeo (implements igeo.I3DFieldI)
      - igeo.IAttractorGeo
      - igeo.IPlanarAttractor.IPlanarAttractorGeo
      - igeo.IPointCurlFieldGeo
    - igeo.ISurfaceFieldGeo (implements igeo.I3DFieldI)
      - igeo.ISurfaceAttractorField.ISurfaceAttractorFieldGeo
      - igeo.ISurfaceNormalField.ISurfaceNormalFieldGeo
      - igeo.ISurfacePositionField.ISurfacePositionFieldGeo
      - igeo.ISurfaceSlopeField.ISurfaceSlopeFieldGeo
      - igeo.ISurfaceUTangentField.ISurfaceUTangentFieldGeo
      - igeo.ISurfaceVTangentField.ISurfaceVTangentFieldGeo
  - igeo.IFieldMesh
  - igeo.IFieldMesh.EdgeVertex
  - igeo.IFieldMesh.VertexGrid
  - igeo.IFoldableStrip (implements igeo.IFoldable)
  - igeo.IG (implements igeo.IServerI)
  - igeo.IGaussDecay (implements igeo.IDecay)
  - igeo.IGraphicObject (implements igeo.IGraphicI, igeo.ISubobject)
  - igeo.IGraphicServer
  - igeo.IIn
  - igeo.ILinearDecay (implements igeo.IDecay)
  - igeo.IMap
    - igeo.IAddMap
    - igeo.IConstantMap
    - igeo.IDoubleMap
      - igeo.IImageMap
        - igeo.IImageSequenceMap
    - igeo.IInvertMap
    - igeo.IMaxMap
    - igeo.IMinMap
    - igeo.IMultiplyMap
    - igeo.IScaleMap
    - igeo.ISubMap
    - igeo.ISubtractMap
    - igeo.ISurfaceDensityMap
    - igeo.ISurfaceDepthMap
      - igeo.ISurfaceZDepthMap
    - igeo.IUFlipMap
    - igeo.IULinearMap
    - igeo.IUSineMap
    - igeo.IUStripeShiftMap
    - igeo.IVFlipMap
    - igeo.IVLinearMap
    - igeo.IVSineMap
    - igeo.IVStripeShiftMap
  - igeo.IMaterial
    - igeo.IBasicMaterial
  - igeo.IMatrix (implements igeo.IMatrixI)
    - igeo.IMatrix2 (implements igeo.IMatrix2I)
    - igeo.IMatrix3 (implements igeo.IMatrix3I)
    - igeo.IMatrix4 (implements igeo.IMatrix4I)
  - igeo.IMeshCreator
  - igeo.IMeshType
  - igeo.INoDecay (implements igeo.IDecay)
  - igeo.IObject
    - igeo.IAgent (implements igeo.IDynamics)
      - igeo.IField (implements igeo.IFieldI)
        - igeo.I2DField (implements igeo.I2DFieldI)
          - igeo.I2DMapField
          - igeo.I2DSurfaceNormalField
          - igeo.I2DSurfacePositionField
          - igeo.I2DSurfaceSlopeField
          - igeo.I2DSurfaceUTangentField
          - igeo.I2DSurfaceVTangentField
        - igeo.I3DField (implements igeo.I3DFieldI)
          - igeo.IAttractor
          - igeo.ICompoundField
          - igeo.ICurveAttractorField
          - igeo.ICurveCurlField
          - igeo.ICurvePositionField
          - igeo.ICurveTangentField
          - igeo.IGravity
          - igeo.ILinkedNodeMeshField
          - igeo.IMeshNormalField
          - igeo.IPlanarAttractor
          - igeo.IPlaneAttractorField
          - igeo.IPointCurlField
          - igeo.ISurfaceAttractorField
          - igeo.ISurfaceNormalField
          - igeo.ISurfacePositionField
          - igeo.ISurfaceSlopeField
          - igeo.ISurfaceUTangentField
          - igeo.ISurfaceVTangentField
        - igeo.IScalarField (implements igeo.IScalarFieldI)
      - igeo.IFieldVisualizer
      - igeo.ILineAgent
      - igeo.ILinkedNodeMeshAgent
      - igeo.IMeshAgent
      - igeo.IPointAgent (implements igeo.IVecI)
        - igeo.IDataAgent<T,S>
          - igeo.ILinkedDataAgent<T>
            - igeo.ILinkedScalarAgent
            - igeo.ILinkedVec2Agent
            - igeo.ILinkedVecAgent
        - igeo.IParticle (implements igeo.IParticleI)
          - igeo.IBoid (implements igeo.IBoidI)
            - igeo.IBoidTrajectory (implements igeo.ITrajectoryI)
          - igeo.IParticleAgent
          - igeo.IParticleTrajectory (implements igeo.ITrajectoryI)
        - igeo.IParticleOnCurve (implements igeo.IParticleOnCurveI)
          - igeo.IParticleOnCurveAgent
        - igeo.IParticleOnPlane (implements igeo.IParticleI)
        - igeo.IParticleOnSurface (implements igeo.IParticleOnSurfaceI)
      - igeo.IWall
        - igeo.ITriangleWall
    - igeo.ICurveR (implements igeo.ICurveI)
    - igeo.IGeometry (implements igeo.ITransformable)
      - igeo.IBrep (implements igeo.ITransformable)
        - igeo.IBox
      - igeo.ICurve (implements igeo.ICurveI)
        - igeo.IArc
        - igeo.ICircle
        - igeo.ISpringLine (implements igeo.IDynamics, igeo.ISpringI)
        - igeo.IStickLine (implements igeo.IDynamics)
        - igeo.IStraightenerCurve (implements igeo.IStraightenerI)
        - igeo.IStringLine (implements igeo.IDynamics)
        - igeo.ITensionLine (implements igeo.IDynamics, igeo.ITensionI)
        - igeo.ITensionLineOnCurve (implements igeo.ITensionI)
      - igeo.IMesh (implements igeo.IMeshI)
        - igeo.ICollidableMesh
      - igeo.IPoint (implements igeo.IVecI)
      - igeo.ISurface (implements igeo.ISurfaceI)
        - igeo.ICylinder
        - igeo.ISphere
      - igeo.IText
    - igeo.ILayer
    - igeo.IMeshR (implements igeo.IMeshI)
    - igeo.IPointR (implements igeo.IVecI)
    - igeo.IPolycurve
    - igeo.ISurfaceR (implements igeo.ISurfaceI)
    - igeo.IVectorObject (implements igeo.IVecI)
  - igeo.IOut
  - igeo.IParameterObject (implements igeo.ISubobject)
    - igeo.IBool (implements igeo.IBoolI, igeo.IEntityParameter)
    - igeo.IBoolR (implements igeo.IBoolI, igeo.IReferenceParameter)
    - igeo.IBoolR.And (implements igeo.IBoolOp)
    - igeo.IBoolR.Eq (implements igeo.IBoolOp)
    - igeo.IBoolR.Not (implements igeo.IBoolOp)
    - igeo.IBoolR.Or (implements igeo.IBoolOp)
    - igeo.ICurveR.IsClosed (implements igeo.IBoolOp)
    - igeo.ICurveR.Pt (implements igeo.IVecOp)
    - igeo.ICurveR.Tan (implements igeo.IVecOp)
    - igeo.ICurveR.U (implements igeo.IDoubleOp)
    - igeo.ICurveR.U2 (implements igeo.IDoubleOp)
    - igeo.IDouble (implements igeo.IDoubleI, igeo.IEntityParameter)
    - igeo.IDoubleR (implements igeo.IDoubleI, igeo.IReferenceParameter)
    - igeo.IDoubleR.Abs (implements igeo.IDoubleOp)
    - igeo.IDoubleR.ACos (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Add (implements igeo.IDoubleOp)
    - igeo.IDoubleR.ASin (implements igeo.IDoubleOp)
    - igeo.IDoubleR.ATan (implements igeo.IDoubleOp)
    - igeo.IDoubleR.ATan2 (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Cos (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Deg (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Div (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Eq (implements igeo.IBoolOp)
    - igeo.IDoubleR.Exp (implements igeo.IDoubleOp)
    - igeo.IDoubleR.FromInt (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Inv (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Log (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Mul (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Neg (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Pow (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Rad (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Sin (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Sq (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Sqrt (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Sub (implements igeo.IDoubleOp)
    - igeo.IDoubleR.Tan (implements igeo.IDoubleOp)
    - igeo.IInteger (implements igeo.IEntityParameter, igeo.IIntegerI)
    - igeo.IIntegerR (implements igeo.IIntegerI, igeo.IReferenceParameter)
    - igeo.IIntegerR.Add (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Div (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Eq (implements igeo.IBoolOp)
    - igeo.IIntegerR.FromDouble (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Mod (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Mul (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Neg (implements igeo.IIntegerOp)
    - igeo.IIntegerR.Sub (implements igeo.IIntegerOp)
    - igeo.IMeshGeo (implements igeo.IMeshI)
    - igeo.INurbsGeo
      - igeo.ICurveGeo (implements igeo.ICurveI, igeo.IEntityParameter)
        - igeo.IArcGeo
        - igeo.ICircleGeo
        - igeo.ITrimCurve (implements igeo.ITrimCurveI)
      - igeo.ISurfaceGeo (implements igeo.IEntityParameter, igeo.ISurfaceI)
    - igeo.ISurfaceR.IsFlat (implements igeo.IBoolOp)
    - igeo.ISurfaceR.IsUClosed (implements igeo.IBoolOp)
    - igeo.ISurfaceR.IsVClosed (implements igeo.IBoolOp)
    - igeo.ISurfaceR.Normal (implements igeo.IVecOp)
    - igeo.ISurfaceR.Pt (implements igeo.IVecOp)
    - igeo.ISurfaceR.UTan (implements igeo.IVecOp)
    - igeo.ISurfaceR.UV (implements igeo.IVec2Op)
    - igeo.ISurfaceR.UV2 (implements igeo.IVec2Op)
    - igeo.ISurfaceR.VTan (implements igeo.IVecOp)
    - igeo.ITextGeo (implements igeo.ITransformable)
    - igeo.IVec (implements igeo.IEntityParameter, igeo.IVecI)
      - igeo.IVec4 (implements igeo.IEntityParameter, igeo.IVec4I)
    - igeo.IVec2 (implements igeo.IEntityParameter, igeo.IVec2I)
    - igeo.IVec2f (implements igeo.IVec2I)
    - igeo.IVec2R (implements igeo.IReferenceParameter, igeo.IVec2I)
    - igeo.IVec2R.Add (implements igeo.IVec2Op)
    - igeo.IVec2R.Angle (implements igeo.IDoubleOp)
    - igeo.IVec2R.Cross (implements igeo.IVecOp)
    - igeo.IVec2R.Dist (implements igeo.IDoubleOp)
    - igeo.IVec2R.Dist2 (implements igeo.IDoubleOp)
    - igeo.IVec2R.Div (implements igeo.IVec2Op)
    - igeo.IVec2R.Dot (implements igeo.IDoubleOp)
    - igeo.IVec2R.Eq (implements igeo.IBoolOp)
    - igeo.IVec2R.EqX (implements igeo.IBoolOp)
    - igeo.IVec2R.EqY (implements igeo.IBoolOp)
    - igeo.IVec2R.FromX (implements igeo.IVec2Op)
    - igeo.IVec2R.FromXY (implements igeo.IVec2Op)
    - igeo.IVec2R.FromY (implements igeo.IVec2Op)
    - igeo.IVec2R.Len (implements igeo.IDoubleOp)
    - igeo.IVec2R.Len2 (implements igeo.IDoubleOp)
    - igeo.IVec2R.Mul (implements igeo.IVec2Op)
    - igeo.IVec2R.Neg (implements igeo.IVec2Op)
    - igeo.IVec2R.Ortho (implements igeo.IVec2Op)
    - igeo.IVec2R.Ref (implements igeo.IVec2Op)
    - igeo.IVec2R.Rot (implements igeo.IVec2Op)
    - igeo.IVec2R.Scale1d (implements igeo.IVec2Op)
    - igeo.IVec2R.SetLen (implements igeo.IVec2Op)
    - igeo.IVec2R.Shear (implements igeo.IVec2Op)
    - igeo.IVec2R.Sub (implements igeo.IVec2Op)
    - igeo.IVec2R.ToVec2 (implements igeo.IVec2Op)
    - igeo.IVec2R.ToVec3 (implements igeo.IVecOp)
    - igeo.IVec2R.ToVec4 (implements igeo.IVec4Op)
    - igeo.IVec2R.Transform2 (implements igeo.IVec2Op)
    - igeo.IVec2R.Transform3 (implements igeo.IVec2Op)
    - igeo.IVec2R.TransformVec2 (implements igeo.IVec2Op)
    - igeo.IVec2R.TransformVec3 (implements igeo.IVec2Op)
    - igeo.IVec2R.Unit (implements igeo.IVec2Op)
    - igeo.IVec2R.X (implements igeo.IDoubleOp)
    - igeo.IVec2R.Y (implements igeo.IDoubleOp)
    - igeo.IVec4R (implements igeo.IReferenceParameter, igeo.IVec4I, igeo.IVecI)
    - igeo.IVec4R.Add (implements igeo.IVec4Op)
    - igeo.IVec4R.Cross (implements igeo.IVec4Op)
    - igeo.IVec4R.Dist (implements igeo.IDoubleOp)
    - igeo.IVec4R.Dist2 (implements igeo.IDoubleOp)
    - igeo.IVec4R.Div (implements igeo.IVec4Op)
    - igeo.IVec4R.Eq (implements igeo.IBoolOp)
    - igeo.IVec4R.EqW (implements igeo.IBoolOp)
    - igeo.IVec4R.EqX (implements igeo.IBoolOp)
    - igeo.IVec4R.EqY (implements igeo.IBoolOp)
    - igeo.IVec4R.EqZ (implements igeo.IBoolOp)
    - igeo.IVec4R.FromVec (implements igeo.IVec4Op)
    - igeo.IVec4R.FromVecAndW (implements igeo.IVec4Op)
    - igeo.IVec4R.FromW (implements igeo.IVec4Op)
    - igeo.IVec4R.FromX (implements igeo.IVec4Op)
    - igeo.IVec4R.FromXYZ (implements igeo.IVec4Op)
    - igeo.IVec4R.FromXYZW (implements igeo.IVec4Op)
    - igeo.IVec4R.FromY (implements igeo.IVec4Op)
    - igeo.IVec4R.FromZ (implements igeo.IVec4Op)
    - igeo.IVec4R.Mul (implements igeo.IVec4Op)
    - igeo.IVec4R.Neg (implements igeo.IVec4Op)
    - igeo.IVec4R.Ref (implements igeo.IVec4Op)
    - igeo.IVec4R.Rot (implements igeo.IVec4Op)
    - igeo.IVec4R.Rot2 (implements igeo.IVec4Op)
    - igeo.IVec4R.Scale1d (implements igeo.IVec4Op)
    - igeo.IVec4R.SetLen (implements igeo.IVec4Op)
    - igeo.IVec4R.Shear (implements igeo.IVec4Op)
    - igeo.IVec4R.Sub (implements igeo.IVec4Op)
    - igeo.IVec4R.ToVec (implements igeo.IVecOp)
    - igeo.IVec4R.ToVec2 (implements igeo.IVec2Op)
    - igeo.IVec4R.ToVec2WithAxis (implements igeo.IVec2Op)
    - igeo.IVec4R.ToVec2WithAxisAndOrigin (implements igeo.IVec2Op)
    - igeo.IVec4R.ToVec2WithProjection (implements igeo.IVec2Op)
    - igeo.IVec4R.Transform3 (implements igeo.IVec4Op)
    - igeo.IVec4R.Transform4 (implements igeo.IVec4Op)
    - igeo.IVec4R.TransformVec3 (implements igeo.IVec4Op)
    - igeo.IVec4R.TransformVec4 (implements igeo.IVec4Op)
    - igeo.IVec4R.Unit (implements igeo.IVec4Op)
    - igeo.IVec4R.W (implements igeo.IDoubleOp)
    - igeo.IVec4R.X (implements igeo.IDoubleOp)
    - igeo.IVec4R.Y (implements igeo.IDoubleOp)
    - igeo.IVec4R.Z (implements igeo.IDoubleOp)
    - igeo.IVecR (implements igeo.IReferenceParameter, igeo.IVecI)
    - igeo.IVecR.Add (implements igeo.IVecOp)
    - igeo.IVecR.Angle (implements igeo.IDoubleOp)
    - igeo.IVecR.Cross (implements igeo.IVecOp)
    - igeo.IVecR.Dist (implements igeo.IDoubleOp)
    - igeo.IVecR.Dist2 (implements igeo.IDoubleOp)
    - igeo.IVecR.Div (implements igeo.IVecOp)
    - igeo.IVecR.Dot (implements igeo.IDoubleOp)
    - igeo.IVecR.Eq (implements igeo.IBoolOp)
    - igeo.IVecR.EqX (implements igeo.IBoolOp)
    - igeo.IVecR.EqY (implements igeo.IBoolOp)
    - igeo.IVecR.EqZ (implements igeo.IBoolOp)
    - igeo.IVecR.FromX (implements igeo.IVecOp)
    - igeo.IVecR.FromXYZ (implements igeo.IVecOp)
    - igeo.IVecR.FromY (implements igeo.IVecOp)
    - igeo.IVecR.FromZ (implements igeo.IVecOp)
    - igeo.IVecR.Len (implements igeo.IDoubleOp)
    - igeo.IVecR.Len2 (implements igeo.IDoubleOp)
    - igeo.IVecR.Mul (implements igeo.IVecOp)
    - igeo.IVecR.Neg (implements igeo.IVecOp)
    - igeo.IVecR.Ref (implements igeo.IVecOp)
    - igeo.IVecR.Rot (implements igeo.IVecOp)
    - igeo.IVecR.Rot2 (implements igeo.IVecOp)
    - igeo.IVecR.Scale1d (implements igeo.IVecOp)
    - igeo.IVecR.SetLen (implements igeo.IVecOp)
    - igeo.IVecR.Shear (implements igeo.IVecOp)
    - igeo.IVecR.Sub (implements igeo.IVecOp)
    - igeo.IVecR.ToVec2 (implements igeo.IVec2Op)
    - igeo.IVecR.ToVec2WithAxis (implements igeo.IVec2Op)
    - igeo.IVecR.ToVec2WithAxisAndOrigin (implements igeo.IVec2Op)
    - igeo.IVecR.ToVec2WithProjection (implements igeo.IVec2Op)
    - igeo.IVecR.Transform3 (implements igeo.IVecOp)
    - igeo.IVecR.Transform4 (implements igeo.IVecOp)
    - igeo.IVecR.TransformVec3 (implements igeo.IVecOp)
    - igeo.IVecR.TransformVec4 (implements igeo.IVecOp)
    - igeo.IVecR.Unit (implements igeo.IVecOp)
    - igeo.IVecR.X (implements igeo.IDoubleOp)
    - igeo.IVecR.Y (implements igeo.IDoubleOp)
    - igeo.IVecR.Z (implements igeo.IDoubleOp)
  - igeo.IPiecewiseFunction (implements igeo.IFunction)
    - igeo.IPiecewisePolynomialFunction
      - igeo.IBSplineBasisFunction.IBSplineBasisSubFunction
  - igeo.IPolycurveGeo (implements igeo.ICurveI)
  - igeo.IPolynomialFunction (implements igeo.IFunction)
  - igeo.Ir (implements igeo.ISwitchR)
  - igeo.IRadialComparator (implements igeo.IComparator<T>)
  - igeo.IRand
    - igeo.IRandom
  - igeo.IServer (implements igeo.IServerI)
  - igeo.ISort
  - igeo.ISun
  - igeo.ISun.DateIterator
  - igeo.ISun.DateRange
  - igeo.ISun.Location
  - igeo.ISun.SearchBuffer
  - igeo.ISurfaceCache
  - igeo.ISurfaceCreator
  - igeo.ISurfaceCreator.XCurveComparator (implements igeo.IComparator<T>)
  - igeo.ISurfaceCreator.YCurveComparator (implements igeo.IComparator<T>)
  - igeo.ISurfaceCreator.ZCurveComparator (implements igeo.IComparator<T>)
  - igeo.ITensileNet
  - igeo.ITensileNet.ConstructorAndParameters<T>
  - igeo.ITensileNet.IParticleOnCurveComparator (implements igeo.IComparator<T>)
  - igeo.ITexture
    - igeo.IPixelTexture
  - igeo.ITrimCache
  - igeo.IUnit
  - igeo.IValueComparator<T> (implements igeo.IComparator<T>)
    - igeo.IGeometryXComparator<T>
      - igeo.IBrepXComparator
      - igeo.ICurveXComparator
      - igeo.ISurfaceXComparator
    - igeo.IGeometryYComparator<T>
      - igeo.IBrepYComparator
      - igeo.ICurveYComparator
      - igeo.ISurfaceYComparator
    - igeo.IGeometryZComparator<T>
      - igeo.IBrepZComparator
      - igeo.ICurveZComparator
      - igeo.ISurfaceZComparator
  - igeo.IVertex (implements igeo.IVecI)
  - igeo.IVertex.ZComparator (implements igeo.IComparator<T>)
  - igeo.IVertex.ZYXComparator (implements igeo.IComparator<T>)
  - igeo.IVoronoi2D
  - igeo.IVoronoi2D.RadialComparator (implements igeo.IComparator<T>)
  - igeo.IXComparator (implements igeo.IComparator<T>)
  - igeo.IYComparator (implements igeo.IComparator<T>)
  - igeo.IZComparator (implements igeo.IComparator<T>)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - igeo.IPrintWrapper

## Interface Hierarchy

- igeo.IComparator<T>
- igeo.IDecay
- igeo.IFieldI
  - igeo.I2DFieldI
  - igeo.I3DFieldI
  - igeo.IScalarFieldI
- igeo.IFoldable
- igeo.IFunction
- igeo.IGraphicI
- igeo.IParticleFactory
- igeo.IParticleOnCurveFactory
- igeo.IServerI
- igeo.ISubobject
  - igeo.IDynamics
- igeo.ISwitchI
  - igeo.ISwitchE
  - igeo.ISwitchR
- igeo.ITensionFactory
- igeo.ITensionI
  - igeo.ISpringI
  - igeo.IStraightenerI
- igeo.ITrajectoryI
- igeo.ITransformable
  - igeo.ICurveI (also extends igeo.ICurveOp)
    - igeo.ITrimCurveI
  - igeo.IMeshI
  - igeo.ISurfaceI (also extends igeo.ISurfaceOp)
  - igeo.IVecI (also extends igeo.IArithmeticVal<T,S>, igeo.IVecOp)
    - igeo.IParticleI
      - igeo.IBoidI
      - igeo.IParticleOnCurveI
      - igeo.IParticleOnSurfaceI
    - igeo.IVec4I (also extends igeo.IVec4Op)
- igeo.IVal
  - igeo.IArithmeticVal<T,S>
    - igeo.IDoubleI (also extends igeo.IDoubleOp)
    - igeo.IVec2I (also extends igeo.IVec2Op)
    - igeo.IVecI (also extends igeo.ITransformable, igeo.IVecOp)
      - igeo.IParticleI
        - igeo.IBoidI
        - igeo.IParticleOnCurveI
        - igeo.IParticleOnSurfaceI
      - igeo.IVec4I (also extends igeo.IVec4Op)
  - igeo.IParameter
    - igeo.IBoolOp (also extends igeo.IScalar)
      - igeo.IBoolI
    - igeo.ICurveOp
      - igeo.ICurveI (also extends igeo.ITransformable)
        - igeo.ITrimCurveI
    - igeo.IDoubleOp (also extends igeo.IScalar)
      - igeo.IDoubleI (also extends igeo.IArithmeticVal<T,S>)
    - igeo.IEntityParameter
    - igeo.IIntegerOp (also extends igeo.IScalar)
      - igeo.IIntegerI
    - igeo.IMatrix2Op
      - igeo.IMatrix2I (also extends igeo.IMatrixI)
    - igeo.IMatrix3Op
      - igeo.IMatrix3I (also extends igeo.IMatrixI)
    - igeo.IMatrix4Op
      - igeo.IMatrix4I (also extends igeo.IMatrixI)
    - igeo.IMatrixOp
      - igeo.IMatrixI
        - igeo.IMatrix2I (also extends igeo.IMatrix2Op)
        - igeo.IMatrix3I (also extends igeo.IMatrix3Op)
        - igeo.IMatrix4I (also extends igeo.IMatrix4Op)
    - igeo.IReferenceParameter
    - igeo.ISurfaceOp
      - igeo.ISurfaceI (also extends igeo.ITransformable)
    - igeo.IVec2Op
      - igeo.IVec2I (also extends igeo.IArithmeticVal<T,S>)
    - igeo.IVecOp
      - igeo.IVec4Op
        - igeo.IVec4I (also extends igeo.IVecI)
      - igeo.IVecI (also extends igeo.IArithmeticVal<T,S>, igeo.ITransformable)
        - igeo.IParticleI
          - igeo.IBoidI
          - igeo.IParticleOnCurveI
          - igeo.IParticleOnSurfaceI
        - igeo.IVec4I (also extends igeo.IVec4Op)
  - igeo.IScalar
    - igeo.IBoolOp (also extends igeo.IParameter)
      - igeo.IBoolI
    - igeo.IDoubleOp (also extends igeo.IParameter)
      - igeo.IDoubleI (also extends igeo.IArithmeticVal<T,S>)
    - igeo.IIntegerOp (also extends igeo.IParameter)
      - igeo.IIntegerI

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - igeo.IUnit.Type
    - igeo.ITextGeo.HorizontalAlignment
    - igeo.ITextGeo.VerticalAlignment
    - igeo.ISun.City
    - igeo.IFieldGeo.Decay