igeo

## Class IBoid

- java.lang.Object
- - igeo.IObject
  - - igeo.IAgent
    - - igeo.IPointAgent
      - - igeo.IParticle
        - - igeo.IBoid

- All Implemented Interfaces:
    IArithmeticVal<IVecI,IDoubleI>, IBoidI, IDynamics, IParameter, IParticleI, ISubobject, ITransformable, IVal, IVecI, IVecOp
  Direct Known Subclasses:
    IBoidTrajectory

      public class IBoid
      extends IParticle
      implements IBoidI

  Class of an agent based on one point, extending IPoint and implements IDynamics
  Author:
    Satoru Sugihara

- - ### Field Summary

    - ### Fields inherited from class igeo.IParticle

      `frc, particle, vel`

    - ### 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
    `IBoid()`
    `IBoid(double x, double y, double z)`
    `IBoid(double x, double y, double z, double vx, double vy, double vz)`
    `IBoid(IBoid b)`
    `IBoid(IBoidGeo boid)`
    `IBoid(IBoidGeo boid, IVecI vel)`
    `IBoid(IBoid b, IVecI vel)`
    `IBoid(IGeometry... geometries)`
    `IBoid(IVec pt)`
    `IBoid(IVecI pt)`
    `IBoid(IVecI geometryOrigin, IGeometry... geometries)`
    `IBoid(IVecI pt, IVecI vel)`
    `IBoid(IVecI geometryOrigin, IVecI geometryOrientation, IGeometry... geometries)`
    `IBoid(IVec pt, IVec vel)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IBoid` | `add(double x, double y, double z)`
    `IBoid` | `add(double f, IVecI v)` scale add
    `IBoid` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IBoid` | `add(IDoubleI f, IVecI v)` scale add
    `IBoid` | `add(IVecI v)`
    `IBoid` | `add(IVecI v, double f)` scale add
    `IBoid` | `add(IVecI v, IDoubleI f)` scale add
    `IBoid` | `addForce(double fx, double fy, double fz)` alias of push
    `IBoid` | `addForce(IVecI f)` alias of push
    `IBoid` | `ali(double ratio, double dist)`
    `double` | `aliDist()`
    `IBoid` | `aliDist(double dist)`
    `IBoid` | `alignment(double ratio, double dist)`
    `double` | `alignmentDist()`
    `IBoid` | `alignmentDist(double dist)`
    `double` | `alignmentLimit()`
    `IBoid` | `alignmentLimit(double limit)`
    `double` | `alignmentRatio()`
    `IBoid` | `alignmentRatio(double ratio)`
    `double` | `aliLimit()`
    `IBoid` | `aliLimit(double limit)`
    `double` | `aliRatio()`
    `IBoid` | `aliRatio(double ratio)`
    `IBoid` | `attach(IGeometry... geometries)` attach geometry object to agent to track its location.
    `IBoid` | `attach(IVecI geometryOrigin, IGeometry... geometries)` attach geometry object to agent to track its location.
    `IBoid` | `attach(IVecI geometryOrigin, IVecI geometryOrientation, IGeometry... geometries)` attach geometry object to agent to track its location.
    `IBoidGeo` | `boid()`
    `IBoid` | `clr(double dgray)`
    `IBoid` | `clr(double dgray, double dalpha)`
    `IBoid` | `clr(double dr, double dg, double db)`
    `IBoid` | `clr(double dr, double dg, double db, double da)`
    `IBoid` | `clr(float fgray)`
    `IBoid` | `clr(float fgray, float falpha)`
    `IBoid` | `clr(float fr, float fg, float fb)`
    `IBoid` | `clr(float fr, float fg, float fb, float fa)`
    `IBoid` | `clr(IColor c)` to set an object color
    `IBoid` | `clr(IColor c, double alpha)` to set color, with alpha value overwritten
    `IBoid` | `clr(IColor c, float alpha)` to set color, with alpha value overwritten
    `IBoid` | `clr(IColor c, int alpha)` to set color, with alpha value overwritten
    `IBoid` | `clr(int gray)`
    `IBoid` | `clr(int gray, int alpha)`
    `IBoid` | `clr(int r, int g, int b)`
    `IBoid` | `clr(int r, int g, int b, int a)`
    `IBoid` | `clr(IObject o)` to set the same color with the object
    `IBoid` | `coh(double ratio, double dist)`
    `double` | `cohDist()`
    `IBoid` | `cohDist(double dist)`
    `IBoid` | `cohesion(double ratio, double dist)`
    `double` | `cohesionDist()`
    `IBoid` | `cohesionDist(double dist)`
    `double` | `cohesionLimit()`
    `IBoid` | `cohesionLimit(double limit)`
    `double` | `cohesionRatio()`
    `IBoid` | `cohesionRatio(double ratio)`
    `double` | `cohLimit()`
    `IBoid` | `cohLimit(double limit)`
    `double` | `cohRatio()`
    `IBoid` | `cohRatio(double ratio)`
    `IBoid` | `cp()` alias of dup()
    `IBoid` | `cp(double x, double y, double z)` cp() is alias of dup().add()
    `IBoid` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
    `IBoid` | `cp(IVecI v)` cp() is alias of dup().add()
    `IBoid` | `decay(double d)`
    `IBoid` | `div(double v)`
    `IBoid` | `div(IDoubleI v)`
    `IBoid` | `dup()` duplicate object
    `IBoid` | `fix()` IParticleI API
    `IBoid` | `flip()` alias of neg()
    `IBoid` | `force(IVecI v)` set force
    `IBoid` | `frc(IVecI v)` set force
    `IBoid` | `fric(double friction)` set friction
    `IBoid` | `friction(double friction)` set friction
    `IBoid` | `hide()`
    `IBoid` | `hideGeometry()` hide attached geometry
    `IBoid` | `hidePoint()`
    `IBoid` | `hsb(double h, double s, double b)`
    `IBoid` | `hsb(double h, double s, double b, double a)`
    `IBoid` | `hsb(float h, float s, float b)`
    `IBoid` | `hsb(float h, float s, float b, float a)`
    `boolean` | `isTarget(java.lang.Object obj)` alias
    `boolean` | `isTargetClass(java.lang.Object obj)`
    `IBoid` | `layer(ILayer l)` Set layer by ILayer object
    `IBoid` | `len(double l)` setting length
    `IBoid` | `len(IDoubleI l)` setting length
    `IBoid` | `mass(double mass)` set mass
    `IBoid` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
    `IBoid` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
    `IBoid` | `mirror(IVecI planeDir)` alias of ref
    `IBoid` | `mirror(IVecI center, IVecI planeDir)` alias of ref
    `IBoid` | `mul(double v)`
    `IBoid` | `mul(IDoubleI v)`
    `IBoid` | `mv(double x, double y, double z)` mv() is alias of add()
    `IBoid` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
    `IBoid` | `mv(IVecI v)` mv() is alias of add()
    `IBoid` | `name(java.lang.String nm)` methods of IObject
    `IBoid` | `neg()`
    `IBoid` | `param(double cohRatio, double cohDist, double sepRatio, double sepDist, double aliRatio, double aliDist)`
    `IBoid` | `parameter(double cohRatio, double cohDist, double sepRatio, double sepDist, double aliRatio, double aliDist)`
    `IBoid` | `pos(IVecI v)` set position
    `IBoid` | `position(IVecI v)` set position
    `IBoid` | `pull(double fx, double fy, double fz)` equivalent to push(f.dup().neg())
    `IBoid` | `pull(IVecI f)` equivalent to push(f.dup().neg())
    `IBoid` | `push(double fx, double fy, double fz)` adding force to particle
    `IBoid` | `push(IVecI f)` adding force to particle
    `IBoid` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IBoid` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IBoid` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IBoid` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IBoid` | `reset()` setting force zero
    `IBoid` | `resetForce()` alias of reset
    `IBoid` | `rev()` alias of neg()
    `IBoid` | `rot(double angle)` rotation on XY plane
    `IBoid` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
    `IBoid` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
    `IBoid` | `rot(IDoubleI angle)` rotation on XY plane
    `IBoid` | `rot(IVecI axis, double angle)` rotation around axis vector
    `IBoid` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
    `IBoid` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
    `IBoid` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
    `IBoid` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center point
    `IBoid` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
    `IBoid` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
    `IBoid` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
    `IBoid` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
    `IBoid` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
    `IBoid` | `rot2(IVecI center, double angle)` rotation on xy-plane
    `IBoid` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
    `IBoid` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
    `IBoid` | `scale(double f)` alias of mul
    `IBoid` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
    `IBoid` | `scale(IDoubleI f)` alias of mul
    `IBoid` | `scale(IVecI center, double f)` scale from a center
    `IBoid` | `scale(IVecI center, IDoubleI f)` scale from a center
    `IBoid` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
    `IBoid` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
    `IBoid` | `scale1d(IVecI axis, double f)` scale only in 1 direction
    `IBoid` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
    `IBoid` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
    `IBoid` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
    `IBoid` | `sep(double ratio, double dist)`
    `IBoid` | `separation(double ratio, double dist)`
    `double` | `separationDist()`
    `IBoid` | `separationDist(double dist)`
    `double` | `separationLimit()`
    `IBoid` | `separationLimit(double limit)`
    `double` | `separationRatio()`
    `IBoid` | `separationRatio(double ratio)`
    `double` | `sepDist()`
    `IBoid` | `sepDist(double dist)`
    `double` | `sepLimit()`
    `IBoid` | `sepLimit(double limit)`
    `double` | `sepRatio()`
    `IBoid` | `sepRatio(double ratio)`
    `IBoid` | `set(double x, double y, double z)`
    `IBoid` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IBoid` | `set(IVecI v)`
    `IBoid` | `setColor(double dgray)`
    `IBoid` | `setColor(double dgray, double dalpha)`
    `IBoid` | `setColor(double dr, double dg, double db)`
    `IBoid` | `setColor(double dr, double dg, double db, double da)`
    `IBoid` | `setColor(float fgray)`
    `IBoid` | `setColor(float fgray, float falpha)`
    `IBoid` | `setColor(float fr, float fg, float fb)`
    `IBoid` | `setColor(float fr, float fg, float fb, float fa)`
    `IBoid` | `setColor(IColor c)`
    `IBoid` | `setColor(IColor c, double alpha)`
    `IBoid` | `setColor(IColor c, float alpha)`
    `IBoid` | `setColor(IColor c, int alpha)`
    `IBoid` | `setColor(int gray)`
    `IBoid` | `setColor(int gray, int alpha)`
    `IBoid` | `setColor(int r, int g, int b)`
    `IBoid` | `setColor(int r, int g, int b, int a)`
    `IBoid` | `setHSBColor(double h, double s, double b)`
    `IBoid` | `setHSBColor(double h, double s, double b, double a)`
    `IBoid` | `setHSBColor(float h, float s, float b)`
    `IBoid` | `setHSBColor(float h, float s, float b, float a)`
    `IBoid` | `setSize(double sz)` methods of IPoint
    `IBoid` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `IBoid` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
    `IBoid` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `IBoid` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
    `IBoid` | `shearXY(double sxy, double syx)` shear operation on XY
    `IBoid` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
    `IBoid` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
    `IBoid` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
    `IBoid` | `shearYZ(double syz, double szy)` shear operation on YZ
    `IBoid` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
    `IBoid` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
    `IBoid` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
    `IBoid` | `shearZX(double szx, double sxz)` shear operation on ZX
    `IBoid` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
    `IBoid` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
    `IBoid` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
    `IBoid` | `show()`
    `IBoid` | `showGeometry()` show attached geometry
    `IBoid` | `showPoint()`
    `IBoid` | `size(double sz)`
    `IBoid` | `skipUpdateOnce(boolean f)` for other agent to control particle
    `IBoid` | `sub(double x, double y, double z)`
    `IBoid` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IBoid` | `sub(IVecI v)`
    `IBoid` | `target(java.lang.Class<? extends IBoidI>... targets)` alias
    `IBoid` | `target(java.lang.Class<? extends IBoidI> targetClass)` alias
    `IBoid` | `targetClass(java.lang.Class<? extends IBoidI>... targets)` make the field applicable only to the specified target classes
    `IBoid` | `targetClass(java.lang.Class<? extends IBoidI> targetClass)` make the field applicable only to the specified target class
    `IBoid` | `transform(IMatrix3I mat)` transform with a transformation matrix
    `IBoid` | `transform(IMatrix4I mat)` transform with a transformation matrix
    `IBoid` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
    `IBoid` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
    `IBoid` | `translate(double x, double y, double z)` alias of add()
    `IBoid` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
    `IBoid` | `translate(IVecI v)` alias of add()
    `IBoid` | `unfix()` unfix movement
    `IBoid` | `unit()` unitize
    `IBoid` | `vel(IVecI v)` set velocity
    `IBoid` | `velocity(IVecI v)` set velocity
    `IBoid` | `weight(double w)`
    `IBoid` | `weight(float w)`
    `IBoid` | `x(double vx)` methods of IVecI
    `IBoid` | `x(IDoubleI vx)` setting x component
    `IBoid` | `x(IVec2I v)` setting x component by x component of input vector
    `IBoid` | `x(IVecI v)` setting x component by x component of input vector
    `IBoid` | `y(double vy)` setting y component
    `IBoid` | `y(IDoubleI vy)` setting y component
    `IBoid` | `y(IVec2I v)` setting y component by y component of input vector
    `IBoid` | `y(IVecI v)` setting y component by y component of input vector
    `IBoid` | `z(double vz)` setting z component
    `IBoid` | `z(IDoubleI vz)` setting z component
    `IBoid` | `z(IVecI v)` setting z component by z component of input vector
    `IBoid` | `zero()` setting all zero

    - ### Methods inherited from class igeo.IParticle

      `acc, acceleration, decay, fixed, force, frc, fric, friction, initParticleAgent, initParticleAgent, initParticleAgent, initParticleAgent, initParticleAgent, mass, pos, position, removeTarget, removeTarget, skipUpdateOnce, target, vel, velocity`

    - ### Methods inherited from class igeo.IPointAgent

      `angle, angle, angle, angle, angle, angle, angle, angle, 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, isValid, len, len, len, len2, len2, len2, mesh, mesh, meshes, meshNum, mid, mid, nml, nml, nml, nml, point, point, pointNum, points, 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, target, targetNum, targets, time, time, update, updateGraphic, updateTarget`

    - ### Methods inherited from class igeo.IObject

      `addUserData, addUserData, alpha, alphaInt, attr, attr, attr, awtColor, blue, blueInt, brightness, castStringHashMap, clearDynamics, clearGraphics, clr, clr, clr, clr, 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, setColor, setColor, setColor, setColor, 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.IParticleI

      `acc, acceleration, decay, fixed, force, frc, fric, friction, mass, pos, position, removeTarget, removeTarget, skipUpdateOnce, target, target, targetNum, targets, updateTarget, vel, velocity`

    - ### 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`

- - ### Constructor Detail

    - #### IBoid

          public IBoid()

    - #### IBoid

          public IBoid(IVecI pt)

    - #### IBoid

          public IBoid(IVec pt)

    - #### IBoid

          public IBoid(IVecI pt,
                       IVecI vel)

    - #### IBoid

          public IBoid(IVec pt,
                       IVec vel)

    - #### IBoid

          public IBoid(double x,
                       double y,
                       double z)

    - #### IBoid

          public IBoid(double x,
                       double y,
                       double z,
                       double vx,
                       double vy,
                       double vz)

    - #### IBoid

          public IBoid(IBoid b)

    - #### IBoid

          public IBoid(IBoid b,
                       IVecI vel)

    - #### IBoid

          public IBoid(IBoidGeo boid)

    - #### IBoid

          public IBoid(IBoidGeo boid,
                       IVecI vel)

    - #### IBoid

          public IBoid(IGeometry... geometries)

    - #### IBoid

          public IBoid(IVecI geometryOrigin,
                       IGeometry... geometries)

    - #### IBoid

          public IBoid(IVecI geometryOrigin,
                       IVecI geometryOrientation,
                       IGeometry... geometries)

  - ### Method Detail

    - #### boid

          public IBoidGeo boid()

    - #### cohDist

          public double cohDist()

      Specified by:
        `cohDist` in interface `IBoidI`

    - #### cohesionDist

          public double cohesionDist()

      Specified by:
        `cohesionDist` in interface `IBoidI`

    - #### cohDist

          public IBoid cohDist(double dist)

      Specified by:
        `cohDist` in interface `IBoidI`

    - #### cohesionDist

          public IBoid cohesionDist(double dist)

      Specified by:
        `cohesionDist` in interface `IBoidI`

    - #### cohRatio

          public double cohRatio()

      Specified by:
        `cohRatio` in interface `IBoidI`

    - #### cohesionRatio

          public double cohesionRatio()

      Specified by:
        `cohesionRatio` in interface `IBoidI`

    - #### cohRatio

          public IBoid cohRatio(double ratio)

      Specified by:
        `cohRatio` in interface `IBoidI`

    - #### cohesionRatio

          public IBoid cohesionRatio(double ratio)

      Specified by:
        `cohesionRatio` in interface `IBoidI`

    - #### cohLimit

          public double cohLimit()

      Specified by:
        `cohLimit` in interface `IBoidI`

    - #### cohesionLimit

          public double cohesionLimit()

      Specified by:
        `cohesionLimit` in interface `IBoidI`

    - #### cohLimit

          public IBoid cohLimit(double limit)

      Specified by:
        `cohLimit` in interface `IBoidI`

    - #### cohesionLimit

          public IBoid cohesionLimit(double limit)

      Specified by:
        `cohesionLimit` in interface `IBoidI`

    - #### coh

          public IBoid coh(double ratio,
                           double dist)

      Specified by:
        `coh` in interface `IBoidI`

    - #### cohesion

          public IBoid cohesion(double ratio,
                                double dist)

      Specified by:
        `cohesion` in interface `IBoidI`

    - #### sepDist

          public double sepDist()

      Specified by:
        `sepDist` in interface `IBoidI`

    - #### separationDist

          public double separationDist()

      Specified by:
        `separationDist` in interface `IBoidI`

    - #### sepDist

          public IBoid sepDist(double dist)

      Specified by:
        `sepDist` in interface `IBoidI`

    - #### separationDist

          public IBoid separationDist(double dist)

      Specified by:
        `separationDist` in interface `IBoidI`

    - #### sepRatio

          public double sepRatio()

      Specified by:
        `sepRatio` in interface `IBoidI`

    - #### separationRatio

          public double separationRatio()

      Specified by:
        `separationRatio` in interface `IBoidI`

    - #### sepRatio

          public IBoid sepRatio(double ratio)

      Specified by:
        `sepRatio` in interface `IBoidI`

    - #### separationRatio

          public IBoid separationRatio(double ratio)

      Specified by:
        `separationRatio` in interface `IBoidI`

    - #### sepLimit

          public double sepLimit()

      Specified by:
        `sepLimit` in interface `IBoidI`

    - #### separationLimit

          public double separationLimit()

      Specified by:
        `separationLimit` in interface `IBoidI`

    - #### sepLimit

          public IBoid sepLimit(double limit)

      Specified by:
        `sepLimit` in interface `IBoidI`

    - #### separationLimit

          public IBoid separationLimit(double limit)

      Specified by:
        `separationLimit` in interface `IBoidI`

    - #### sep

          public IBoid sep(double ratio,
                           double dist)

      Specified by:
        `sep` in interface `IBoidI`

    - #### separation

          public IBoid separation(double ratio,
                                  double dist)

      Specified by:
        `separation` in interface `IBoidI`

    - #### aliDist

          public double aliDist()

      Specified by:
        `aliDist` in interface `IBoidI`

    - #### alignmentDist

          public double alignmentDist()

      Specified by:
        `alignmentDist` in interface `IBoidI`

    - #### aliDist

          public IBoid aliDist(double dist)

      Specified by:
        `aliDist` in interface `IBoidI`

    - #### alignmentDist

          public IBoid alignmentDist(double dist)

      Specified by:
        `alignmentDist` in interface `IBoidI`

    - #### aliRatio

          public double aliRatio()

      Specified by:
        `aliRatio` in interface `IBoidI`

    - #### alignmentRatio

          public double alignmentRatio()

      Specified by:
        `alignmentRatio` in interface `IBoidI`

    - #### aliRatio

          public IBoid aliRatio(double ratio)

      Specified by:
        `aliRatio` in interface `IBoidI`

    - #### alignmentRatio

          public IBoid alignmentRatio(double ratio)

      Specified by:
        `alignmentRatio` in interface `IBoidI`

    - #### aliLimit

          public double aliLimit()

      Specified by:
        `aliLimit` in interface `IBoidI`

    - #### alignmentLimit

          public double alignmentLimit()

      Specified by:
        `alignmentLimit` in interface `IBoidI`

    - #### aliLimit

          public IBoid aliLimit(double limit)

      Specified by:
        `aliLimit` in interface `IBoidI`

    - #### alignmentLimit

          public IBoid alignmentLimit(double limit)

      Specified by:
        `alignmentLimit` in interface `IBoidI`

    - #### ali

          public IBoid ali(double ratio,
                           double dist)

      Specified by:
        `ali` in interface `IBoidI`

    - #### alignment

          public IBoid alignment(double ratio,
                                 double dist)

      Specified by:
        `alignment` in interface `IBoidI`

    - #### parameter

          public IBoid parameter(double cohRatio,
                                 double cohDist,
                                 double sepRatio,
                                 double sepDist,
                                 double aliRatio,
                                 double aliDist)

      Specified by:
        `parameter` in interface `IBoidI`

    - #### param

          public IBoid param(double cohRatio,
                             double cohDist,
                             double sepRatio,
                             double sepDist,
                             double aliRatio,
                             double aliDist)

      Specified by:
        `param` in interface `IBoidI`

    - #### fix

          public IBoid fix()

      IParticleI API
      Specified by:
        `fix` in interface `IParticleI`
      Overrides:
        `fix` in class `IParticle`

    - #### unfix

          public IBoid unfix()

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

    - #### skipUpdateOnce

          public IBoid skipUpdateOnce(boolean f)

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

    - #### mass

          public IBoid mass(double mass)

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

    - #### position

          public IBoid position(IVecI v)

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

    - #### pos

          public IBoid pos(IVecI v)

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

    - #### velocity

          public IBoid velocity(IVecI v)

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

    - #### vel

          public IBoid vel(IVecI v)

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

    - #### force

          public IBoid force(IVecI v)

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

    - #### frc

          public IBoid frc(IVecI v)

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

    - #### friction

          public IBoid friction(double friction)

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

    - #### fric

          public IBoid fric(double friction)

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

    - #### decay

          public IBoid decay(double d)

      Specified by:
        `decay` in interface `IParticleI`
      Overrides:
        `decay` in class `IParticle`

    - #### push

          public IBoid push(IVecI f)

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

    - #### push

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

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

    - #### pull

          public IBoid pull(IVecI f)

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

    - #### pull

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

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

    - #### addForce

          public IBoid addForce(IVecI f)

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

    - #### addForce

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

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

    - #### reset

          public IBoid reset()

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

    - #### resetForce

          public IBoid resetForce()

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

    - #### attach

          public IBoid attach(IGeometry... geometries)

      attach geometry object to agent to track its location.
      Overrides:
        `attach` in class `IParticle`
      Parameters:
        `geometries` - one or more geometry objects. object's center is moved to the agent's location.

    - #### attach

          public IBoid attach(IVecI geometryOrigin,
                              IGeometry... geometries)

      attach geometry object to agent to track its location.
      Overrides:
        `attach` in class `IParticle`
      Parameters:
        `geometryOrigin` - origin of geometry object which is moved to the agent's location.
        `geometries` - one or more geometry objects.

    - #### attach

          public IBoid attach(IVecI geometryOrigin,
                              IVecI geometryOrientation,
                              IGeometry... geometries)

      attach geometry object to agent to track its location.
      Overrides:
        `attach` in class `IParticle`
      Parameters:
        `geometryOrigin` - origin of geometry object which is moved to the agent's location.
        `geometryOrientation` - original orientation of geometry which is matched with particle's velocity direction; if its's null, orientatin matching is disabled.
        `geometries` - one or more geometry objects.

    - #### targetClass

          public IBoid targetClass(java.lang.Class<? extends IBoidI> targetClass)

      make the field applicable only to the specified target class

    - #### target

          public IBoid target(java.lang.Class<? extends IBoidI> targetClass)

      alias

    - #### targetClass

          public IBoid targetClass(java.lang.Class<? extends IBoidI>... targets)

      make the field applicable only to the specified target classes

    - #### target

          public IBoid target(java.lang.Class<? extends IBoidI>... targets)

      alias

    - #### isTargetClass

          public boolean isTargetClass(java.lang.Object obj)

    - #### isTarget

          public boolean isTarget(java.lang.Object obj)

      alias

    - #### x

          public IBoid x(double vx)

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

    - #### y

          public IBoid y(double vy)

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

    - #### z

          public IBoid z(double vz)

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

    - #### x

          public IBoid x(IDoubleI vx)

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

    - #### y

          public IBoid y(IDoubleI vy)

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

    - #### z

          public IBoid z(IDoubleI vz)

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

    - #### x

          public IBoid x(IVecI v)

      setting x component by x component of input vector
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IParticle`

    - #### y

          public IBoid y(IVecI v)

      setting y component by y component of input vector
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IParticle`

    - #### z

          public IBoid z(IVecI v)

      setting z component by z component of input vector
      Specified by:
        `z` in interface `IVecI`
      Overrides:
        `z` in class `IParticle`

    - #### x

          public IBoid x(IVec2I v)

      setting x component by x component of input vector
      Specified by:
        `x` in interface `IVecI`
      Overrides:
        `x` in class `IParticle`

    - #### y

          public IBoid y(IVec2I v)

      setting y component by y component of input vector
      Specified by:
        `y` in interface `IVecI`
      Overrides:
        `y` in class `IParticle`

    - #### dup

          public IBoid 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 `IParticle`

    - #### set

          public IBoid set(IVecI v)

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

    - #### set

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

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

    - #### set

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

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

    - #### add

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

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

    - #### add

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

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

    - #### add

          public IBoid 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 `IParticle`

    - #### sub

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

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

    - #### sub

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

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

    - #### sub

          public IBoid 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 `IParticle`

    - #### mul

          public IBoid 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 `IParticle`

    - #### mul

          public IBoid mul(double v)

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

    - #### div

          public IBoid 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 `IParticle`

    - #### div

          public IBoid div(double v)

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

    - #### neg

          public IBoid neg()

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

    - #### rev

          public IBoid rev()

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

    - #### flip

          public IBoid 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 `IParticle`

    - #### zero

          public IBoid 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 `IParticle`

    - #### add

          public IBoid 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 `IParticle`

    - #### add

          public IBoid 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 `IParticle`

    - #### add

          public IBoid 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 `IParticle`

    - #### add

          public IBoid 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 `IParticle`

    - #### len

          public IBoid len(IDoubleI l)

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

    - #### len

          public IBoid len(double l)

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

    - #### unit

          public IBoid unit()

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

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot

          public IBoid 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 `IParticle`

    - #### rot2

          public IBoid rot2(double angle)

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

    - #### rot2

          public IBoid rot2(IDoubleI angle)

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

    - #### rot2

          public IBoid rot2(IVecI center,
                            double angle)

      rotation on xy-plane
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IParticle`

    - #### rot2

          public IBoid rot2(IVecI center,
                            IDoubleI angle)

      rotation on xy-plane
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IParticle`

    - #### rot2

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

      rotation on xy-plane
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IParticle`

    - #### rot2

          public IBoid rot2(IVecI destDir)

      rotation on xy-plane towards destDir
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IParticle`

    - #### rot2

          public IBoid rot2(IVecI center,
                            IVecI destPt)

      rotation on xy-plane towards destPt
      Specified by:
        `rot2` in interface `ITransformable`
      Specified by:
        `rot2` in interface `IVecI`
      Overrides:
        `rot2` in class `IParticle`

    - #### scale

          public IBoid 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 `IParticle`

    - #### scale

          public IBoid 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 `IParticle`

    - #### scale

          public IBoid 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 `IParticle`

    - #### scale

          public IBoid 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 `IParticle`

    - #### scale

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### scale1d

          public IBoid 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 `IParticle`

    - #### ref

          public IBoid 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 `IParticle`

    - #### ref

          public IBoid 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 `IParticle`

    - #### ref

          public IBoid 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 `IParticle`

    - #### ref

          public IBoid 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 `IParticle`

    - #### mirror

          public IBoid 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 `IParticle`

    - #### mirror

          public IBoid 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 `IParticle`

    - #### mirror

          public IBoid 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 `IParticle`

    - #### mirror

          public IBoid 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 `IParticle`

    - #### shear

          public IBoid 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 `IParticle`

    - #### shear

          public IBoid 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 `IParticle`

    - #### shear

          public IBoid 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 `IParticle`

    - #### shear

          public IBoid 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 `IParticle`

    - #### shearXY

          public IBoid 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 `IParticle`

    - #### shearXY

          public IBoid 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 `IParticle`

    - #### shearXY

          public IBoid 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 `IParticle`

    - #### shearXY

          public IBoid 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 `IParticle`

    - #### shearYZ

          public IBoid 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 `IParticle`

    - #### shearYZ

          public IBoid 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 `IParticle`

    - #### shearYZ

          public IBoid 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 `IParticle`

    - #### shearYZ

          public IBoid 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 `IParticle`

    - #### shearZX

          public IBoid 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 `IParticle`

    - #### shearZX

          public IBoid 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 `IParticle`

    - #### shearZX

          public IBoid 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 `IParticle`

    - #### shearZX

          public IBoid 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 `IParticle`

    - #### translate

          public IBoid 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 `IParticle`

    - #### translate

          public IBoid 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 `IParticle`

    - #### translate

          public IBoid 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 `IParticle`

    - #### transform

          public IBoid 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 `IParticle`

    - #### transform

          public IBoid 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 `IParticle`

    - #### transform

          public IBoid 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 `IParticle`

    - #### transform

          public IBoid 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 `IParticle`

    - #### mv

          public IBoid 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 `IParticle`

    - #### mv

          public IBoid 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 `IParticle`

    - #### mv

          public IBoid 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 `IParticle`

    - #### cp

          public IBoid 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 `IParticle`

    - #### cp

          public IBoid 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 `IParticle`

    - #### cp

          public IBoid 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 `IParticle`

    - #### cp

          public IBoid 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 `IParticle`

    - #### setSize

          public IBoid setSize(double sz)

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

    - #### size

          public IBoid size(double sz)

      Overrides:
        `size` in class `IParticle`

    - #### name

          public IBoid name(java.lang.String nm)

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

    - #### layer

          public IBoid layer(ILayer l)

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

    - #### show

          public IBoid show()

      Overrides:
        `show` in class `IParticle`

    - #### hide

          public IBoid hide()

      Overrides:
        `hide` in class `IParticle`

    - #### showPoint

          public IBoid showPoint()

      Overrides:
        `showPoint` in class `IParticle`

    - #### hidePoint

          public IBoid hidePoint()

      Overrides:
        `hidePoint` in class `IParticle`

    - #### showGeometry

          public IBoid showGeometry()

      Description copied from class: `IPointAgent`
      show attached geometry
      Overrides:
        `showGeometry` in class `IParticle`

    - #### hideGeometry

          public IBoid hideGeometry()

      Description copied from class: `IPointAgent`
      hide attached geometry
      Overrides:
        `hideGeometry` in class `IParticle`

    - #### clr

          public IBoid clr(IColor c)

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

    - #### clr

          public IBoid clr(IColor c,
                           int alpha)

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

    - #### clr

          public IBoid clr(IColor c,
                           float alpha)

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

    - #### clr

          public IBoid clr(IColor c,
                           double alpha)

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

    - #### clr

          public IBoid clr(IObject o)

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

    - #### clr

          public IBoid clr(int gray)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

          public IBoid clr(float fgray)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

          public IBoid clr(double dgray)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

          public IBoid clr(int gray,
                           int alpha)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

          public IBoid clr(float fgray,
                           float falpha)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

          public IBoid clr(double dgray,
                           double dalpha)

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### clr

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

      Overrides:
        `clr` in class `IParticle`

    - #### hsb

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

      Overrides:
        `hsb` in class `IParticle`

    - #### hsb

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

      Overrides:
        `hsb` in class `IParticle`

    - #### hsb

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

      Overrides:
        `hsb` in class `IParticle`

    - #### hsb

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

      Overrides:
        `hsb` in class `IParticle`

    - #### setColor

          public IBoid setColor(IColor c)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(IColor c,
                                int alpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(IColor c,
                                float alpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(IColor c,
                                double alpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(int gray)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(float fgray)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(double dgray)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(int gray,
                                int alpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(float fgray,
                                float falpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

          public IBoid setColor(double dgray,
                                double dalpha)

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setColor

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

      Overrides:
        `setColor` in class `IParticle`

    - #### setHSBColor

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

      Overrides:
        `setHSBColor` in class `IParticle`

    - #### setHSBColor

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

      Overrides:
        `setHSBColor` in class `IParticle`

    - #### setHSBColor

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

      Overrides:
        `setHSBColor` in class `IParticle`

    - #### setHSBColor

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

      Overrides:
        `setHSBColor` in class `IParticle`

    - #### weight

          public IBoid weight(double w)

      Overrides:
        `weight` in class `IParticle`

    - #### weight

          public IBoid weight(float w)

      Overrides:
        `weight` in class `IParticle`