igeo

## Interface IParticleOnSurfaceI

- All Superinterfaces:
    IArithmeticVal<IVecI,IDoubleI>, IParameter, IParticleI, ITransformable, IVal, IVecI, IVecOp
  All Known Implementing Classes:
    IParticleOnSurface, IParticleOnSurfaceGeo

      public interface IParticleOnSurfaceI
      extends IParticleI

  Interface of a particle who sits and moves on a surface
  Author:
    Satoru Sugihara

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IParticleOnSurfaceI` | `addUVForce(double ufrc, double vfrc)`
    `IParticleOnSurfaceI` | `fixU()`
    `IParticleOnSurfaceI` | `fixV()`
    `IParticleOnSurfaceI` | `resetUVForce()`
    `ISurfaceI` | `surface()`
    `boolean` | `uFixed()`
    `IParticleOnSurfaceI` | `unfixU()`
    `IParticleOnSurfaceI` | `unfixV()`
    `IVec2` | `uv()`
    `IParticleOnSurfaceI` | `uv(double u, double v)`
    `IVec2` | `uvfrc()`
    `IParticleOnSurfaceI` | `uvfrc(double ufrc, double vfrc)`
    `IParticleOnSurfaceI` | `uvpull(double ufrc, double vfrf)`
    `IParticleOnSurfaceI` | `uvpush(double ufrc, double vfrc)`
    `IParticleOnSurfaceI` | `uvreset()`
    `IVec2` | `uvvel()`
    `IParticleOnSurfaceI` | `uvvel(double uvel, double vvel)`
    `boolean` | `vFixed()`

    - ### Methods inherited from interface igeo.IParticleI

      `acc, acceleration, addForce, addForce, decay, decay, fix, fixed, force, force, frc, frc, fric, fric, friction, friction, mass, mass, pos, pos, position, position, pull, pull, push, push, removeTarget, removeTarget, reset, resetForce, skipUpdateOnce, skipUpdateOnce, target, target, targetNum, targets, unfix, updateTarget, vel, vel, velocity, velocity`

    - ### Methods inherited from interface igeo.IVecI

      `add, add, add, add, add, add, add, angle, angle, angle, angle, angle, angle, angle, angle, bisect, bisect, cp, cp, cp, cp, cross, cross, dif, dif, diff, diff, dist, dist, dist, dist, dist2, dist2, dist2, dist2, div, div, dot, dot, dot, dot, dup, eq, eq, eq, eq, eq, eq, eq, eq, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, flip, get, getX, getY, getZ, isValid, len, len, len, len, len, len2, len2, len2, mid, mid, mirror, mirror, mirror, mirror, mul, mul, mv, mv, mv, neg, nml, nml, nml, nml, ref, ref, ref, ref, rev, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2, rot2, scale, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, scale1d, scale1d, set, set, set, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, sub, sub, sub, sum, sum, sum, sum, sum, sum, sum, to2d, to2d, to2d, to2d, to4d, to4d, to4d, transform, transform, transform, transform, translate, translate, translate, unit, x, x, x, x, x, x, x, y, y, y, y, y, y, y, z, z, z, z, z, z, zero`

- - ### Method Detail

    - #### surface

          ISurfaceI surface()

    - #### uv

          IParticleOnSurfaceI uv(double u,
                                 double v)

    - #### uv

          IVec2 uv()

    - #### uvvel

          IParticleOnSurfaceI uvvel(double uvel,
                                    double vvel)

    - #### uvvel

          IVec2 uvvel()

    - #### uvfrc

          IParticleOnSurfaceI uvfrc(double ufrc,
                                    double vfrc)

    - #### uvfrc

          IVec2 uvfrc()

    - #### addUVForce

          IParticleOnSurfaceI addUVForce(double ufrc,
                                         double vfrc)

    - #### resetUVForce

          IParticleOnSurfaceI resetUVForce()

    - #### uvpush

          IParticleOnSurfaceI uvpush(double ufrc,
                                     double vfrc)

    - #### uvpull

          IParticleOnSurfaceI uvpull(double ufrc,
                                     double vfrf)

    - #### uvreset

          IParticleOnSurfaceI uvreset()

    - #### fixU

          IParticleOnSurfaceI fixU()

    - #### fixV

          IParticleOnSurfaceI fixV()

    - #### unfixU

          IParticleOnSurfaceI unfixU()

    - #### unfixV

          IParticleOnSurfaceI unfixV()

    - #### uFixed

          boolean uFixed()

    - #### vFixed

          boolean vFixed()