igeo

## Class IFieldGeo

- java.lang.Object
- - igeo.IFieldGeo

- All Implemented Interfaces:
    IFieldI
  Direct Known Subclasses:
    I2DCurveFieldGeo, I2DMapFieldGeo, I2DSurfaceFieldGeo, ICurveFieldGeo, IMeshFieldGeo, IPlaneFieldGeo, IPointCloudFieldGeo, IPointFieldGeo, ISurfaceFieldGeo

      public abstract class IFieldGeo
      extends java.lang.Object
      implements IFieldI

  abstract class of 2D vector filed.
  Author:
    Satoru Sugihara

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `IFieldGeo.Decay` type of decay from surface position

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `bidirectional` if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
    `boolean` | `constantIntensity` if output vector is besed on constant length (intensity) or variable depending geometry when curve or surface tangent is used
    `IDecay` | `customDecay`
    `IFieldGeo.Decay` | `decay`
    `static IGaussDecay` | `gaussDecay`
    `double` | `intensity` intensity of vector output
    `static ILinearDecay` | `linearDecay`
    `static INoDecay` | `noDecay`
    `double` | `threshold` threshold for decay.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IFieldGeo()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `IFieldGeo` | `bidirectional(boolean b)` if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
    `IFieldGeo` | `constantIntensity(boolean b)` if output vector is besed on constant length (intensity) or variable depending geometry when curve or surface tangent is used
    `IFieldGeo.Decay` | `decay()`
    `IFieldGeo` | `decay(IDecay d, double threshold)` set custom decay
    `IFieldGeo` | `gauss(double threshold)` alias of gaussianDecay
    `IFieldGeo` | `gaussian(double threshold)` alias of gaussianDecay
    `IFieldGeo` | `gaussianDecay(double threshold)` set Gaussian decay; Threshold is used as double of standard deviation (when distance is eqaul to threshold, output is 13.5% of original).
    `double` | `intensity()` get output intensity
    `IFieldGeo` | `intensity(double i)` set output intensity
    `IFieldGeo` | `linear(double threshold)` alias of linearDecay
    `IFieldGeo` | `linearDecay(double threshold)` set linear decay; When distance is equal to threshold, output is zero.
    `IFieldGeo` | `noDecay()` set no decay
    `double` | `threshold()` get decay threshold
    `IFieldGeo` | `threshold(double t)` set decay threshold

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface igeo.IFieldI

      `del, get, get`

- - ### Field Detail

    - #### noDecay

          public static INoDecay noDecay

    - #### linearDecay

          public static ILinearDecay linearDecay

    - #### gaussDecay

          public static IGaussDecay gaussDecay

    - #### decay

          public IFieldGeo.Decay decay

    - #### customDecay

          public IDecay customDecay

    - #### threshold

          public double threshold

      threshold for decay. When decay is None, threshold isn't used. In case of Linear, when distance is equal to threshold, output is zero. In Gaussian, threshold is used as double of standard deviation (when distance is eqaul to threshold, output is 13.5% of original).

    - #### intensity

          public double intensity

      intensity of vector output

    - #### constantIntensity

          public boolean constantIntensity

      if output vector is besed on constant length (intensity) or variable depending geometry when curve or surface tangent is used

    - #### bidirectional

          public boolean bidirectional

      if bidirectional is on, field force vector is flipped when velocity of particle is going opposite

  - ### Constructor Detail

    - #### IFieldGeo

          public IFieldGeo()

  - ### Method Detail

    - #### noDecay

          public IFieldGeo noDecay()

      set no decay
      Specified by:
        `noDecay` in interface `IFieldI`

    - #### linearDecay

          public IFieldGeo linearDecay(double threshold)

      set linear decay; When distance is equal to threshold, output is zero.
      Specified by:
        `linearDecay` in interface `IFieldI`

    - #### linear

          public IFieldGeo linear(double threshold)

      alias of linearDecay
      Specified by:
        `linear` in interface `IFieldI`

    - #### gaussianDecay

          public IFieldGeo gaussianDecay(double threshold)

      set Gaussian decay; Threshold is used as double of standard deviation (when distance is eqaul to threshold, output is 13.5% of original).
      Specified by:
        `gaussianDecay` in interface `IFieldI`

    - #### gaussian

          public IFieldGeo gaussian(double threshold)

      alias of gaussianDecay
      Specified by:
        `gaussian` in interface `IFieldI`

    - #### gauss

          public IFieldGeo gauss(double threshold)

      alias of gaussianDecay
      Specified by:
        `gauss` in interface `IFieldI`

    - #### decay

          public IFieldGeo.Decay decay()

    - #### decay

          public IFieldGeo decay(IDecay d,
                        double threshold)

      Description copied from interface: `IFieldI`
      set custom decay
      Specified by:
        `decay` in interface `IFieldI`

    - #### constantIntensity

          public IFieldGeo constantIntensity(boolean b)

      if output vector is besed on constant length (intensity) or variable depending geometry when curve or surface tangent is used
      Specified by:
        `constantIntensity` in interface `IFieldI`

    - #### bidirectional

          public IFieldGeo bidirectional(boolean b)

      if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
      Specified by:
        `bidirectional` in interface `IFieldI`

    - #### threshold

          public IFieldGeo threshold(double t)

      set decay threshold
      Specified by:
        `threshold` in interface `IFieldI`

    - #### threshold

          public double threshold()

      Description copied from interface: `IFieldI`
      get decay threshold
      Specified by:
        `threshold` in interface `IFieldI`

    - #### intensity

          public IFieldGeo intensity(double i)

      set output intensity
      Specified by:
        `intensity` in interface `IFieldI`

    - #### intensity

          public double intensity()

      Description copied from interface: `IFieldI`
      get output intensity
      Specified by:
        `intensity` in interface `IFieldI`