Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## igeo
Class IParticleOnCurve

    java.lang.Object
      igeo.IObject
          igeo.IAgent
              igeo.IPointAgent
                  igeo.IParticleOnCurve

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

Direct Known Subclasses:
  IParticleOnCurveAgent

    public class IParticleOnCurve

extends IPointAgent
implements IParticleOnCurveI

Class of an agent with IParticleOnCurveGeo.

Author:
  Satoru Sugihara

Field Summary
`IVec` | `frc` only to refer to particle.vel and particle.frc
`IParticleOnCurveGeo` | `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
`IParticleOnCurve(ICurve curve)`
`IParticleOnCurve(ICurve curve, double upos)`
`IParticleOnCurve(ICurve curve, double upos, double uvel)`
`IParticleOnCurve(ICurve curve, double upos, double uvel, IVec pos)`
`IParticleOnCurve(ICurve curve, double upos, IVec pos)`
`IParticleOnCurve(ICurveI curve)`
`IParticleOnCurve(ICurveI curve, double upos)`
`IParticleOnCurve(ICurveI curve, double upos, double uvel)`
`IParticleOnCurve(ICurveI curve, double upos, double uvel, IVec pos)`
`IParticleOnCurve(ICurveI curve, double upos, IVec pos)`
`IParticleOnCurve(ICurveI curve, IVec pos)`
`IParticleOnCurve(ICurve curve, IVec pos)`
`IParticleOnCurve(IParticleOnCurve p)`
`IParticleOnCurve(IParticleOnCurveGeo p)`

Method Summary
`IVec` | `acc()` get acceleration.
`IVec` | `acceleration()` get acceleration.
`IParticleOnCurve` | `add(double x, double y, double z)`
`IParticleOnCurve` | `add(double f, IVecI v)` scale add
`IParticleOnCurve` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`IParticleOnCurve` | `add(IDoubleI f, IVecI v)` scale add
`IParticleOnCurve` | `add(IVecI v)`
`IParticleOnCurve` | `add(IVecI v, double f)` scale add
`IParticleOnCurve` | `add(IVecI v, IDoubleI f)` scale add
`IParticleOnCurve` | `addForce(double fx, double fy, double fz)` alias of push
`IParticleOnCurve` | `addForce(IVecI f)` alias of push
`IParticleOnCurve` | `addUForce(double uforce)`
`IParticleOnCurve` | `clr(java.awt.Color c)`
`IParticleOnCurve` | `clr(java.awt.Color c, double alpha)`
`IParticleOnCurve` | `clr(java.awt.Color c, float alpha)`
`IParticleOnCurve` | `clr(java.awt.Color c, int alpha)`
`IParticleOnCurve` | `clr(double dgray)`
`IParticleOnCurve` | `clr(double dgray, double dalpha)`
`IParticleOnCurve` | `clr(double dr, double dg, double db)`
`IParticleOnCurve` | `clr(double dr, double dg, double db, double da)`
`IParticleOnCurve` | `clr(float fgray)`
`IParticleOnCurve` | `clr(float fgray, float falpha)`
`IParticleOnCurve` | `clr(float fr, float fg, float fb)`
`IParticleOnCurve` | `clr(float fr, float fg, float fb, float fa)`
`IParticleOnCurve` | `clr(IColor c)` to set an object color
`IParticleOnCurve` | `clr(IColor c, double alpha)` to set color, with alpha value overwritten
`IParticleOnCurve` | `clr(IColor c, float alpha)` to set color, with alpha value overwritten
`IParticleOnCurve` | `clr(IColor c, int alpha)` to set color, with alpha value overwritten
`IParticleOnCurve` | `clr(int gray)`
`IParticleOnCurve` | `clr(int gray, int alpha)`
`IParticleOnCurve` | `clr(int r, int g, int b)`
`IParticleOnCurve` | `clr(int r, int g, int b, int a)`
`IParticleOnCurve` | `clr(IObject o)` to set the same color with the object
`IParticleOnCurve` | `cp()` alias of dup()
`IParticleOnCurve` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`IParticleOnCurve` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IParticleOnCurve` | `cp(IVecI v)` cp() is alias of dup().add()
`double` | `decay()`
`IParticleOnCurve` | `decay(double d)`
`IParticleOnCurve` | `div(double v)`
`IParticleOnCurve` | `div(IDoubleI v)`
`IParticleOnCurve` | `dup()` duplicate object
`IParticleOnCurve` | `fix()` IParticleI API
`boolean` | `fixed()` check if it's fixed
`IParticleOnCurve` | `flip()` alias of neg()
`IVec` | `force()` get force
`IParticleOnCurve` | `force(IVecI v)` set force
`IVec` | `frc()` get force
`IParticleOnCurve` | `frc(IVecI v)` set force
`double` | `fric()` get friction
`IParticleOnCurve` | `fric(double friction)` set friction
`double` | `friction()` get friction
`IParticleOnCurve` | `friction(double friction)` set friction
`IParticleOnCurve` | `hide()`
`IParticleOnCurve` | `hsb(double h, double s, double b)`
`IParticleOnCurve` | `hsb(double h, double s, double b, double a)`
`IParticleOnCurve` | `hsb(float h, float s, float b)`
`IParticleOnCurve` | `hsb(float h, float s, float b, float a)`
`void` | `initParticleOnCurveAgent(ICurveI curve, IVec pos, double upos, double uvel)`
`void` | `initParticleOnCurveAgent(ICurve curve, IVec pos, double upos, double uvel)`
`void` | `initParticleOnCurveAgent(IParticleOnCurveGeo ptcl)`
`IParticleOnCurve` | `layer(ILayer l)` Set layer by ILayer object
`IParticleOnCurve` | `len(double l)` setting length
`IParticleOnCurve` | `len(IDoubleI l)` setting length
`double` | `mass()` get mass
`IParticleOnCurve` | `mass(double mass)` set mass
`IParticleOnCurve` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IParticleOnCurve` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IParticleOnCurve` | `mirror(IVecI planeDir)` alias of ref
`IParticleOnCurve` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IParticleOnCurve` | `mul(double v)`
`IParticleOnCurve` | `mul(IDoubleI v)`
`IParticleOnCurve` | `mv(double x, double y, double z)` mv() is alias of add()
`IParticleOnCurve` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
`IParticleOnCurve` | `mv(IVecI v)` mv() is alias of add()
`IParticleOnCurve` | `name(java.lang.String nm)` methods of IObject
`IParticleOnCurve` | `neg()`
`IVec` | `pos()` get position
`IParticleOnCurve` | `pos(IVecI v)` set position
`IVec` | `position()` get position
`IParticleOnCurve` | `position(IVecI v)` set position
`IParticleOnCurve` | `pull(double fx, double fy, double fz)` equivalent to push(f.dup().neg())
`IParticleOnCurve` | `pull(IVecI f)` equivalent to push(f.dup().neg())
`IParticleOnCurve` | `push(double fx, double fy, double fz)` adding force to particle
`IParticleOnCurve` | `push(IVecI f)` adding force to particle
`ICurveI` | `railCurve()` IParticleOnCurve methods; temporarily renamed
`IParticleOnCurve` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IParticleOnCurve` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IParticleOnCurve` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IParticleOnCurve` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IParticleOnCurve` | `removeTarget(int i)` remove target object.
`IParticleOnCurve` | `removeTarget(IObject obj)` remove target object.
`IParticleOnCurve` | `reset()` setting force zero
`IParticleOnCurve` | `resetForce()` alias of reset
`IParticleOnCurve` | `resetUForce()`
`IParticleOnCurve` | `rev()` alias of neg()
`IParticleOnCurve` | `rot(double angle)` rotation on XY plane
`IParticleOnCurve` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
`IParticleOnCurve` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
`IParticleOnCurve` | `rot(IDoubleI angle)` rotation on XY plane
`IParticleOnCurve` | `rot(IVecI axis, double angle)` rotation around axis vector
`IParticleOnCurve` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`IParticleOnCurve` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`IParticleOnCurve` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
`IParticleOnCurve` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center point
`IParticleOnCurve` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`IParticleOnCurve` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
`IParticleOnCurve` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
`IParticleOnCurve` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
`IParticleOnCurve` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
`IParticleOnCurve` | `rot2(IVecI center, double angle)` rotation on xy-plane
`IParticleOnCurve` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
`IParticleOnCurve` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
`IParticleOnCurve` | `scale(double f)` alias of mul
`IParticleOnCurve` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
`IParticleOnCurve` | `scale(IDoubleI f)` alias of mul
`IParticleOnCurve` | `scale(IVecI center, double f)` scale from a center
`IParticleOnCurve` | `scale(IVecI center, IDoubleI f)` scale from a center
`IParticleOnCurve` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IParticleOnCurve` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
`IParticleOnCurve` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IParticleOnCurve` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IParticleOnCurve` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
`IParticleOnCurve` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
`IParticleOnCurve` | `set(double x, double y, double z)`
`IParticleOnCurve` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IParticleOnCurve` | `set(IVecI v)`
`IParticleOnCurve` | `setColor(java.awt.Color c)`
`IParticleOnCurve` | `setColor(java.awt.Color c, double alpha)`
`IParticleOnCurve` | `setColor(java.awt.Color c, float alpha)`
`IParticleOnCurve` | `setColor(java.awt.Color c, int alpha)`
`IParticleOnCurve` | `setColor(double dgray)`
`IParticleOnCurve` | `setColor(double dgray, double dalpha)`
`IParticleOnCurve` | `setColor(double dr, double dg, double db)`
`IParticleOnCurve` | `setColor(double dr, double dg, double db, double da)`
`IParticleOnCurve` | `setColor(float fgray)`
`IParticleOnCurve` | `setColor(float fgray, float falpha)`
`IParticleOnCurve` | `setColor(float fr, float fg, float fb)`
`IParticleOnCurve` | `setColor(float fr, float fg, float fb, float fa)`
`IParticleOnCurve` | `setColor(IColor c)`
`IParticleOnCurve` | `setColor(IColor c, double alpha)`
`IParticleOnCurve` | `setColor(IColor c, float alpha)`
`IParticleOnCurve` | `setColor(IColor c, int alpha)`
`IParticleOnCurve` | `setColor(int gray)`
`IParticleOnCurve` | `setColor(int gray, int alpha)`
`IParticleOnCurve` | `setColor(int r, int g, int b)`
`IParticleOnCurve` | `setColor(int r, int g, int b, int a)`
`IParticleOnCurve` | `setHSBColor(double h, double s, double b)`
`IParticleOnCurve` | `setHSBColor(double h, double s, double b, double a)`
`IParticleOnCurve` | `setHSBColor(float h, float s, float b)`
`IParticleOnCurve` | `setHSBColor(float h, float s, float b, float a)`
`IParticleOnCurve` | `setSize(double sz)` methods of IPoint
`IParticleOnCurve` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IParticleOnCurve` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IParticleOnCurve` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IParticleOnCurve` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IParticleOnCurve` | `shearXY(double sxy, double syx)` shear operation on XY
`IParticleOnCurve` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IParticleOnCurve` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IParticleOnCurve` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IParticleOnCurve` | `shearYZ(double syz, double szy)` shear operation on YZ
`IParticleOnCurve` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IParticleOnCurve` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IParticleOnCurve` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IParticleOnCurve` | `shearZX(double szx, double sxz)` shear operation on ZX
`IParticleOnCurve` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IParticleOnCurve` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IParticleOnCurve` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IParticleOnCurve` | `show()`
`IParticleOnCurve` | `size(double sz)`
`boolean` | `skipUpdateOnce()` for other agent to control particle
`IParticleOnCurve` | `skipUpdateOnce(boolean f)` for other agent to control particle
`IParticleOnCurve` | `sub(double x, double y, double z)`
`IParticleOnCurve` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`IParticleOnCurve` | `sub(IVecI v)`
`IObject` | `target(int i)` get target object.
`IParticleOnCurve` | `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.
`IParticleOnCurve` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IParticleOnCurve` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IParticleOnCurve` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IParticleOnCurve` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IParticleOnCurve` | `translate(double x, double y, double z)` alias of add()
`IParticleOnCurve` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IParticleOnCurve` | `translate(IVecI v)` alias of add()
`double` | `uforce()`
`IParticleOnCurve` | `uforce(double uf)`
`double` | `ufrc()`
`IParticleOnCurve` | `ufrc(double uf)`
`IParticleOnCurve` | `unfix()` unfix movement
`IParticleOnCurve` | `unit()` unitize
`void` | `updateTarget()` update all terget objects (should be called when the dynamic object is updated).
`double` | `upos()`
`IParticleOnCurve` | `upos(double u)`
`double` | `uposition()`
`IParticleOnCurve` | `uposition(double u)`
`IParticleOnCurve` | `upull(double uforce)`
`IParticleOnCurve` | `upush(double uforce)`
`IParticleOnCurve` | `ureset()`
`double` | `uvel()`
`IParticleOnCurve` | `uvel(double uv)`
`double` | `uvelocity()`
`IParticleOnCurve` | `uvelocity(double uv)`
`IVec` | `vel()` get velocity
`IParticleOnCurve` | `vel(IVecI v)` set velocity
`IVec` | `velocity()` get velocity
`IParticleOnCurve` | `velocity(IVecI v)` set velocity
`IParticleOnCurve` | `weight(double w)`
`IParticleOnCurve` | `weight(float w)`
`IParticleOnCurve` | `x(double vx)` methods of IVecI
`IParticleOnCurve` | `x(IDoubleI vx)` setting x component
`IParticleOnCurve` | `x(IVec2I vx)` setting x component by x component of input vector
`IParticleOnCurve` | `x(IVecI vx)` setting x component by x component of input vector
`IParticleOnCurve` | `y(double vy)` setting y component
`IParticleOnCurve` | `y(IDoubleI vy)` setting y component
`IParticleOnCurve` | `y(IVec2I vy)` setting y component by y component of input vector
`IParticleOnCurve` | `y(IVecI vy)` setting y component by y component of input vector
`IParticleOnCurve` | `z(double vz)` setting z component
`IParticleOnCurve` | `z(IDoubleI vz)` setting z component
`IParticleOnCurve` | `z(IVecI vz)` setting z component by z component of input vector
`IParticleOnCurve` | `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, syncColor, syncGraphic, syncVisibility, syncWeight, 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.IParticleOnCurveI
`curve`

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 IParticleOnCurveGeo 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

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve,
                            double upos,
                            double uvel)

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve,
                            double upos)

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve)

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve,
                            double upos,
                            double uvel,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve,
                            double upos,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(ICurveI curve,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve,
                            double upos,
                            double uvel)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve,
                            double upos)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve,
                            double upos,
                            double uvel,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve,
                            double upos,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(ICurve curve,
                            IVec pos)

### IParticleOnCurve

    public IParticleOnCurve(IParticleOnCurveGeo p)

### IParticleOnCurve

    public IParticleOnCurve(IParticleOnCurve p)

Method Detail

### initParticleOnCurveAgent

    public void initParticleOnCurveAgent(ICurveI curve,
                                         IVec pos,
                                         double upos,
                                         double uvel)

### initParticleOnCurveAgent

    public void initParticleOnCurveAgent(ICurve curve,
                                         IVec pos,
                                         double upos,
                                         double uvel)

### initParticleOnCurveAgent

    public void initParticleOnCurveAgent(IParticleOnCurveGeo ptcl)

### fix

    public IParticleOnCurve fix()

  IParticleI API

  Specified by:
    `fix` in interface `IParticleI`

### unfix

    public IParticleOnCurve unfix()

  Description copied from interface: `IParticleI`
  unfix movement

  Specified by:
    `unfix` in interface `IParticleI`

### skipUpdateOnce

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve decay(double d)

  Specified by:
    `decay` in interface `IParticleI`

### push

    public IParticleOnCurve push(IVecI f)

  Description copied from interface: `IParticleI`
  adding force to particle

  Specified by:
    `push` in interface `IParticleI`

### push

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

  Description copied from interface: `IParticleI`
  adding force to particle

  Specified by:
    `push` in interface `IParticleI`

### pull

    public IParticleOnCurve pull(IVecI f)

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

  Specified by:
    `pull` in interface `IParticleI`

### pull

    public IParticleOnCurve 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 IParticleOnCurve addForce(IVecI f)

  Description copied from interface: `IParticleI`
  alias of push

  Specified by:
    `addForce` in interface `IParticleI`

### addForce

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

  Description copied from interface: `IParticleI`
  alias of push

  Specified by:
    `addForce` in interface `IParticleI`

### reset

    public IParticleOnCurve reset()

  Description copied from interface: `IParticleI`
  setting force zero

  Specified by:
    `reset` in interface `IParticleI`

### resetForce

    public IParticleOnCurve resetForce()

  Description copied from interface: `IParticleI`
  alias of reset

  Specified by:
    `resetForce` in interface `IParticleI`

### railCurve

    public ICurveI railCurve()

  IParticleOnCurve methods; temporarily renamed

### uposition

    public IParticleOnCurve uposition(double u)

  Specified by:
    `uposition` in interface `IParticleOnCurveI`

### upos

    public IParticleOnCurve upos(double u)

  Specified by:
    `upos` in interface `IParticleOnCurveI`

### uposition

    public double uposition()

  Specified by:
    `uposition` in interface `IParticleOnCurveI`

### upos

    public double upos()

  Specified by:
    `upos` in interface `IParticleOnCurveI`

### uvelocity

    public IParticleOnCurve uvelocity(double uv)

  Specified by:
    `uvelocity` in interface `IParticleOnCurveI`

### uvel

    public IParticleOnCurve uvel(double uv)

  Specified by:
    `uvel` in interface `IParticleOnCurveI`

### uvelocity

    public double uvelocity()

  Specified by:
    `uvelocity` in interface `IParticleOnCurveI`

### uvel

    public double uvel()

  Specified by:
    `uvel` in interface `IParticleOnCurveI`

### uforce

    public IParticleOnCurve uforce(double uf)

  Specified by:
    `uforce` in interface `IParticleOnCurveI`

### ufrc

    public IParticleOnCurve ufrc(double uf)

  Specified by:
    `ufrc` in interface `IParticleOnCurveI`

### uforce

    public double uforce()

  Specified by:
    `uforce` in interface `IParticleOnCurveI`

### ufrc

    public double ufrc()

  Specified by:
    `ufrc` in interface `IParticleOnCurveI`

### addUForce

    public IParticleOnCurve addUForce(double uforce)

  Specified by:
    `addUForce` in interface `IParticleOnCurveI`

### resetUForce

    public IParticleOnCurve resetUForce()

  Specified by:
    `resetUForce` in interface `IParticleOnCurveI`

### upush

    public IParticleOnCurve upush(double uforce)

  Specified by:
    `upush` in interface `IParticleOnCurveI`

### upull

    public IParticleOnCurve upull(double uforce)

  Specified by:
    `upull` in interface `IParticleOnCurveI`

### ureset

    public IParticleOnCurve ureset()

  Specified by:
    `ureset` in interface `IParticleOnCurveI`

### target

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve x(double vx)

  methods of IVecI

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

### y

    public IParticleOnCurve y(double vy)

  Description copied from interface: `IVecI`
  setting y component

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

### z

    public IParticleOnCurve z(double vz)

  Description copied from interface: `IVecI`
  setting z component

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

### x

    public IParticleOnCurve x(IDoubleI vx)

  Description copied from interface: `IVecI`
  setting x component

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

### y

    public IParticleOnCurve y(IDoubleI vy)

  Description copied from interface: `IVecI`
  setting y component

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

### z

    public IParticleOnCurve z(IDoubleI vz)

  Description copied from interface: `IVecI`
  setting z component

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

### x

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve set(IVecI v)

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

### set

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

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

### set

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

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

### add

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve mul(double v)

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

### div

    public IParticleOnCurve 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 IParticleOnCurve div(double v)

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

### neg

    public IParticleOnCurve neg()

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

### rev

    public IParticleOnCurve rev()

  Description copied from interface: `IVecI`
  alias of neg()

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

### flip

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve len(IDoubleI l)

  Description copied from interface: `IVecI`
  setting length

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

### len

    public IParticleOnCurve len(double l)

  Description copied from interface: `IVecI`
  setting length

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

### unit

    public IParticleOnCurve unit()

  Description copied from interface: `IVecI`
  unitize

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

### rot

    public IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve 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 IParticleOnCurve setSize(double sz)

  methods of IPoint

  Overrides:
    `setSize` in class `IPointAgent`

### size

    public IParticleOnCurve size(double sz)

  Overrides:
    `size` in class `IPointAgent`

### name

    public IParticleOnCurve name(java.lang.String nm)

  methods of IObject

  Overrides:
    `name` in class `IPointAgent`

### layer

    public IParticleOnCurve layer(ILayer l)

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

  Overrides:
    `layer` in class `IPointAgent`

### show

    public IParticleOnCurve show()

  Overrides:
    `show` in class `IPointAgent`

### hide

    public IParticleOnCurve hide()

  Overrides:
    `hide` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(IColor c)

  Description copied from class: `IObject`
  to set an object color

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(IColor c,
                                int alpha)

  Description copied from class: `IObject`
  to set color, with alpha value overwritten

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(IColor c,
                                float alpha)

  Description copied from class: `IObject`
  to set color, with alpha value overwritten

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(IColor c,
                                double alpha)

  Description copied from class: `IObject`
  to set color, with alpha value overwritten

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(IObject o)

  Description copied from class: `IObject`
  to set the same color with the object

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(java.awt.Color c)

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

    public IParticleOnCurve clr(int gray)

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(float fgray)

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(double dgray)

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(int gray,
                                int alpha)

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(float fgray,
                                float falpha)

  Overrides:
    `clr` in class `IPointAgent`

### clr

    public IParticleOnCurve clr(double dgray,
                                double dalpha)

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### clr

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

  Overrides:
    `clr` in class `IPointAgent`

### hsb

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

  Overrides:
    `hsb` in class `IPointAgent`

### hsb

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

  Overrides:
    `hsb` in class `IPointAgent`

### hsb

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

  Overrides:
    `hsb` in class `IPointAgent`

### hsb

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

  Overrides:
    `hsb` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(IColor c)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(IColor c,
                                     int alpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(IColor c,
                                     float alpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(IColor c,
                                     double alpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(java.awt.Color c)

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

    public IParticleOnCurve setColor(int gray)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(float fgray)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(double dgray)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(int gray,
                                     int alpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(float fgray,
                                     float falpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

    public IParticleOnCurve setColor(double dgray,
                                     double dalpha)

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setColor

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

  Overrides:
    `setColor` in class `IPointAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IPointAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IPointAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IPointAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IPointAgent`

### weight

    public IParticleOnCurve weight(double w)

  Overrides:
    `weight` in class `IPointAgent`

### weight

    public IParticleOnCurve weight(float w)

  Overrides:
    `weight` in class `IPointAgent`

Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD