igeo

## Class IParticleOnSurface

- java.lang.Object
- - igeo.IObject
  - - igeo.IAgent
    - - igeo.IPointAgent
      - - igeo.IParticleOnSurface

- All Implemented Interfaces:
    IArithmeticVal<IVecI,IDoubleI>, IDynamics, IParameter, IParticleI, IParticleOnSurfaceI, ISubobject, ITransformable, IVal, IVecI, IVecOp

      public class IParticleOnSurface
      extends IPointAgent
      implements IParticleOnSurfaceI

  Class of an agent with IParticleOnSurfaceGeo.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `IVec` | `frc` only to refer to particle.vel and particle.frc
    `IParticleOnSurfaceGeo` | `particle`
    `IVec` | `vel` only to refer to particle.vel and particle.frc

    - ### Fields inherited from class igeo.IPointAgent

      `point, pos, tracker`

    - ### Fields inherited from class igeo.IAgent

      `alive, duration, interactOverridden, localDynamics, parent, targets, time`

    - ### Fields inherited from class igeo.IObject

      `attribute, dynamics, graphics, parameter, server, userData`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IParticleOnSurface(IParticleOnSurface p)`
    `IParticleOnSurface(IParticleOnSurfaceGeo p)`
    `IParticleOnSurface(ISurface srf)`
    `IParticleOnSurface(ISurface srf, double upos, double vpos)`
    `IParticleOnSurface(ISurface srf, double upos, double vpos, double uvel, double vvel)`
    `IParticleOnSurface(ISurface srf, double upos, double vpos, double uvel, double vvel, IVec pos)`
    `IParticleOnSurface(ISurface srf, double upos, double vpos, IVec pos)`
    `IParticleOnSurface(ISurfaceI srf)`
    `IParticleOnSurface(ISurfaceI srf, double upos, double vpos)`
    `IParticleOnSurface(ISurfaceI srf, double upos, double vpos, double uvel, double vvel)`
    `IParticleOnSurface(ISurfaceI srf, double upos, double vpos, double uvel, double vvel, IVec pos)`
    `IParticleOnSurface(ISurfaceI srf, double upos, double vpos, IVec pos)`
    `IParticleOnSurface(ISurfaceI srf, IVec pos)`
    `IParticleOnSurface(ISurface srf, IVec pos)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IVec` | `acc()` get acceleration.
    `IVec` | `acceleration()` get acceleration.
    `IParticleOnSurface` | `add(double x, double y, double z)`
    `IParticleOnSurface` | `add(double f, IVecI v)` scale add
    `IParticleOnSurface` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IParticleOnSurface` | `add(IDoubleI f, IVecI v)` scale add
    `IParticleOnSurface` | `add(IVecI v)`
    `IParticleOnSurface` | `add(IVecI v, double f)` scale add
    `IParticleOnSurface` | `add(IVecI v, IDoubleI f)` scale add
    `IParticleOnSurface` | `addForce(double fx, double fy, double fz)` alias of push
    `IParticleOnSurface` | `addForce(IVecI f)` alias of push
    `IParticleOnSurface` | `addUVForce(double ufrc, double vfrc)`
    `ISurfaceI` | `baseSurface()`
    `IParticleOnSurface` | `clr(java.awt.Color c)`
    `IParticleOnSurface` | `clr(java.awt.Color c, double alpha)`
    `IParticleOnSurface` | `clr(java.awt.Color c, float alpha)`
    `IParticleOnSurface` | `clr(java.awt.Color c, int alpha)`
    `IParticleOnSurface` | `clr(double dgray)`
    `IParticleOnSurface` | `clr(double dgray, double dalpha)`
    `IParticleOnSurface` | `clr(double dr, double dg, double db)`
    `IParticleOnSurface` | `clr(double dr, double dg, double db, double da)`
    `IParticleOnSurface` | `clr(float fgray)`
    `IParticleOnSurface` | `clr(float fgray, float falpha)`
    `IParticleOnSurface` | `clr(float fr, float fg, float fb)`
    `IParticleOnSurface` | `clr(float fr, float fg, float fb, float fa)`
    `IParticleOnSurface` | `clr(IColor c)` to set an object color
    `IParticleOnSurface` | `clr(IColor c, double alpha)` to set color, with alpha value overwritten
    `IParticleOnSurface` | `clr(IColor c, float alpha)` to set color, with alpha value overwritten
    `IParticleOnSurface` | `clr(IColor c, int alpha)` to set color, with alpha value overwritten
    `IParticleOnSurface` | `clr(int gray)`
    `IParticleOnSurface` | `clr(int gray, int alpha)`
    `IParticleOnSurface` | `clr(int r, int g, int b)`
    `IParticleOnSurface` | `clr(int r, int g, int b, int a)`
    `IParticleOnSurface` | `clr(IObject o)` to set the same color with the object
    `IParticleOnSurface` | `cp()` alias of dup()
    `IParticleOnSurface` | `cp(double x, double y, double z)` cp() is alias of dup().add()
    `IParticleOnSurface` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
    `IParticleOnSurface` | `cp(IVecI v)` cp() is alias of dup().add()
    `double` | `decay()`
    `IParticleOnSurface` | `decay(double d)`
    `IParticleOnSurface` | `div(double v)`
    `IParticleOnSurface` | `div(IDoubleI v)`
    `IParticleOnSurface` | `dup()` duplicate object
    `IParticleOnSurface` | `fix()` IParticleI API
    `boolean` | `fixed()` check if it's fixed
    `IParticleOnSurface` | `fixU()`
    `IParticleOnSurface` | `fixV()`
    `IParticleOnSurface` | `flip()` alias of neg()
    `IVec` | `force()` get force
    `IParticleOnSurface` | `force(IVecI v)` set force
    `IVec` | `frc()` get force
    `IParticleOnSurface` | `frc(IVecI v)` set force
    `double` | `fric()` get friction
    `IParticleOnSurface` | `fric(double friction)` set friction
    `double` | `friction()` get friction
    `IParticleOnSurface` | `friction(double friction)` set friction
    `IParticleOnSurface` | `hide()`
    `IParticleOnSurface` | `hsb(double h, double s, double b)`
    `IParticleOnSurface` | `hsb(double h, double s, double b, double a)`
    `IParticleOnSurface` | `hsb(float h, float s, float b)`
    `IParticleOnSurface` | `hsb(float h, float s, float b, float a)`
    `void` | `initParticleOnSurfaceAgent(IParticleOnSurfaceGeo ptcl)`
    `void` | `initParticleOnSurfaceAgent(ISurfaceI srf, IVec pos, double upos, double vpos, double uvel, double vvel)`
    `void` | `initParticleOnSurfaceAgent(ISurface srf, IVec pos, double upos, double vpos, double uvel, double vvel)`
    `IParticleOnSurface` | `layer(ILayer l)` Set layer by ILayer object
    `IParticleOnSurface` | `len(double l)` setting length
    `IParticleOnSurface` | `len(IDoubleI l)` setting length
    `double` | `mass()` get mass
    `IParticleOnSurface` | `mass(double mass)` set mass
    `IParticleOnSurface` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
    `IParticleOnSurface` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
    `IParticleOnSurface` | `mirror(IVecI planeDir)` alias of ref
    `IParticleOnSurface` | `mirror(IVecI center, IVecI planeDir)` alias of ref
    `IParticleOnSurface` | `mul(double v)`
    `IParticleOnSurface` | `mul(IDoubleI v)`
    `IParticleOnSurface` | `mv(double x, double y, double z)` mv() is alias of add()
    `IParticleOnSurface` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
    `IParticleOnSurface` | `mv(IVecI v)` mv() is alias of add()
    `IParticleOnSurface` | `name(java.lang.String nm)` methods of IObject
    `IParticleOnSurface` | `neg()`
    `IVec` | `pos()` get position
    `IParticleOnSurface` | `pos(IVecI v)` set position
    `IVec` | `position()` get position
    `IParticleOnSurface` | `position(IVecI v)` set position
    `IParticleOnSurface` | `pull(double fx, double fy, double fz)` equivalent to push(f.dup().neg())
    `IParticleOnSurface` | `pull(IVecI f)` equivalent to push(f.dup().neg())
    `IParticleOnSurface` | `push(double fx, double fy, double fz)` adding force to particle
    `IParticleOnSurface` | `push(IVecI f)` adding force to particle
    `IParticleOnSurface` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IParticleOnSurface` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IParticleOnSurface` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IParticleOnSurface` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IParticleOnSurface` | `removeTarget(int i)` remove target object.
    `IParticleOnSurface` | `removeTarget(IObject obj)` remove target object.
    `IParticleOnSurface` | `reset()` setting force zero
    `IParticleOnSurface` | `resetForce()` alias of reset
    `IParticleOnSurface` | `resetUVForce()`
    `IParticleOnSurface` | `rev()` alias of neg()
    `IParticleOnSurface` | `rot(double angle)` rotation on XY plane
    `IParticleOnSurface` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
    `IParticleOnSurface` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
    `IParticleOnSurface` | `rot(IDoubleI angle)` rotation on XY plane
    `IParticleOnSurface` | `rot(IVecI axis, double angle)` rotation around axis vector
    `IParticleOnSurface` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
    `IParticleOnSurface` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
    `IParticleOnSurface` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
    `IParticleOnSurface` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center point
    `IParticleOnSurface` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
    `IParticleOnSurface` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
    `IParticleOnSurface` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
    `IParticleOnSurface` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
    `IParticleOnSurface` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
    `IParticleOnSurface` | `rot2(IVecI center, double angle)` rotation on xy-plane
    `IParticleOnSurface` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
    `IParticleOnSurface` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
    `IParticleOnSurface` | `scale(double f)` alias of mul
    `IParticleOnSurface` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
    `IParticleOnSurface` | `scale(IDoubleI f)` alias of mul
    `IParticleOnSurface` | `scale(IVecI center, double f)` scale from a center
    `IParticleOnSurface` | `scale(IVecI center, IDoubleI f)` scale from a center
    `IParticleOnSurface` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
    `IParticleOnSurface` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
    `IParticleOnSurface` | `scale1d(IVecI axis, double f)` scale only in 1 direction
    `IParticleOnSurface` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
    `IParticleOnSurface` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
    `IParticleOnSurface` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
    `IParticleOnSurface` | `set(double x, double y, double z)`
    `IParticleOnSurface` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IParticleOnSurface` | `set(IVecI v)`
    `IParticleOnSurface` | `setColor(java.awt.Color c)`
    `IParticleOnSurface` | `setColor(java.awt.Color c, double alpha)`
    `IParticleOnSurface` | `setColor(java.awt.Color c, float alpha)`
    `IParticleOnSurface` | `setColor(java.awt.Color c, int alpha)`
    `IParticleOnSurface` | `setColor(double dgray)`
    `IParticleOnSurface` | `setColor(double dgray, double dalpha)`
    `IParticleOnSurface` | `setColor(double dr, double dg, double db)`
    `IParticleOnSurface` | `setColor(double dr, double dg, double db, double da)`
    `IParticleOnSurface` | `setColor(float fgray)`
    `IParticleOnSurface` | `setColor(float fgray, float falpha)`
    `IParticleOnSurface` | `setColor(float fr, float fg, float fb)`
    `IParticleOnSurface` | `setColor(float fr, float fg, float fb, float fa)`
    `IParticleOnSurface` | `setColor(IColor c)`
    `IParticleOnSurface` | `setColor(IColor c, double alpha)`
    `IParticleOnSurface` | `setColor(IColor c, float alpha)`
    `IParticleOnSurface` | `setColor(IColor c, int alpha)`
    `IParticleOnSurface` | `setColor(int gray)`
    `IParticleOnSurface` | `setColor(int gray, int alpha)`
    `IParticleOnSurface` | `setColor(int r, int g, int b)`
    `IParticleOnSurface` | `setColor(int r, int g, int b, int a)`
    `IParticleOnSurface` | `setHSBColor(double h, double s, double b)`
    `IParticleOnSurface` | `setHSBColor(double h, double s, double b, double a)`
    `IParticleOnSurface` | `setHSBColor(float h, float s, float b)`
    `IParticleOnSurface` | `setHSBColor(float h, float s, float b, float a)`
    `IParticleOnSurface` | `setSize(double sz)` methods of IPoint
    `IParticleOnSurface` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `IParticleOnSurface` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
    `IParticleOnSurface` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `IParticleOnSurface` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
    `IParticleOnSurface` | `shearXY(double sxy, double syx)` shear operation on XY
    `IParticleOnSurface` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
    `IParticleOnSurface` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
    `IParticleOnSurface` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
    `IParticleOnSurface` | `shearYZ(double syz, double szy)` shear operation on YZ
    `IParticleOnSurface` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
    `IParticleOnSurface` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
    `IParticleOnSurface` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
    `IParticleOnSurface` | `shearZX(double szx, double sxz)` shear operation on ZX
    `IParticleOnSurface` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
    `IParticleOnSurface` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
    `IParticleOnSurface` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
    `IParticleOnSurface` | `show()`
    `IParticleOnSurface` | `size(double sz)`
    `boolean` | `skipUpdateOnce()` for other agent to control particle
    `IParticleOnSurface` | `skipUpdateOnce(boolean f)` for other agent to control particle
    `IParticleOnSurface` | `sub(double x, double y, double z)`
    `IParticleOnSurface` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IParticleOnSurface` | `sub(IVecI v)`
    `IObject` | `target(int i)` get target object.
    `IParticleOnSurface` | `target(IObject targetObj)` add terget object to be updated by this dynamic object.
    `int` | `targetNum()` get total target number.
    `java.util.ArrayList<IObject>` | `targets()` get all target objects.
    `IParticleOnSurface` | `transform(IMatrix3I mat)` transform with a transformation matrix
    `IParticleOnSurface` | `transform(IMatrix4I mat)` transform with a transformation matrix
    `IParticleOnSurface` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
    `IParticleOnSurface` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
    `IParticleOnSurface` | `translate(double x, double y, double z)` alias of add()
    `IParticleOnSurface` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
    `IParticleOnSurface` | `translate(IVecI v)` alias of add()
    `boolean` | `uFixed()`
    `IParticleOnSurface` | `unfix()` unfix movement
    `IParticleOnSurface` | `unfixU()`
    `IParticleOnSurface` | `unfixV()`
    `IParticleOnSurface` | `unit()` unitize
    `void` | `updateTarget()` update all terget objects (should be called when the dynamic object is updated).
    `IVec2` | `uv()`
    `IParticleOnSurface` | `uv(double u, double v)`
    `IVec2` | `uvfrc()`
    `IParticleOnSurface` | `uvfrc(double ufrc, double vfrc)`
    `IParticleOnSurface` | `uvpull(double ufrc, double vfrc)`
    `IParticleOnSurface` | `uvpush(double ufrc, double vfrc)`
    `IParticleOnSurface` | `uvreset()`
    `IVec2` | `uvvel()`
    `IParticleOnSurface` | `uvvel(double uvel, double vvel)`
    `IVec` | `vel()` get velocity
    `IParticleOnSurface` | `vel(IVecI v)` set velocity
    `IVec` | `velocity()` get velocity
    `IParticleOnSurface` | `velocity(IVecI v)` set velocity
    `boolean` | `vFixed()`
    `IParticleOnSurface` | `weight(double w)`
    `IParticleOnSurface` | `weight(float w)`
    `IParticleOnSurface` | `x(double vx)` methods of IVecI
    `IParticleOnSurface` | `x(IDoubleI vx)` setting x component
    `IParticleOnSurface` | `x(IVec2I vx)` setting x component by x component of input vector
    `IParticleOnSurface` | `x(IVecI vx)` setting x component by x component of input vector
    `IParticleOnSurface` | `y(double vy)` setting y component
    `IParticleOnSurface` | `y(IDoubleI vy)` setting y component
    `IParticleOnSurface` | `y(IVec2I vy)` setting y component by y component of input vector
    `IParticleOnSurface` | `y(IVecI vy)` setting y component by y component of input vector
    `IParticleOnSurface` | `z(double vz)` setting z component
    `IParticleOnSurface` | `z(IDoubleI vz)` setting z component
    `IParticleOnSurface` | `z(IVecI vz)` setting z component by z component of input vector
    `IParticleOnSurface` | `zero()` setting all zero

    - ### Methods inherited from class igeo.IPointAgent

      `angle, angle, angle, angle, angle, angle, angle, angle, attach, attach, bisect, bisect, brep, brep, brepNum, breps, cross, cross, curve, curve, curveNum, curves, del, del, dif, dif, diff, diff, dist, dist, dist, dist, dist2, dist2, dist2, dist2, dot, dot, dot, dot, 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, geometries, geometry, geometry, geometryNum, get, getSize, getX, getY, getZ, hideGeometry, hidePoint, isValid, len, len, len, len2, len2, len2, mesh, mesh, meshes, meshNum, mid, mid, nml, nml, nml, nml, point, point, pointNum, points, showGeometry, showPoint, size, sum, sum, sum, sum, sum, sum, sum, surface, surface, surfaceNum, surfaces, to2d, to2d, to2d, to2d, to4d, to4d, to4d, toString, x, x, x, y, y, y, z, z, z`

    - ### Methods inherited from class igeo.IAgent

      `addDynamics, alive, deletDynamics, deleteDynamics, deleteDynamics, duration, duration, dynamicsNum, getDynamics, initAgent, interact, interact, localDynamics, parent, parent, postinteract, postupdate, preinteract, preupdate, time, time, update, updateGraphic`

    - ### Methods inherited from class igeo.IObject

      `addUserData, addUserData, alpha, alphaInt, attr, attr, attr, awtColor, blue, blueInt, brightness, castStringHashMap, clearDynamics, clearGraphics, clr, createGraphic, defaultAttribute, deleteGraphic, getAWTColor, getColor, getGraphic, getGraphic, getParameter, graphicsNum, gray, grayInt, green, greenInt, grey, greyInt, hue, initGraphic, initObject, isVisible, layer, layer, name, red, redInt, resetGraphic, saturation, server, setParameter, setTexture, syncColor, syncGraphic, syncVisibility, syncWeight, texture, userData, userData, userData, userDataNum, visible, weight`

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

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

    - ### Methods inherited from interface igeo.IParticleOnSurfaceI

      `surface`

    - ### Methods inherited from interface igeo.IVecI

      `angle, angle, angle, angle, angle, angle, angle, angle, bisect, bisect, cross, cross, dif, dif, diff, diff, dist, dist, dist, dist, dist2, dist2, dist2, dist2, dot, dot, dot, dot, 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, get, getX, getY, getZ, isValid, len, len, len, len2, len2, len2, mid, mid, nml, nml, nml, nml, sum, sum, sum, sum, sum, sum, sum, to2d, to2d, to2d, to2d, to4d, to4d, to4d, x, x, x, y, y, y, z, z, z`

- - ### Field Detail

    - #### particle

          public IParticleOnSurfaceGeo particle

    - #### vel

          public IVec vel

      only to refer to particle.vel and particle.frc

    - #### frc

          public IVec frc

      only to refer to particle.vel and particle.frc

  - ### Constructor Detail

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf,
                                    double upos,
                                    double vpos,
                                    double uvel,
                                    double vvel)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf,
                                    double upos,
                                    double vpos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf,
                                    double upos,
                                    double vpos,
                                    double uvel,
                                    double vvel,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf,
                                    double upos,
                                    double vpos,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurfaceI srf,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf,
                                    double upos,
                                    double vpos,
                                    double uvel,
                                    double vvel)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf,
                                    double upos,
                                    double vpos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf,
                                    double upos,
                                    double vpos,
                                    double uvel,
                                    double vvel,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf,
                                    double upos,
                                    double vpos,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(ISurface srf,
                                    IVec pos)

    - #### IParticleOnSurface

          public IParticleOnSurface(IParticleOnSurfaceGeo p)

    - #### IParticleOnSurface

          public IParticleOnSurface(IParticleOnSurface p)

  - ### Method Detail

    - #### initParticleOnSurfaceAgent

          public void initParticleOnSurfaceAgent(ISurfaceI srf,
                                                 IVec pos,
                                                 double upos,
                                                 double vpos,
                                                 double uvel,
                                                 double vvel)

    - #### initParticleOnSurfaceAgent

          public void initParticleOnSurfaceAgent(ISurface srf,
                                                 IVec pos,
                                                 double upos,
                                                 double vpos,
                                                 double uvel,
                                                 double vvel)

    - #### initParticleOnSurfaceAgent

          public void initParticleOnSurfaceAgent(IParticleOnSurfaceGeo ptcl)

    - #### fix

          public IParticleOnSurface fix()

      IParticleI API
      Specified by:
        `fix` in interface `IParticleI`

    - #### unfix

          public IParticleOnSurface unfix()

      Description copied from interface: `IParticleI`
      unfix movement
      Specified by:
        `unfix` in interface `IParticleI`

    - #### skipUpdateOnce

          public IParticleOnSurface skipUpdateOnce(boolean f)

      Description copied from interface: `IParticleI`
      for other agent to control particle
      Specified by:
        `skipUpdateOnce` in interface `IParticleI`

    - #### skipUpdateOnce

          public boolean skipUpdateOnce()

      Description copied from interface: `IParticleI`
      for other agent to control particle
      Specified by:
        `skipUpdateOnce` in interface `IParticleI`

    - #### fixed

          public boolean fixed()

      Description copied from interface: `IParticleI`
      check if it's fixed
      Specified by:
        `fixed` in interface `IParticleI`

    - #### mass

          public double mass()

      Description copied from interface: `IParticleI`
      get mass
      Specified by:
        `mass` in interface `IParticleI`

    - #### mass

          public IParticleOnSurface mass(double mass)

      Description copied from interface: `IParticleI`
      set mass
      Specified by:
        `mass` in interface `IParticleI`

    - #### position

          public IVec position()

      Description copied from interface: `IParticleI`
      get position
      Specified by:
        `position` in interface `IParticleI`
      Overrides:
        `position` in class `IPointAgent`

    - #### position

          public IParticleOnSurface position(IVecI v)

      Description copied from interface: `IParticleI`
      set position
      Specified by:
        `position` in interface `IParticleI`
      Overrides:
        `position` in class `IPointAgent`

    - #### pos

          public IVec pos()

      Description copied from interface: `IParticleI`
      get position
      Specified by:
        `pos` in interface `IParticleI`
      Overrides:
        `pos` in class `IPointAgent`

    - #### pos

          public IParticleOnSurface pos(IVecI v)

      Description copied from interface: `IParticleI`
      set position
      Specified by:
        `pos` in interface `IParticleI`
      Overrides:
        `pos` in class `IPointAgent`

    - #### velocity

          public IVec velocity()

      Description copied from interface: `IParticleI`
      get velocity
      Specified by:
        `velocity` in interface `IParticleI`

    - #### velocity

          public IParticleOnSurface velocity(IVecI v)

      Description copied from interface: `IParticleI`
      set velocity
      Specified by:
        `velocity` in interface `IParticleI`

    - #### vel

          public IVec vel()

      Description copied from interface: `IParticleI`
      get velocity
      Specified by:
        `vel` in interface `IParticleI`

    - #### vel

          public IParticleOnSurface vel(IVecI v)

      Description copied from interface: `IParticleI`
      set velocity
      Specified by:
        `vel` in interface `IParticleI`

    - #### acceleration

          public IVec acceleration()

      Description copied from interface: `IParticleI`
      get acceleration. no method to set acceleration. set force instead
      Specified by:
        `acceleration` in interface `IParticleI`

    - #### acc

          public IVec acc()

      Description copied from interface: `IParticleI`
      get acceleration. no method to set acceleration. set force instead
      Specified by:
        `acc` in interface `IParticleI`

    - #### force

          public IVec force()

      Description copied from interface: `IParticleI`
      get force
      Specified by:
        `force` in interface `IParticleI`

    - #### force

          public IParticleOnSurface force(IVecI v)

      Description copied from interface: `IParticleI`
      set force
      Specified by:
        `force` in interface `IParticleI`

    - #### frc

          public IVec frc()

      Description copied from interface: `IParticleI`
      get force
      Specified by:
        `frc` in interface `IParticleI`

    - #### frc

          public IParticleOnSurface frc(IVecI v)

      Description copied from interface: `IParticleI`
      set force
      Specified by:
        `frc` in interface `IParticleI`

    - #### friction

          public double friction()

      Description copied from interface: `IParticleI`
      get friction
      Specified by:
        `friction` in interface `IParticleI`

    - #### friction

          public IParticleOnSurface friction(double friction)

      Description copied from interface: `IParticleI`
      set friction
      Specified by:
        `friction` in interface `IParticleI`

    - #### fric

          public double fric()

      Description copied from interface: `IParticleI`
      get friction
      Specified by:
        `fric` in interface `IParticleI`

    - #### fric

          public IParticleOnSurface fric(double friction)

      Description copied from interface: `IParticleI`
      set friction
      Specified by:
        `fric` in interface `IParticleI`

    - #### decay

          public double decay()

      Specified by:
        `decay` in interface `IParticleI`

    - #### decay

          public IParticleOnSurface decay(double d)

      Specified by:
        `decay` in interface `IParticleI`

    - #### push

          public IParticleOnSurface push(IVecI f)

      Description copied from interface: `IParticleI`
      adding force to particle
      Specified by:
        `push` in interface `IParticleI`

    - #### push

          public IParticleOnSurface push(double fx,
                                         double fy,
                                         double fz)

      Description copied from interface: `IParticleI`
      adding force to particle
      Specified by:
        `push` in interface `IParticleI`

    - #### pull

          public IParticleOnSurface pull(IVecI f)

      Description copied from interface: `IParticleI`
      equivalent to push(f.dup().neg())
      Specified by:
        `pull` in interface `IParticleI`

    - #### pull

          public IParticleOnSurface pull(double fx,
                                         double fy,
                                         double fz)

      Description copied from interface: `IParticleI`
      equivalent to push(f.dup().neg())
      Specified by:
        `pull` in interface `IParticleI`

    - #### addForce

          public IParticleOnSurface addForce(IVecI f)

      Description copied from interface: `IParticleI`
      alias of push
      Specified by:
        `addForce` in interface `IParticleI`

    - #### addForce

          public IParticleOnSurface addForce(double fx,
                                             double fy,
                                             double fz)

      Description copied from interface: `IParticleI`
      alias of push
      Specified by:
        `addForce` in interface `IParticleI`

    - #### reset

          public IParticleOnSurface reset()

      Description copied from interface: `IParticleI`
      setting force zero
      Specified by:
        `reset` in interface `IParticleI`

    - #### resetForce

          public IParticleOnSurface resetForce()

      Description copied from interface: `IParticleI`
      alias of reset
      Specified by:
        `resetForce` in interface `IParticleI`

    - #### baseSurface

          public ISurfaceI baseSurface()

    - #### uv

          public IParticleOnSurface uv(double u,
                                       double v)

      Specified by:
        `uv` in interface `IParticleOnSurfaceI`

    - #### uv

          public IVec2 uv()

      Specified by:
        `uv` in interface `IParticleOnSurfaceI`

    - #### uvvel

          public IParticleOnSurface uvvel(double uvel,
                                          double vvel)

      Specified by:
        `uvvel` in interface `IParticleOnSurfaceI`

    - #### uvvel

          public IVec2 uvvel()

      Specified by:
        `uvvel` in interface `IParticleOnSurfaceI`

    - #### uvfrc

          public IParticleOnSurface uvfrc(double ufrc,
                                          double vfrc)

      Specified by:
        `uvfrc` in interface `IParticleOnSurfaceI`

    - #### uvfrc

          public IVec2 uvfrc()

      Specified by:
        `uvfrc` in interface `IParticleOnSurfaceI`

    - #### addUVForce

          public IParticleOnSurface addUVForce(double ufrc,
                                               double vfrc)

      Specified by:
        `addUVForce` in interface `IParticleOnSurfaceI`

    - #### resetUVForce

          public IParticleOnSurface resetUVForce()

      Specified by:
        `resetUVForce` in interface `IParticleOnSurfaceI`

    - #### uvpush

          public IParticleOnSurface uvpush(double ufrc,
                                           double vfrc)

      Specified by:
        `uvpush` in interface `IParticleOnSurfaceI`

    - #### uvpull

          public IParticleOnSurface uvpull(double ufrc,
                                           double vfrc)

      Specified by:
        `uvpull` in interface `IParticleOnSurfaceI`

    - #### uvreset

          public IParticleOnSurface uvreset()

      Specified by:
        `uvreset` in interface `IParticleOnSurfaceI`

    - #### fixU

          public IParticleOnSurface fixU()

      Specified by:
        `fixU` in interface `IParticleOnSurfaceI`

    - #### fixV

          public IParticleOnSurface fixV()

      Specified by:
        `fixV` in interface `IParticleOnSurfaceI`

    - #### unfixU

          public IParticleOnSurface unfixU()

      Specified by:
        `unfixU` in interface `IParticleOnSurfaceI`

    - #### unfixV

          public IParticleOnSurface unfixV()

      Specified by:
        `unfixV` in interface `IParticleOnSurfaceI`

    - #### uFixed

          public boolean uFixed()

      Specified by:
        `uFixed` in interface `IParticleOnSurfaceI`

    - #### vFixed

          public boolean vFixed()

      Specified by:
        `vFixed` in interface `IParticleOnSurfaceI`

    - #### target

          public IParticleOnSurface target(IObject targetObj)

      add terget object to be updated by this dynamic object.
      Specified by:
        `target` in interface `IDynamics`
      Specified by:
        `target` in interface `IParticleI`
      Overrides:
        `target` in class `IAgent`

    - #### targetNum

          public int targetNum()

      get total target number.
      Specified by:
        `targetNum` in interface `IDynamics`
      Specified by:
        `targetNum` in interface `IParticleI`
      Overrides:
        `targetNum` in class `IAgent`

    - #### target

          public IObject target(int i)

      get target object.
      Specified by:
        `target` in interface `IDynamics`
      Specified by:
        `target` in interface `IParticleI`
      Overrides:
        `target` in class `IAgent`

    - #### targets

          public java.util.ArrayList<IObject> targets()

      get all target objects.
      Specified by:
        `targets` in interface `IDynamics`
      Specified by:
        `targets` in interface `IParticleI`
      Overrides:
        `targets` in class `IAgent`

    - #### removeTarget

          public IParticleOnSurface removeTarget(int i)

      Description copied from class: `IAgent`
      remove target object.
      Specified by:
        `removeTarget` in interface `IDynamics`
      Specified by:
        `removeTarget` in interface `IParticleI`
      Overrides:
        `removeTarget` in class `IAgent`

    - #### removeTarget

          public IParticleOnSurface removeTarget(IObject obj)

      remove target object.
      Specified by:
        `removeTarget` in interface `IDynamics`
      Specified by:
        `removeTarget` in interface `IParticleI`
      Overrides:
        `removeTarget` in class `IAgent`

    - #### updateTarget

          public void updateTarget()

      update all terget objects (should be called when the dynamic object is updated).
      Specified by:
        `updateTarget` in interface `IDynamics`
      Specified by:
        `updateTarget` in interface `IParticleI`
      Overrides:
        `updateTarget` in class `IAgent`

    - #### x

          public IParticleOnSurface x(double vx)

      methods of IVecI
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IPointAgent`

    - #### y

          public IParticleOnSurface y(double vy)

      Description copied from interface: `IVecI`
      setting y component
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IPointAgent`

    - #### z

          public IParticleOnSurface z(double vz)

      Description copied from interface: `IVecI`
      setting z component
      Specified by:
        `z` in interface `IVecI`
      Overrides:
        `z` in class `IPointAgent`

    - #### x

          public IParticleOnSurface x(IDoubleI vx)

      Description copied from interface: `IVecI`
      setting x component
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IPointAgent`

    - #### y

          public IParticleOnSurface y(IDoubleI vy)

      Description copied from interface: `IVecI`
      setting y component
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IPointAgent`

    - #### z

          public IParticleOnSurface z(IDoubleI vz)

      Description copied from interface: `IVecI`
      setting z component
      Specified by:
        `z` in interface `IVecI`
      Overrides:
        `z` in class `IPointAgent`

    - #### x

          public IParticleOnSurface x(IVecI vx)

      Description copied from class: `IPointAgent`
      setting x component by x component of input vector
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IPointAgent`

    - #### y

          public IParticleOnSurface y(IVecI vy)

      Description copied from class: `IPointAgent`
      setting y component by y component of input vector
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IPointAgent`

    - #### z

          public IParticleOnSurface z(IVecI vz)

      Description copied from class: `IPointAgent`
      setting z component by z component of input vector
      Specified by:
        `z` in interface `IVecI`
      Overrides:
        `z` in class `IPointAgent`

    - #### x

          public IParticleOnSurface x(IVec2I vx)

      Description copied from class: `IPointAgent`
      setting x component by x component of input vector
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IPointAgent`

    - #### y

          public IParticleOnSurface y(IVec2I vy)

      Description copied from class: `IPointAgent`
      setting y component by y component of input vector
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IPointAgent`

    - #### dup

          public IParticleOnSurface dup()

      Description copied from class: `IObject`
      duplicate object
      Specified by:
        `dup` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `dup` in interface `ITransformable`
      Specified by:
        `dup` in interface `IVecI`
      Overrides:
        `dup` in class `IPointAgent`

    - #### set

          public IParticleOnSurface set(IVecI v)

      Specified by:
        `set` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `set` in interface `IVecI`
      Overrides:
        `set` in class `IPointAgent`

    - #### set

          public IParticleOnSurface set(double x,
                                        double y,
                                        double z)

      Specified by:
        `set` in interface `IVecI`
      Overrides:
        `set` in class `IPointAgent`

    - #### set

          public IParticleOnSurface set(IDoubleI x,
                                        IDoubleI y,
                                        IDoubleI z)

      Specified by:
        `set` in interface `IVecI`
      Overrides:
        `set` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(double x,
                                        double y,
                                        double z)

      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(IDoubleI x,
                                        IDoubleI y,
                                        IDoubleI z)

      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(IVecI v)

      Specified by:
        `add` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### sub

          public IParticleOnSurface sub(double x,
                                        double y,
                                        double z)

      Specified by:
        `sub` in interface `ITransformable`
      Specified by:
        `sub` in interface `IVecI`
      Overrides:
        `sub` in class `IPointAgent`

    - #### sub

          public IParticleOnSurface sub(IDoubleI x,
                                        IDoubleI y,
                                        IDoubleI z)

      Specified by:
        `sub` in interface `ITransformable`
      Specified by:
        `sub` in interface `IVecI`
      Overrides:
        `sub` in class `IPointAgent`

    - #### sub

          public IParticleOnSurface sub(IVecI v)

      Specified by:
        `sub` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `sub` in interface `ITransformable`
      Specified by:
        `sub` in interface `IVecI`
      Overrides:
        `sub` in class `IPointAgent`

    - #### mul

          public IParticleOnSurface mul(IDoubleI v)

      Specified by:
        `mul` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `mul` in interface `ITransformable`
      Specified by:
        `mul` in interface `IVecI`
      Overrides:
        `mul` in class `IPointAgent`

    - #### mul

          public IParticleOnSurface mul(double v)

      Specified by:
        `mul` in interface `ITransformable`
      Specified by:
        `mul` in interface `IVecI`
      Overrides:
        `mul` in class `IPointAgent`

    - #### div

          public IParticleOnSurface div(IDoubleI v)

      Specified by:
        `div` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `div` in interface `ITransformable`
      Specified by:
        `div` in interface `IVecI`
      Overrides:
        `div` in class `IPointAgent`

    - #### div

          public IParticleOnSurface div(double v)

      Specified by:
        `div` in interface `ITransformable`
      Specified by:
        `div` in interface `IVecI`
      Overrides:
        `div` in class `IPointAgent`

    - #### neg

          public IParticleOnSurface neg()

      Specified by:
        `neg` in interface `ITransformable`
      Specified by:
        `neg` in interface `IVecI`
      Overrides:
        `neg` in class `IPointAgent`

    - #### rev

          public IParticleOnSurface rev()

      Description copied from interface: `IVecI`
      alias of neg()
      Specified by:
        `rev` in interface `IVecI`
      Overrides:
        `rev` in class `IPointAgent`

    - #### flip

          public IParticleOnSurface flip()

      Description copied from interface: `IVecI`
      alias of neg()
      Specified by:
        `flip` in interface `ITransformable`
      Specified by:
        `flip` in interface `IVecI`
      Overrides:
        `flip` in class `IPointAgent`

    - #### zero

          public IParticleOnSurface zero()

      Description copied from interface: `IVecI`
      setting all zero
      Specified by:
        `zero` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `zero` in interface `IVecI`
      Overrides:
        `zero` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(IVecI v,
                                        double f)

      Description copied from interface: `IVecI`
      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(IVecI v,
                                        IDoubleI f)

      Description copied from interface: `IVecI`
      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(double f,
                                        IVecI v)

      Description copied from interface: `IVecI`
      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### add

          public IParticleOnSurface add(IDoubleI f,
                                        IVecI v)

      Description copied from interface: `IVecI`
      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVecI`
      Overrides:
        `add` in class `IPointAgent`

    - #### len

          public IParticleOnSurface len(IDoubleI l)

      Description copied from interface: `IVecI`
      setting length
      Specified by:
        `len` in interface `IVecI`
      Overrides:
        `len` in class `IPointAgent`

    - #### len

          public IParticleOnSurface len(double l)

      Description copied from interface: `IVecI`
      setting length
      Specified by:
        `len` in interface `IVecI`
      Overrides:
        `len` in class `IPointAgent`

    - #### unit

          public IParticleOnSurface unit()

      Description copied from interface: `IVecI`
      unitize
      Specified by:
        `unit` in interface `IVecI`
      Overrides:
        `unit` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IDoubleI angle)

      Description copied from interface: `IVecI`
      rotation on XY plane
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(double angle)

      Description copied from interface: `IVecI`
      rotation on XY plane
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI axis,
                                        IDoubleI angle)

      Description copied from interface: `IVecI`
      rotation around axis vector
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI axis,
                                        double angle)

      Description copied from interface: `IVecI`
      rotation around axis vector
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(double axisX,
                                        double axisY,
                                        double axisZ,
                                        double angle)

      Description copied from interface: `IVecI`
      rotation around axis vector
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI center,
                                        IVecI axis,
                                        double angle)

      Description copied from interface: `IVecI`
      rotation around axis vector and center point
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI center,
                                        IVecI axis,
                                        IDoubleI angle)

      Description copied from interface: `IVecI`
      rotation around axis vector and center point
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(double centerX,
                                        double centerY,
                                        double centerZ,
                                        double axisX,
                                        double axisY,
                                        double axisZ,
                                        double angle)

      Description copied from interface: `IVecI`
      rotation around axis vector and center point
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI axis,
                                        IVecI destDir)

      Description copied from interface: `IVecI`
      rotate to destination direction vector
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot

          public IParticleOnSurface rot(IVecI center,
                                        IVecI axis,
                                        IVecI destPt)

      Description copied from interface: `IVecI`
      rotate to destination point location
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVecI`
      Overrides:
        `rot` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(IDoubleI angle)

      Description copied from interface: `IVecI`
      rotation on xy-plane; alias of rot(IDoubleI)
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(double angle)

      Description copied from interface: `IVecI`
      rotation on xy-plane; alias of rot(double)
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(IVecI center,
                                         double angle)

      Description copied from interface: `IVecI`
      rotation on xy-plane
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(IVecI center,
                                         IDoubleI angle)

      Description copied from interface: `IVecI`
      rotation on xy-plane
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(double centerX,
                                         double centerY,
                                         double angle)

      Description copied from interface: `IVecI`
      rotation on xy-plane
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(IVecI destDir)

      Description copied from interface: `IVecI`
      rotation on xy-plane towards destDir
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### rot2

          public IParticleOnSurface rot2(IVecI center,
                                         IVecI destPt)

      Description copied from interface: `IVecI`
      rotation on xy-plane towards destPt
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IPointAgent`

    - #### scale

          public IParticleOnSurface scale(IDoubleI f)

      Description copied from interface: `IVecI`
      alias of mul
      Specified by:
        `scale` in interface `ITransformable`
      Specified by:
        `scale` in interface `IVecI`
      Overrides:
        `scale` in class `IPointAgent`

    - #### scale

          public IParticleOnSurface scale(double f)

      Description copied from interface: `IVecI`
      alias of mul
      Specified by:
        `scale` in interface `ITransformable`
      Specified by:
        `scale` in interface `IVecI`
      Overrides:
        `scale` in class `IPointAgent`

    - #### scale

          public IParticleOnSurface scale(IVecI center,
                                          IDoubleI f)

      Description copied from interface: `IVecI`
      scale from a center
      Specified by:
        `scale` in interface `ITransformable`
      Specified by:
        `scale` in interface `IVecI`
      Overrides:
        `scale` in class `IPointAgent`

    - #### scale

          public IParticleOnSurface scale(IVecI center,
                                          double f)

      Description copied from interface: `IVecI`
      scale from a center
      Specified by:
        `scale` in interface `ITransformable`
      Specified by:
        `scale` in interface `IVecI`
      Overrides:
        `scale` in class `IPointAgent`

    - #### scale

          public IParticleOnSurface scale(double centerX,
                                          double centerY,
                                          double centerZ,
                                          double f)

      Description copied from interface: `IVecI`
      scale from a center
      Specified by:
        `scale` in interface `IVecI`
      Overrides:
        `scale` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(IVecI axis,
                                            double f)

      scale only in 1 direction
      Specified by:
        `scale1d` in interface `ITransformable`
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(IVecI axis,
                                            IDoubleI f)

      Description copied from interface: `IVecI`
      scale only in 1 direction
      Specified by:
        `scale1d` in interface `ITransformable`
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(double axisX,
                                            double axisY,
                                            double axisZ,
                                            double f)

      Description copied from interface: `IVecI`
      scale only in 1 direction
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(IVecI center,
                                            IVecI axis,
                                            double f)

      Description copied from interface: `IVecI`
      scale only in 1 direction from a center
      Specified by:
        `scale1d` in interface `ITransformable`
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(IVecI center,
                                            IVecI axis,
                                            IDoubleI f)

      Description copied from interface: `IVecI`
      scale only in 1 direction from a center
      Specified by:
        `scale1d` in interface `ITransformable`
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### scale1d

          public IParticleOnSurface scale1d(double centerX,
                                            double centerY,
                                            double centerZ,
                                            double axisX,
                                            double axisY,
                                            double axisZ,
                                            double f)

      Description copied from interface: `IVecI`
      scale only in 1 direction from a center
      Specified by:
        `scale1d` in interface `IVecI`
      Overrides:
        `scale1d` in class `IPointAgent`

    - #### ref

          public IParticleOnSurface ref(IVecI planeDir)

      Description copied from interface: `IVecI`
      reflect(mirror) 3 dimensionally to the other side of the plane
      Specified by:
        `ref` in interface `ITransformable`
      Specified by:
        `ref` in interface `IVecI`
      Overrides:
        `ref` in class `IPointAgent`

    - #### ref

          public IParticleOnSurface ref(double planeX,
                                        double planeY,
                                        double planeZ)

      Description copied from interface: `IVecI`
      reflect(mirror) 3 dimensionally to the other side of the plane
      Specified by:
        `ref` in interface `IVecI`
      Overrides:
        `ref` in class `IPointAgent`

    - #### ref

          public IParticleOnSurface ref(IVecI center,
                                        IVecI planeDir)

      Description copied from interface: `IVecI`
      reflect(mirror) 3 dimensionally to the other side of the plane
      Specified by:
        `ref` in interface `ITransformable`
      Specified by:
        `ref` in interface `IVecI`
      Overrides:
        `ref` in class `IPointAgent`

    - #### ref

          public IParticleOnSurface ref(double centerX,
                                        double centerY,
                                        double centerZ,
                                        double planeX,
                                        double planeY,
                                        double planeZ)

      Description copied from interface: `IVecI`
      reflect(mirror) 3 dimensionally to the other side of the plane
      Specified by:
        `ref` in interface `IVecI`
      Overrides:
        `ref` in class `IPointAgent`

    - #### mirror

          public IParticleOnSurface mirror(IVecI planeDir)

      Description copied from interface: `IVecI`
      alias of ref
      Specified by:
        `mirror` in interface `ITransformable`
      Specified by:
        `mirror` in interface `IVecI`
      Overrides:
        `mirror` in class `IPointAgent`

    - #### mirror

          public IParticleOnSurface mirror(double planeX,
                                           double planeY,
                                           double planeZ)

      Description copied from interface: `IVecI`
      alias of ref
      Specified by:
        `mirror` in interface `IVecI`
      Overrides:
        `mirror` in class `IPointAgent`

    - #### mirror

          public IParticleOnSurface mirror(IVecI center,
                                           IVecI planeDir)

      Description copied from interface: `IVecI`
      alias of ref
      Specified by:
        `mirror` in interface `ITransformable`
      Specified by:
        `mirror` in interface `IVecI`
      Overrides:
        `mirror` in class `IPointAgent`

    - #### mirror

          public IParticleOnSurface mirror(double centerX,
                                           double centerY,
                                           double centerZ,
                                           double planeX,
                                           double planeY,
                                           double planeZ)

      Description copied from interface: `IVecI`
      alias of ref
      Specified by:
        `mirror` in interface `IVecI`
      Overrides:
        `mirror` in class `IPointAgent`

    - #### shear

          public IParticleOnSurface shear(double sxy,
                                          double syx,
                                          double syz,
                                          double szy,
                                          double szx,
                                          double sxz)

      Description copied from interface: `IVecI`
      shear operation
      Specified by:
        `shear` in interface `ITransformable`
      Specified by:
        `shear` in interface `IVecI`
      Overrides:
        `shear` in class `IPointAgent`

    - #### shear

          public IParticleOnSurface shear(IDoubleI sxy,
                                          IDoubleI syx,
                                          IDoubleI syz,
                                          IDoubleI szy,
                                          IDoubleI szx,
                                          IDoubleI sxz)

      Description copied from interface: `IVecI`
      shear operation
      Specified by:
        `shear` in interface `ITransformable`
      Specified by:
        `shear` in interface `IVecI`
      Overrides:
        `shear` in class `IPointAgent`

    - #### shear

          public IParticleOnSurface shear(IVecI center,
                                          double sxy,
                                          double syx,
                                          double syz,
                                          double szy,
                                          double szx,
                                          double sxz)

      Description copied from interface: `IVecI`
      shear operation
      Specified by:
        `shear` in interface `ITransformable`
      Specified by:
        `shear` in interface `IVecI`
      Overrides:
        `shear` in class `IPointAgent`

    - #### shear

          public IParticleOnSurface shear(IVecI center,
                                          IDoubleI sxy,
                                          IDoubleI syx,
                                          IDoubleI syz,
                                          IDoubleI szy,
                                          IDoubleI szx,
                                          IDoubleI sxz)

      Description copied from interface: `IVecI`
      shear operation
      Specified by:
        `shear` in interface `ITransformable`
      Specified by:
        `shear` in interface `IVecI`
      Overrides:
        `shear` in class `IPointAgent`

    - #### shearXY

          public IParticleOnSurface shearXY(double sxy,
                                            double syx)

      Description copied from interface: `IVecI`
      shear operation on XY
      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVecI`
      Overrides:
        `shearXY` in class `IPointAgent`

    - #### shearXY

          public IParticleOnSurface shearXY(IDoubleI sxy,
                                            IDoubleI syx)

      Description copied from interface: `IVecI`
      shear operation on XY
      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVecI`
      Overrides:
        `shearXY` in class `IPointAgent`

    - #### shearXY

          public IParticleOnSurface shearXY(IVecI center,
                                            double sxy,
                                            double syx)

      Description copied from interface: `IVecI`
      shear operation on XY
      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVecI`
      Overrides:
        `shearXY` in class `IPointAgent`

    - #### shearXY

          public IParticleOnSurface shearXY(IVecI center,
                                            IDoubleI sxy,
                                            IDoubleI syx)

      Description copied from interface: `IVecI`
      shear operation on XY
      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVecI`
      Overrides:
        `shearXY` in class `IPointAgent`

    - #### shearYZ

          public IParticleOnSurface shearYZ(double syz,
                                            double szy)

      Description copied from interface: `IVecI`
      shear operation on YZ
      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVecI`
      Overrides:
        `shearYZ` in class `IPointAgent`

    - #### shearYZ

          public IParticleOnSurface shearYZ(IDoubleI syz,
                                            IDoubleI szy)

      Description copied from interface: `IVecI`
      shear operation on YZ
      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVecI`
      Overrides:
        `shearYZ` in class `IPointAgent`

    - #### shearYZ

          public IParticleOnSurface shearYZ(IVecI center,
                                            double syz,
                                            double szy)

      Description copied from interface: `IVecI`
      shear operation on YZ
      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVecI`
      Overrides:
        `shearYZ` in class `IPointAgent`

    - #### shearYZ

          public IParticleOnSurface shearYZ(IVecI center,
                                            IDoubleI syz,
                                            IDoubleI szy)

      Description copied from interface: `IVecI`
      shear operation on YZ
      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVecI`
      Overrides:
        `shearYZ` in class `IPointAgent`

    - #### shearZX

          public IParticleOnSurface shearZX(double szx,
                                            double sxz)

      Description copied from interface: `IVecI`
      shear operation on ZX
      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVecI`
      Overrides:
        `shearZX` in class `IPointAgent`

    - #### shearZX

          public IParticleOnSurface shearZX(IDoubleI szx,
                                            IDoubleI sxz)

      Description copied from interface: `IVecI`
      shear operation on ZX
      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVecI`
      Overrides:
        `shearZX` in class `IPointAgent`

    - #### shearZX

          public IParticleOnSurface shearZX(IVecI center,
                                            double szx,
                                            double sxz)

      Description copied from interface: `IVecI`
      shear operation on ZX
      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVecI`
      Overrides:
        `shearZX` in class `IPointAgent`

    - #### shearZX

          public IParticleOnSurface shearZX(IVecI center,
                                            IDoubleI szx,
                                            IDoubleI sxz)

      Description copied from interface: `IVecI`
      shear operation on ZX
      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVecI`
      Overrides:
        `shearZX` in class `IPointAgent`

    - #### translate

          public IParticleOnSurface translate(double x,
                                              double y,
                                              double z)

      Description copied from interface: `IVecI`
      alias of add()
      Specified by:
        `translate` in interface `ITransformable`
      Specified by:
        `translate` in interface `IVecI`
      Overrides:
        `translate` in class `IPointAgent`

    - #### translate

          public IParticleOnSurface translate(IDoubleI x,
                                              IDoubleI y,
                                              IDoubleI z)

      Description copied from interface: `IVecI`
      alias of add()
      Specified by:
        `translate` in interface `ITransformable`
      Specified by:
        `translate` in interface `IVecI`
      Overrides:
        `translate` in class `IPointAgent`

    - #### translate

          public IParticleOnSurface translate(IVecI v)

      Description copied from interface: `IVecI`
      alias of add()
      Specified by:
        `translate` in interface `ITransformable`
      Specified by:
        `translate` in interface `IVecI`
      Overrides:
        `translate` in class `IPointAgent`

    - #### transform

          public IParticleOnSurface transform(IMatrix3I mat)

      Description copied from interface: `IVecI`
      transform with a transformation matrix
      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVecI`
      Overrides:
        `transform` in class `IPointAgent`

    - #### transform

          public IParticleOnSurface transform(IMatrix4I mat)

      Description copied from interface: `IVecI`
      transform with a transformation matrix
      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVecI`
      Overrides:
        `transform` in class `IPointAgent`

    - #### transform

          public IParticleOnSurface transform(IVecI xvec,
                                              IVecI yvec,
                                              IVecI zvec)

      Description copied from interface: `IVecI`
      transform with a transformation vectors
      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVecI`
      Overrides:
        `transform` in class `IPointAgent`

    - #### transform

          public IParticleOnSurface transform(IVecI xvec,
                                              IVecI yvec,
                                              IVecI zvec,
                                              IVecI translate)

      Description copied from interface: `IVecI`
      transform with a transformation vectors
      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVecI`
      Overrides:
        `transform` in class `IPointAgent`

    - #### mv

          public IParticleOnSurface mv(double x,
                                       double y,
                                       double z)

      Description copied from interface: `IVecI`
      mv() is alias of add()
      Specified by:
        `mv` in interface `ITransformable`
      Specified by:
        `mv` in interface `IVecI`
      Overrides:
        `mv` in class `IPointAgent`

    - #### mv

          public IParticleOnSurface mv(IDoubleI x,
                                       IDoubleI y,
                                       IDoubleI z)

      Description copied from interface: `IVecI`
      mv() is alias of add()
      Specified by:
        `mv` in interface `ITransformable`
      Specified by:
        `mv` in interface `IVecI`
      Overrides:
        `mv` in class `IPointAgent`

    - #### mv

          public IParticleOnSurface mv(IVecI v)

      Description copied from interface: `IVecI`
      mv() is alias of add()
      Specified by:
        `mv` in interface `ITransformable`
      Specified by:
        `mv` in interface `IVecI`
      Overrides:
        `mv` in class `IPointAgent`

    - #### cp

          public IParticleOnSurface cp()

      Description copied from class: `IObject`
      alias of dup()
      Specified by:
        `cp` in interface `IArithmeticVal<IVecI,IDoubleI>`
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVecI`
      Overrides:
        `cp` in class `IPointAgent`

    - #### cp

          public IParticleOnSurface cp(double x,
                                       double y,
                                       double z)

      Description copied from interface: `IVecI`
      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVecI`
      Overrides:
        `cp` in class `IPointAgent`

    - #### cp

          public IParticleOnSurface cp(IDoubleI x,
                                       IDoubleI y,
                                       IDoubleI z)

      Description copied from interface: `IVecI`
      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVecI`
      Overrides:
        `cp` in class `IPointAgent`

    - #### cp

          public IParticleOnSurface cp(IVecI v)

      Description copied from interface: `IVecI`
      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVecI`
      Overrides:
        `cp` in class `IPointAgent`

    - #### setSize

          public IParticleOnSurface setSize(double sz)

      methods of IPoint
      Overrides:
        `setSize` in class `IPointAgent`

    - #### size

          public IParticleOnSurface size(double sz)

      Overrides:
        `size` in class `IPointAgent`

    - #### name

          public IParticleOnSurface name(java.lang.String nm)

      methods of IObject
      Overrides:
        `name` in class `IPointAgent`

    - #### layer

          public IParticleOnSurface layer(ILayer l)

      Description copied from class: `IObject`
      Set layer by ILayer object
      Overrides:
        `layer` in class `IPointAgent`

    - #### show

          public IParticleOnSurface show()

      Overrides:
        `show` in class `IPointAgent`

    - #### hide

          public IParticleOnSurface hide()

      Overrides:
        `hide` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(IColor c)

      Description copied from class: `IObject`
      to set an object color
      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(IColor c,
                                        int alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(IColor c,
                                        float alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(IColor c,
                                        double alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(IObject o)

      Description copied from class: `IObject`
      to set the same color with the object
      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(java.awt.Color c)

      Overrides:
        `clr` in class `IObject`

    - #### clr

          public IParticleOnSurface clr(java.awt.Color c,
                                        int alpha)

      Overrides:
        `clr` in class `IObject`

    - #### clr

          public IParticleOnSurface clr(java.awt.Color c,
                                        float alpha)

      Overrides:
        `clr` in class `IObject`

    - #### clr

          public IParticleOnSurface clr(java.awt.Color c,
                                        double alpha)

      Overrides:
        `clr` in class `IObject`

    - #### clr

          public IParticleOnSurface clr(int gray)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(float fgray)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(double dgray)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(int gray,
                                        int alpha)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(float fgray,
                                        float falpha)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(double dgray,
                                        double dalpha)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(int r,
                                        int g,
                                        int b)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(float fr,
                                        float fg,
                                        float fb)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(double dr,
                                        double dg,
                                        double db)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(int r,
                                        int g,
                                        int b,
                                        int a)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(float fr,
                                        float fg,
                                        float fb,
                                        float fa)

      Overrides:
        `clr` in class `IPointAgent`

    - #### clr

          public IParticleOnSurface clr(double dr,
                                        double dg,
                                        double db,
                                        double da)

      Overrides:
        `clr` in class `IPointAgent`

    - #### hsb

          public IParticleOnSurface hsb(float h,
                                        float s,
                                        float b,
                                        float a)

      Overrides:
        `hsb` in class `IPointAgent`

    - #### hsb

          public IParticleOnSurface hsb(double h,
                                        double s,
                                        double b,
                                        double a)

      Overrides:
        `hsb` in class `IPointAgent`

    - #### hsb

          public IParticleOnSurface hsb(float h,
                                        float s,
                                        float b)

      Overrides:
        `hsb` in class `IPointAgent`

    - #### hsb

          public IParticleOnSurface hsb(double h,
                                        double s,
                                        double b)

      Overrides:
        `hsb` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(IColor c)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(IColor c,
                                             int alpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(IColor c,
                                             float alpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(IColor c,
                                             double alpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(java.awt.Color c)

      Overrides:
        `setColor` in class `IObject`

    - #### setColor

          public IParticleOnSurface setColor(java.awt.Color c,
                                             int alpha)

      Overrides:
        `setColor` in class `IObject`

    - #### setColor

          public IParticleOnSurface setColor(java.awt.Color c,
                                             float alpha)

      Overrides:
        `setColor` in class `IObject`

    - #### setColor

          public IParticleOnSurface setColor(java.awt.Color c,
                                             double alpha)

      Overrides:
        `setColor` in class `IObject`

    - #### setColor

          public IParticleOnSurface setColor(int gray)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(float fgray)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(double dgray)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(int gray,
                                             int alpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(float fgray,
                                             float falpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(double dgray,
                                             double dalpha)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(int r,
                                             int g,
                                             int b)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(float fr,
                                             float fg,
                                             float fb)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(double dr,
                                             double dg,
                                             double db)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(int r,
                                             int g,
                                             int b,
                                             int a)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(float fr,
                                             float fg,
                                             float fb,
                                             float fa)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setColor

          public IParticleOnSurface setColor(double dr,
                                             double dg,
                                             double db,
                                             double da)

      Overrides:
        `setColor` in class `IPointAgent`

    - #### setHSBColor

          public IParticleOnSurface setHSBColor(float h,
                                                float s,
                                                float b,
                                                float a)

      Overrides:
        `setHSBColor` in class `IPointAgent`

    - #### setHSBColor

          public IParticleOnSurface setHSBColor(double h,
                                                double s,
                                                double b,
                                                double a)

      Overrides:
        `setHSBColor` in class `IPointAgent`

    - #### setHSBColor

          public IParticleOnSurface setHSBColor(float h,
                                                float s,
                                                float b)

      Overrides:
        `setHSBColor` in class `IPointAgent`

    - #### setHSBColor

          public IParticleOnSurface setHSBColor(double h,
                                                double s,
                                                double b)

      Overrides:
        `setHSBColor` in class `IPointAgent`

    - #### weight

          public IParticleOnSurface weight(double w)

      Overrides:
        `weight` in class `IPointAgent`

    - #### weight

          public IParticleOnSurface weight(float w)

      Overrides:
        `weight` in class `IPointAgent`