igeo
Class I2DCurveFieldGeo

java.lang.Object
  extended by igeo.IFieldGeo
      extended by igeo.I2DCurveFieldGeo
All Implemented Interfaces:
I2DFieldI, IFieldI

public class I2DCurveFieldGeo
extends IFieldGeo
implements I2DFieldI

2D vector filed defined by a NURBS curve.

Author:
Satoru Sugihara

Nested Class Summary
 
Nested classes/interfaces inherited from class igeo.IFieldGeo
IFieldGeo.Decay
 
Field Summary
 ICurveI curve
           
 ICurveI fieldCurve
           
 
Fields inherited from class igeo.IFieldGeo
bidirectional, constantIntensity, customDecay, decay, gaussDecay, intensity, linearDecay, noDecay, threshold
 
Constructor Summary
I2DCurveFieldGeo(ICurveI crv, ICurveI fieldCrv)
           
 
Method Summary
 I2DCurveFieldGeo bidirectional(boolean b)
          if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
 I2DCurveFieldGeo constantIntensity(boolean b)
          if output vector is besed on constant length (intensity) or variable depending geometry when curve or surface tangent is used
 void del()
           
 I2DCurveFieldGeo gauss(double threshold)
          alias of gaussianDecay
 I2DCurveFieldGeo gaussian(double threshold)
          alias of gaussianDecay
 I2DCurveFieldGeo 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).
 IVec2I get(IVecI pos)
          get 3D vector field value
 IVec2I get(IVecI pos, double u)
          get original field value out of curve parameter u
 IVec2I get(IVecI pos, IVecI vel)
          get 3D vector field value
 IVec2I get(IVecI pos, IVecI vel, double u)
          get original field value out of curve parameter u
 I2DCurveFieldGeo intensity(double i)
          set output intensity
 I2DCurveFieldGeo linear(double threshold)
          alias of linearDecay
 I2DCurveFieldGeo linearDecay(double threshold)
          set linear decay; When distance is equal to threshold, output is zero.
 I2DCurveFieldGeo noDecay()
          set no decay
 I2DCurveFieldGeo threshold(double t)
          set decay threshold
 
Methods inherited from class igeo.IFieldGeo
decay, decay, intensity, 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
decay, intensity, threshold
 

Field Detail

curve

public ICurveI curve

fieldCurve

public ICurveI fieldCurve
Constructor Detail

I2DCurveFieldGeo

public I2DCurveFieldGeo(ICurveI crv,
                        ICurveI fieldCrv)
Method Detail

get

public IVec2I get(IVecI pos,
                  double u)
get original field value out of curve parameter u


get

public IVec2I get(IVecI pos,
                  IVecI vel,
                  double u)
get original field value out of curve parameter u


get

public IVec2I get(IVecI pos)
get 3D vector field value

Specified by:
get in interface I2DFieldI
Specified by:
get in interface IFieldI

get

public IVec2I get(IVecI pos,
                  IVecI vel)
get 3D vector field value

Specified by:
get in interface I2DFieldI
Specified by:
get in interface IFieldI

constantIntensity

public I2DCurveFieldGeo 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
Overrides:
constantIntensity in class IFieldGeo

bidirectional

public I2DCurveFieldGeo 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
Overrides:
bidirectional in class IFieldGeo

noDecay

public I2DCurveFieldGeo noDecay()
set no decay

Specified by:
noDecay in interface IFieldI
Overrides:
noDecay in class IFieldGeo

linearDecay

public I2DCurveFieldGeo linearDecay(double threshold)
set linear decay; When distance is equal to threshold, output is zero.

Specified by:
linearDecay in interface IFieldI
Overrides:
linearDecay in class IFieldGeo

linear

public I2DCurveFieldGeo linear(double threshold)
Description copied from class: IFieldGeo
alias of linearDecay

Specified by:
linear in interface IFieldI
Overrides:
linear in class IFieldGeo

gaussianDecay

public I2DCurveFieldGeo 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
Overrides:
gaussianDecay in class IFieldGeo

gaussian

public I2DCurveFieldGeo gaussian(double threshold)
Description copied from class: IFieldGeo
alias of gaussianDecay

Specified by:
gaussian in interface IFieldI
Overrides:
gaussian in class IFieldGeo

gauss

public I2DCurveFieldGeo gauss(double threshold)
Description copied from class: IFieldGeo
alias of gaussianDecay

Specified by:
gauss in interface IFieldI
Overrides:
gauss in class IFieldGeo

threshold

public I2DCurveFieldGeo threshold(double t)
Description copied from class: IFieldGeo
set decay threshold

Specified by:
threshold in interface IFieldI
Overrides:
threshold in class IFieldGeo

intensity

public I2DCurveFieldGeo intensity(double i)
Description copied from class: IFieldGeo
set output intensity

Specified by:
intensity in interface IFieldI
Overrides:
intensity in class IFieldGeo

del

public void del()
Specified by:
del in interface IFieldI