igeo

## Class IAgentTracker

- java.lang.Object
- - igeo.IDynamicsBase
  - - igeo.IAgentTracker

- All Implemented Interfaces:
    IDynamics, ISubobject

      public class IAgentTracker
      extends IDynamicsBase

  dynamic behavior for a geometry object to track particle location. this class needs to be added under point agent (IPointAgent class) or its subclasses like IParticle and IBoid.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `IPointAgent` | `agent`
    `static IVec` | `defaultOrientation`
    `IGeometry[]` | `geometries`
    `boolean` | `orient`
    `IParticleI` | `particle` if agent is particle, it's casted to particle variable
    `IVec` | `prevPos`
    `IVec` | `prevVel`
    `double` | `rotAngle`
    `IVec` | `rotAxis`
    `static boolean` | `setAgentAttributes` set agent's attributes to geometry objects

    - ### Fields inherited from class igeo.IDynamicsBase

      `parent, targets`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IAgentTracker(IPointAgent p, IGeometry... geometries)`
    `IAgentTracker(IPointAgent p, IVecI geometryOrigin, IGeometry[] geometries)`
    `IAgentTracker(IPointAgent p, IVecI geometryOrigin, IVecI geometryOrientation, IGeometry[] geometries)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `IBrep` | `brep()` returns first brep
    `IBrep` | `brep(int index)` returns n-th surface
    `int` | `brepNum()` returns brep num
    `IBrep[]` | `breps()` returns all contained breps
    `IAgentTracker` | `clr(double dgray)`
    `IAgentTracker` | `clr(double dgray, double dalpha)`
    `IAgentTracker` | `clr(double dr, double dg, double db)`
    `IAgentTracker` | `clr(double dr, double dg, double db, double da)`
    `IAgentTracker` | `clr(float fgray)`
    `IAgentTracker` | `clr(float fgray, float falpha)`
    `IAgentTracker` | `clr(float fr, float fg, float fb)`
    `IAgentTracker` | `clr(float fr, float fg, float fb, float fa)`
    `IAgentTracker` | `clr(IColor c)`
    `IAgentTracker` | `clr(IColor c, double alpha)`
    `IAgentTracker` | `clr(IColor c, float alpha)`
    `IAgentTracker` | `clr(IColor c, int alpha)`
    `IAgentTracker` | `clr(int gray)`
    `IAgentTracker` | `clr(int gray, int alpha)`
    `IAgentTracker` | `clr(int r, int g, int b)`
    `IAgentTracker` | `clr(int r, int g, int b, int a)`
    `IAgentTracker` | `clr(IObject o)`
    `ICurve` | `curve()` returns first curve
    `ICurve` | `curve(int index)` returns n-th curve
    `int` | `curveNum()` returns curve num
    `ICurve[]` | `curves()` returns all contained curves
    `void` | `del()` delete all geometries
    `IGeometry[]` | `geometries()` returns all geometries
    `IGeometry` | `geometry()` returns first geomery
    `IGeometry` | `geometry(int i)` returns n-th geometry
    `int` | `geometryNum()` total number of geometries
    `IAgentTracker` | `hide()`
    `IAgentTracker` | `hsb(double h, double s, double b)`
    `IAgentTracker` | `hsb(double h, double s, double b, double a)`
    `IAgentTracker` | `hsb(float h, float s, float b)`
    `IAgentTracker` | `hsb(float h, float s, float b, float a)`
    `void` | `initTracker(IPointAgent p)` move geometries from its center to the current position of the parent agent
    `void` | `initTracker(IVecI geometryOrigin, IPointAgent p)`
    `void` | `initTracker(IVecI geometryOrigin, IVecI geometryOrientation, IPointAgent p)`
    `IMesh` | `mesh()` returns first mesh
    `IMesh` | `mesh(int index)` returns n-th surface
    `IMesh[]` | `meshes()` returns all contained meshes
    `int` | `meshNum()` returns mesh num
    `IAgentTracker` | `orient(boolean f)`
    `IPoint` | `point()` returns first point
    `IPoint` | `point(int index)` returns n-th point
    `int` | `pointNum()` returns point num
    `IPoint[]` | `points()` returns all contained points
    `IAgentTracker` | `show()`
    `<T extends IGeometry> T[]` | `subgeometries(java.lang.Class<T> cls)` returns all contained geometries in a specified type
    `<T extends IGeometry> T` | `subgeometry(java.lang.Class<T> cls)` returns first geometry in a specified type
    `<T extends IGeometry> T` | `subgeometry(java.lang.Class<T> cls, int index)` returns n-th geometry in a specified type
    `int` | `subgeometryNum(java.lang.Class<? extends IGeometry> cls)` returns number of geometries in a specified type
    `ISurface` | `surface()` returns first surface
    `ISurface` | `surface(int index)` returns n-th surface
    `int` | `surfaceNum()` returns surface num
    `ISurface[]` | `surfaces()` returns all contained surfaces
    `void` | `update()` behavior definition of updating dynamics in each time frame

    - ### Methods inherited from class igeo.IDynamicsBase

      `initDynamicsBase, initDynamicsBase, initDynamicsBase, interact, localDynamics, parent, parent, postinteract, postupdate, preinteract, preupdate, removeTarget, removeTarget, target, target, targetNum, targets, updateTarget`

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

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

- - ### Field Detail

    - #### setAgentAttributes

          public static boolean setAgentAttributes

      set agent's attributes to geometry objects

    - #### defaultOrientation

          public static IVec defaultOrientation

    - #### geometries

          public IGeometry[] geometries

    - #### agent

          public IPointAgent agent

    - #### particle

          public IParticleI particle

      if agent is particle, it's casted to particle variable

    - #### prevPos

          public IVec prevPos

    - #### prevVel

          public IVec prevVel

    - #### rotAxis

          public IVec rotAxis

    - #### rotAngle

          public double rotAngle

    - #### orient

          public boolean orient

  - ### Constructor Detail

    - #### IAgentTracker

          public IAgentTracker(IPointAgent p,
                       IGeometry... geometries)

    - #### IAgentTracker

          public IAgentTracker(IPointAgent p,
                       IVecI geometryOrigin,
                       IGeometry[] geometries)

    - #### IAgentTracker

          public IAgentTracker(IPointAgent p,
                       IVecI geometryOrigin,
                       IVecI geometryOrientation,
                       IGeometry[] geometries)

  - ### Method Detail

    - #### geometryNum

          public int geometryNum()

      total number of geometries

    - #### geometry

          public IGeometry geometry()

      returns first geomery

    - #### geometry

          public IGeometry geometry(int i)

      returns n-th geometry

    - #### geometries

          public IGeometry[] geometries()

      returns all geometries

    - #### subgeometries

          public <T extends IGeometry> T[] subgeometries(java.lang.Class<T> cls)

      returns all contained geometries in a specified type

    - #### subgeometry

          public <T extends IGeometry> T subgeometry(java.lang.Class<T> cls)

      returns first geometry in a specified type

    - #### subgeometry

          public <T extends IGeometry> T subgeometry(java.lang.Class<T> cls,
                                            int index)

      returns n-th geometry in a specified type

    - #### subgeometryNum

          public int subgeometryNum(java.lang.Class<? extends IGeometry> cls)

      returns number of geometries in a specified type

    - #### points

          public IPoint[] points()

      returns all contained points

    - #### point

          public IPoint point()

      returns first point

    - #### point

          public IPoint point(int index)

      returns n-th point

    - #### pointNum

          public int pointNum()

      returns point num

    - #### curves

          public ICurve[] curves()

      returns all contained curves

    - #### curve

          public ICurve curve()

      returns first curve

    - #### curve

          public ICurve curve(int index)

      returns n-th curve

    - #### curveNum

          public int curveNum()

      returns curve num

    - #### surfaces

          public ISurface[] surfaces()

      returns all contained surfaces

    - #### surface

          public ISurface surface()

      returns first surface

    - #### surface

          public ISurface surface(int index)

      returns n-th surface

    - #### surfaceNum

          public int surfaceNum()

      returns surface num

    - #### breps

          public IBrep[] breps()

      returns all contained breps

    - #### brep

          public IBrep brep()

      returns first brep

    - #### brep

          public IBrep brep(int index)

      returns n-th surface

    - #### brepNum

          public int brepNum()

      returns brep num

    - #### meshes

          public IMesh[] meshes()

      returns all contained meshes

    - #### mesh

          public IMesh mesh()

      returns first mesh

    - #### mesh

          public IMesh mesh(int index)

      returns n-th surface

    - #### meshNum

          public int meshNum()

      returns mesh num

    - #### show

          public IAgentTracker show()

    - #### hide

          public IAgentTracker hide()

    - #### del

          public void del()

      delete all geometries

    - #### orient

          public IAgentTracker orient(boolean f)

    - #### clr

          public IAgentTracker clr(IColor c)

    - #### clr

          public IAgentTracker clr(IColor c,
                          int alpha)

    - #### clr

          public IAgentTracker clr(IColor c,
                          float alpha)

    - #### clr

          public IAgentTracker clr(IColor c,
                          double alpha)

    - #### clr

          public IAgentTracker clr(IObject o)

    - #### clr

          public IAgentTracker clr(int gray)

    - #### clr

          public IAgentTracker clr(float fgray)

    - #### clr

          public IAgentTracker clr(double dgray)

    - #### clr

          public IAgentTracker clr(int gray,
                          int alpha)

    - #### clr

          public IAgentTracker clr(float fgray,
                          float falpha)

    - #### clr

          public IAgentTracker clr(double dgray,
                          double dalpha)

    - #### clr

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

    - #### clr

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

    - #### clr

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

    - #### clr

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

    - #### clr

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

    - #### clr

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

    - #### hsb

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

    - #### hsb

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

    - #### hsb

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

    - #### hsb

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

    - #### initTracker

          public void initTracker(IPointAgent p)

      move geometries from its center to the current position of the parent agent

    - #### initTracker

          public void initTracker(IVecI geometryOrigin,
                         IPointAgent p)

    - #### initTracker

          public void initTracker(IVecI geometryOrigin,
                         IVecI geometryOrientation,
                         IPointAgent p)

    - #### update

          public void update()

      Description copied from class: `IDynamicsBase`
      behavior definition of updating dynamics in each time frame
      Specified by:
        `update` in interface `IDynamics`
      Overrides:
        `update` in class `IDynamicsBase`