igeo
Class ISurfaceFieldGeo

java.lang.Object
  extended by igeo.IFieldGeo
      extended by igeo.ISurfaceFieldGeo
All Implemented Interfaces:
I3DFieldI, IFieldI
Direct Known Subclasses:
ISurfaceAttractorField.ISurfaceAttractorFieldGeo, ISurfaceNormalField.ISurfaceNormalFieldGeo, ISurfacePositionField.ISurfacePositionFieldGeo, ISurfaceSlopeField.ISurfaceSlopeFieldGeo, ISurfaceUTangentField.ISurfaceUTangentFieldGeo, ISurfaceVTangentField.ISurfaceVTangentFieldGeo

public class ISurfaceFieldGeo
extends IFieldGeo
implements I3DFieldI

3D 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
ISurfaceFieldGeo(ISurfaceI srf, ISurfaceI fieldSrf)
           
 
Method Summary
 ISurfaceFieldGeo bidirectional(boolean b)
          if bidirectional is on, field force vector is flipped when velocity of particle is going opposite
 ISurfaceFieldGeo 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()
           
 ISurfaceFieldGeo gauss(double threshold)
          alias of gaussianDecay
 ISurfaceFieldGeo gaussian(double threshold)
          alias of gaussianDecay
 ISurfaceFieldGeo 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).
 IVecI get(IVecI pos)
          get 3D vector field value
 IVecI get(IVecI pos, IVec2I uv)
          get original field value out of curve parameter u
 IVecI get(IVecI pos, IVecI vel)
          get 3D vector field value
 IVecI get(IVecI pos, IVecI vel, IVec2I uv)
          get original field value out of curve parameter u
 ISurfaceFieldGeo intensity(double i)
          set output intensity
 ISurfaceFieldGeo linear(double threshold)
          alias of linearDecay
 ISurfaceFieldGeo linearDecay(double threshold)
          set linear decay; When distance is equal to threshold, output is zero.
 ISurfaceFieldGeo noDecay()
          set no decay
 ISurfaceFieldGeo 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

ISurfaceFieldGeo

public ISurfaceFieldGeo(ISurfaceI srf,
                        ISurfaceI fieldSrf)
Method Detail

get

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


get

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


get

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

Specified by:
get in interface I3DFieldI
Specified by:
get in interface IFieldI

get

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

Specified by:
get in interface I3DFieldI
Specified by:
get in interface IFieldI
Parameters:
pos - positio of the input particle
vel - velocity of the input particle

constantIntensity

public ISurfaceFieldGeo 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 ISurfaceFieldGeo 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 ISurfaceFieldGeo noDecay()
set no decay

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

linearDecay

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

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

gaussianDecay

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

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

gauss

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

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

threshold

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

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

intensity

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