igeo
Class I2DSurfaceFieldGeo

java.lang.Object
  extended by igeo.IFieldGeo
      extended by igeo.I2DSurfaceFieldGeo
All Implemented Interfaces:
I2DFieldI, IFieldI
Direct Known Subclasses:
I2DSurfaceNormalField.I2DSurfaceNormalFieldGeo, I2DSurfacePositionField.I2DSurfacePositionFieldGeo, I2DSurfaceSlopeField.I2DSurfaceSlopeFieldGeo, I2DSurfaceUTangentField.I2DSurfaceUTangentFieldGeo, I2DSurfaceVTangentField.I2DSurfaceVTangentFieldGeo

public class I2DSurfaceFieldGeo
extends IFieldGeo
implements I2DFieldI

2D vector filed defined by a NURBS surface.

Author:
Satoru Sugihara

Nested Class Summary
 
Nested classes/interfaces inherited from class igeo.IFieldGeo
IFieldGeo.Decay
 
Field Summary
 ISurfaceI fieldSurface
           
 ISurfaceI surface
           
 
Fields inherited from class igeo.IFieldGeo
bidirectional, constantIntensity, customDecay, decay, gaussDecay, intensity, linearDecay, noDecay, threshold
 
Constructor Summary
I2DSurfaceFieldGeo(ISurfaceI srf, ISurfaceI fieldSrf)
           
 
Method Summary
 I2DSurfaceFieldGeo bidirectional(boolean b)
          if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
 I2DSurfaceFieldGeo 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()
           
 I2DSurfaceFieldGeo gauss(double threshold)
          alias of gaussianDecay
 I2DSurfaceFieldGeo gaussian(double threshold)
          alias of gaussianDecay
 I2DSurfaceFieldGeo 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 v)
          get 3D vector field value
 IVec2I get(IVecI pos, IVec2I uv)
          get original field value out of surface parameter uv
 IVec2I get(IVecI pos, IVecI vel)
          get 3D vector field value
 IVec2I get(IVecI pos, IVecI vel, IVec2I uv)
          get original field value out of surface parameter uv
 I2DSurfaceFieldGeo intensity(double i)
          set output intensity
 I2DSurfaceFieldGeo linear(double threshold)
          alias of linearDecay
 I2DSurfaceFieldGeo linearDecay(double threshold)
          set linear decay; When distance is equal to threshold, output is zero.
 I2DSurfaceFieldGeo noDecay()
          set no decay
 I2DSurfaceFieldGeo 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

surface

public ISurfaceI surface

fieldSurface

public ISurfaceI fieldSurface
Constructor Detail

I2DSurfaceFieldGeo

public I2DSurfaceFieldGeo(ISurfaceI srf,
                          ISurfaceI fieldSrf)
Method Detail

get

public IVec2I get(IVecI pos,
                  IVec2I uv)
get original field value out of surface parameter uv


get

public IVec2I get(IVecI pos,
                  IVecI vel,
                  IVec2I uv)
get original field value out of surface parameter uv


get

public IVec2I get(IVecI v)
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 I2DSurfaceFieldGeo 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 I2DSurfaceFieldGeo 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 I2DSurfaceFieldGeo noDecay()
set no decay

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

linearDecay

public I2DSurfaceFieldGeo 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 I2DSurfaceFieldGeo linear(double threshold)
Description copied from class: IFieldGeo
alias of linearDecay

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

gaussianDecay

public I2DSurfaceFieldGeo 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 I2DSurfaceFieldGeo gaussian(double threshold)
Description copied from class: IFieldGeo
alias of gaussianDecay

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

gauss

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

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

threshold

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

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

intensity

public I2DSurfaceFieldGeo 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