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

## igeo
Class IPointAgent

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

All Implemented Interfaces:
  IDynamics, IParameter, ISubobject, ITransformable, IVal, IVecI, IVecOp

Direct Known Subclasses:
  IParticle, IParticleOnCurve

    public class IPointAgent

extends IAgent
implements IVecI

Class of an agent based on one point.

Author:
  Satoru Sugihara

Field Summary
`IPoint` | `point`
`IVec` | `pos`
`IAgentTracker` | `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
`IPointAgent()`
`IPointAgent(double x, double y, double z)`
`IPointAgent(IGeometry... geometries)`
`IPointAgent(IPointAgent pa)`
`IPointAgent(IVec p)`
`IPointAgent(IVecI p)`
`IPointAgent(IVecI geometryOrigin, IGeometry... geometries)`

Method Summary
`IPointAgent` | `add(double x, double y, double z)`
`IPointAgent` | `add(double f, IVecI v)` scale add alias
`IPointAgent` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`IPointAgent` | `add(IDoubleI f, IVecI v)` scale add alias
`IPointAgent` | `add(IVecI v)`
`IPointAgent` | `add(IVecI v, double f)` scale add
`IPointAgent` | `add(IVecI v, IDoubleI f)` scale add
`double` | `angle(double vx, double vy, double vz)` get angle between two vector from 0 to Pi
`double` | `angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)`
`double` | `angle(ISwitchE e, IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(ISwitchE e, IVecI v, IVecI axis)`
`IDouble` | `angle(ISwitchR r, IVecI v)` get angle between two vector from 0 to Pi
`IDouble` | `angle(ISwitchR r, IVecI v, IVecI axis)`
`double` | `angle(IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(IVecI v, IVecI axis)`
`IPointAgent` | `attach(IGeometry... geometries)` attach geometry object to agent to track its location.
`IPointAgent` | `attach(IVecI geometryOrigin, IGeometry... geometries)` attach geometry object to agent to track its location.
`IVec` | `bisect(double vx, double vy, double vz)` create a new instance of bisector
`IVec` | `bisect(IVecI v)` create a new instance of bisector
`IBrep` | `brep()` returns first brep
`IBrep` | `brep(int index)` returns n-th surface
`int` | `brepNum()` returns brep num
`IBrep[]` | `breps()` returns all contained breps
`IPointAgent` | `clr(double dgray)`
`IPointAgent` | `clr(double dgray, double dalpha)`
`IPointAgent` | `clr(double dr, double dg, double db)`
`IPointAgent` | `clr(double dr, double dg, double db, double da)`
`IPointAgent` | `clr(float fgray)`
`IPointAgent` | `clr(float fgray, float falpha)`
`IPointAgent` | `clr(float fr, float fg, float fb)`
`IPointAgent` | `clr(float fr, float fg, float fb, float fa)`
`IPointAgent` | `clr(IColor c)`
`IPointAgent` | `clr(IColor c, double alpha)` to set color, with alpha value overwritten
`IPointAgent` | `clr(IColor c, float alpha)` to set color, with alpha value overwritten
`IPointAgent` | `clr(IColor c, int alpha)` to set color, with alpha value overwritten
`IPointAgent` | `clr(int gray)`
`IPointAgent` | `clr(int gray, int alpha)`
`IPointAgent` | `clr(int r, int g, int b)`
`IPointAgent` | `clr(int r, int g, int b, int a)`
`IPointAgent` | `cp()` alias of dup()
`IPointAgent` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`IPointAgent` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IPointAgent` | `cp(IVecI v)` cp() is alias of dup().add()
`IVec` | `cross(double vx, double vy, double vz)` cross product, creating a new instance
`IVec` | `cross(IVecI v)` cross product, creating a new instance
`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 agent and stop it by removing it from dynamics server
`void` | `del(boolean deleteGeometry)` stop agent with option of deleting/keeping the geometry the agent owns
`IVec` | `dif(double vx, double vy, double vz)` create a new instance of difference
`IVec` | `dif(IVecI v)` create a new instance of difference
`IVec` | `diff(double vx, double vy, double vz)` alias of dif
`IVec` | `diff(IVecI v)` alias of dif
`double` | `dist(double vx, double vy, double vz)` distance of two vectors
`double` | `dist(ISwitchE e, IVecI v)` distance of two vectors
`IDouble` | `dist(ISwitchR r, IVecI v)` distance of two vectors
`double` | `dist(IVecI v)` distance of two vectors
`double` | `dist2(double vx, double vy, double vz)` squared distance of two vectors
`double` | `dist2(ISwitchE e, IVecI v)` squared distance of two vectors
`IDouble` | `dist2(ISwitchR r, IVecI v)` squared distance of two vectors
`double` | `dist2(IVecI v)` squared distance of two vectors
`IPointAgent` | `div(double v)`
`IPointAgent` | `div(IDoubleI v)`
`double` | `dot(double vx, double vy, double vz)` dot product
`double` | `dot(ISwitchE e, IVecI v)` dot product
`IDouble` | `dot(ISwitchR r, IVecI v)` dot product
`double` | `dot(IVecI v)` dot product
`IPointAgent` | `dup()` duplicate object
`boolean` | `eq(double vx, double vy, double vz)` check whether location is same or not
`boolean` | `eq(double vx, double vy, double vz, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(ISwitchE e, IVecI v)` check whether location is same or not
`boolean` | `eq(ISwitchE e, IVecI v, double tolerance)` check whether location is same or not with tolerance
`IBool` | `eq(ISwitchR r, IVecI v)` check whether location is same or not
`IBool` | `eq(ISwitchR r, IVecI v, IDoubleI tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(IVecI v)` check whether location is same or not
`boolean` | `eq(IVecI v, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eqX(double vx)` check if same in X
`boolean` | `eqX(double vx, double tolerance)` check if same in X with tolerance
`boolean` | `eqX(ISwitchE e, IVecI v)` check if same in X
`boolean` | `eqX(ISwitchE e, IVecI v, double tolerance)` check if same in X with tolerance
`IBool` | `eqX(ISwitchR r, IVecI v)` check if same in X
`IBool` | `eqX(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in X with tolerance
`boolean` | `eqX(IVecI v)` check if same in X
`boolean` | `eqX(IVecI v, double tolerance)` check if same in X with tolerance
`boolean` | `eqY(double vy)` check if same in Y
`boolean` | `eqY(double vy, double tolerance)` check if same in Y with tolerance
`boolean` | `eqY(ISwitchE e, IVecI v)` check if same in Y
`boolean` | `eqY(ISwitchE e, IVecI v, double tolerance)` check if same in Y with tolerance
`IBool` | `eqY(ISwitchR r, IVecI v)` check if same in Y
`IBool` | `eqY(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Y with tolerance
`boolean` | `eqY(IVecI v)` check if same in Y
`boolean` | `eqY(IVecI v, double tolerance)` check if same in Y with tolerance
`boolean` | `eqZ(double vz)` check if same in Z
`boolean` | `eqZ(double vz, double tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(ISwitchE e, IVecI v)` check if same in Z
`boolean` | `eqZ(ISwitchE e, IVecI v, double tolerance)` check if same in Z with tolerance
`IBool` | `eqZ(ISwitchR r, IVecI v)` check if same in Z
`IBool` | `eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(IVecI v)` check if same in Z
`boolean` | `eqZ(IVecI v, double tolerance)` check if same in Z with tolerance
`IPointAgent` | `flip()` alias of neg
`IGeometry[]` | `geometries()` returns all geometries
`IGeometry` | `geometry()` returns first geomery
`IGeometry` | `geometry(int i)` returns n-th geometry
`int` | `geometryNum()` total number of geometries
`IVec` | `get()`
`double` | `getSize()`
`IDouble` | `getX()`
`IDouble` | `getY()`
`IDouble` | `getZ()`
`IPointAgent` | `hide()`
`IPointAgent` | `hideGeometry()` hide attached geometry
`IPointAgent` | `hidePoint()`
`IPointAgent` | `hsb(double h, double s, double b)`
`IPointAgent` | `hsb(double h, double s, double b, double a)`
`IPointAgent` | `hsb(float h, float s, float b)`
`IPointAgent` | `hsb(float h, float s, float b, float a)`
`boolean` | `isValid()` checking parameters validity.
`IPointAgent` | `layer(ILayer l)` Set layer by ILayer object
`double` | `len()` getting length of the vector
`IPointAgent` | `len(double l)` setting length
`IPointAgent` | `len(IDoubleI l)` setting length
`double` | `len(ISwitchE e)` getting length of the vector
`IDouble` | `len(ISwitchR r)` getting length of the vector
`double` | `len2()` getting squared length of the vector
`double` | `len2(ISwitchE e)` getting squared length of the vector
`IDouble` | `len2(ISwitchR r)` getting squared length of the vector
`IMesh` | `mesh()` returns first mesh
`IMesh` | `mesh(int index)` returns n-th surface
`IMesh[]` | `meshes()` returns all contained meshes
`int` | `meshNum()` returns mesh num
`IVec` | `mid(double vx, double vy, double vz)` create a new instance of midpoint
`IVec` | `mid(IVecI v)` create a new instance of midpoint
`IPointAgent` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IPointAgent` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IPointAgent` | `mirror(IVecI planeDir)` mirror is alias of ref
`IPointAgent` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IPointAgent` | `mul(double v)`
`IPointAgent` | `mul(IDoubleI v)`
`IPointAgent` | `mv(double x, double y, double z)` mv() is alias of add()
`IPointAgent` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
`IPointAgent` | `mv(IVecI v)` mv() is alias of add()
`IPointAgent` | `name(java.lang.String nm)` methods of IObject
`IPointAgent` | `neg()`
`IVec` | `nml(double vx, double vy, double vz)` alias of cross
`IVec` | `nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)` create normal vector from 3 points of self, pt1 and pt2
`IVec` | `nml(IVecI v)` alias of cross
`IVec` | `nml(IVecI pt1, IVecI pt2)` create normal vector from 3 points of self, pt1 and pt2
`IPoint` | `point()` returns first point
`IPoint` | `point(int index)` returns n-th point
`int` | `pointNum()` returns point num
`IPoint[]` | `points()` returns all contained points
`IVec` | `pos()`
`IPointAgent` | `pos(IVecI v)`
`IVec` | `position()`
`IPointAgent` | `position(IVecI v)`
`IPointAgent` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IPointAgent` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IPointAgent` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IPointAgent` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IPointAgent` | `rev()` alias of neg()
`IPointAgent` | `rot(double angle)` rotation on XY plane
`IPointAgent` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
`IPointAgent` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
`IPointAgent` | `rot(IDoubleI angle)` rotation around z-axis and origin
`IPointAgent` | `rot(IVecI axis, double angle)` rotation around axis vector
`IPointAgent` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`IPointAgent` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`IPointAgent` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
`IPointAgent` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
`IPointAgent` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`IPointAgent` | `rot2(double angle)` rotation on xy-plane around origin; same with rot(double)
`IPointAgent` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
`IPointAgent` | `rot2(IDoubleI angle)` rotation on xy-plane around origin; same with rot(IDoubleI)
`IPointAgent` | `rot2(IVecI destDir)` rotation on xy-plane to destination direction vector
`IPointAgent` | `rot2(IVecI center, double angle)` rotation on xy-plane
`IPointAgent` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane around center
`IPointAgent` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane to destination point location
`IPointAgent` | `scale(double f)` alias of mul
`IPointAgent` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
`IPointAgent` | `scale(IDoubleI f)` alias of mul
`IPointAgent` | `scale(IVecI center, double f)` scale from a center
`IPointAgent` | `scale(IVecI center, IDoubleI f)` scale from a center
`IPointAgent` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IPointAgent` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
`IPointAgent` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IPointAgent` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IPointAgent` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
`IPointAgent` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
`IPointAgent` | `set(double x, double y, double z)`
`IPointAgent` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IPointAgent` | `set(IVecI v)`
`IPointAgent` | `setColor(double dgray)`
`IPointAgent` | `setColor(double dgray, double dalpha)`
`IPointAgent` | `setColor(double dr, double dg, double db)`
`IPointAgent` | `setColor(double dr, double dg, double db, double da)`
`IPointAgent` | `setColor(float fgray)`
`IPointAgent` | `setColor(float fgray, float falpha)`
`IPointAgent` | `setColor(float fr, float fg, float fb)`
`IPointAgent` | `setColor(float fr, float fg, float fb, float fa)`
`IPointAgent` | `setColor(IColor c)`
`IPointAgent` | `setColor(IColor c, double alpha)`
`IPointAgent` | `setColor(IColor c, float alpha)`
`IPointAgent` | `setColor(IColor c, int alpha)`
`IPointAgent` | `setColor(int gray)`
`IPointAgent` | `setColor(int gray, int alpha)`
`IPointAgent` | `setColor(int r, int g, int b)`
`IPointAgent` | `setColor(int r, int g, int b, int a)`
`IPointAgent` | `setHSBColor(double h, double s, double b)`
`IPointAgent` | `setHSBColor(double h, double s, double b, double a)`
`IPointAgent` | `setHSBColor(float h, float s, float b)`
`IPointAgent` | `setHSBColor(float h, float s, float b, float a)`
`IPointAgent` | `setSize(double sz)` methods of IPoint
`IPointAgent` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IPointAgent` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IPointAgent` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IPointAgent` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IPointAgent` | `shearXY(double sxy, double syx)` shear operation on XY
`IPointAgent` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IPointAgent` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IPointAgent` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IPointAgent` | `shearYZ(double syz, double szy)` shear operation on YZ
`IPointAgent` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IPointAgent` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IPointAgent` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IPointAgent` | `shearZX(double szx, double sxz)` shear operation on ZX
`IPointAgent` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IPointAgent` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IPointAgent` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IPointAgent` | `show()`
`IPointAgent` | `showGeometry()` show attached geometry
`IPointAgent` | `showPoint()`
`double` | `size()`
`IPointAgent` | `size(double sz)`
`IPointAgent` | `sub(double x, double y, double z)`
`IPointAgent` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`IPointAgent` | `sub(IVecI v)`
`IVec` | `sum(double vx, double vy, double vz)` create a new instance of total summation
`IVec` | `sum(IVecI... v)` create a new instance of total summation
`IVec` | `sum(IVecI v)` create a new instance of total summation
`IVec` | `sum(IVecI v2, double w2)` create a new instance of weighted sum
`IVec` | `sum(IVecI v2, double w1, double w2)` create a new instance of weighted sum
`IVec` | `sum(IVecI v2, IDoubleI w2)` create a new instance of weighted sum
`IVec` | `sum(IVecI v2, IDoubleI w1, IDoubleI w2)` create a new instance of weighted sum
`ISurface` | `surface()` returns first surface
`ISurface` | `surface(int index)` returns n-th surface
`int` | `surfaceNum()` returns surface num
`ISurface[]` | `surfaces()` returns all contained surfaces
`IVec2` | `to2d()`
`IVec2` | `to2d(IVecI projectionDir)`
`IVec2` | `to2d(IVecI xaxis, IVecI yaxis)`
`IVec2` | `to2d(IVecI xaxis, IVecI yaxis, IVecI origin)`
`IVec4` | `to4d()`
`IVec4` | `to4d(double w)`
`IVec4` | `to4d(IDoubleI w)`
`java.lang.String` | `toString()`
`IPointAgent` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IPointAgent` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IPointAgent` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IPointAgent` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IPointAgent` | `translate(double x, double y, double z)` translate() is alias of add()
`IPointAgent` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IPointAgent` | `translate(IVecI v)` alias of add()
`IPointAgent` | `unit()` unitize
`IPointAgent` | `weight(double w)`
`IPointAgent` | `weight(float w)`
`double` | `x()` methods of IVecI
`IPointAgent` | `x(double vx)` setting x component
`IPointAgent` | `x(IDoubleI vx)` setting x component
`double` | `x(ISwitchE e)` getting x component
`IDouble` | `x(ISwitchR r)` getting x component
`double` | `y()` getting y component
`IPointAgent` | `y(double vy)` setting y component
`IPointAgent` | `y(IDoubleI vy)` setting y component
`double` | `y(ISwitchE e)` getting y component
`IDouble` | `y(ISwitchR r)` getting y component
`double` | `z()` getting z component
`IPointAgent` | `z(double vz)` setting z component
`IPointAgent` | `z(IDoubleI vz)` setting z component
`double` | `z(ISwitchE e)` getting z component
`IDouble` | `z(ISwitchR r)` getting z component
`IPointAgent` | `zero()` setting all zero

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, removeTarget, removeTarget, target, target, targetNum, targets, time, time, update, updateGraphic, updateTarget`

Methods inherited from class igeo.IObject
`alpha, alphaInt, attr, attr, attr, awtColor, blue, blueInt, clearDynamics, clearGraphics, clr, clr, clr, clr, clr, createGraphic, defaultAttribute, deleteGraphic, getAWTColor, getColor, getGraphic, getGraphic, getParameter, graphicsNum, gray, grayInt, green, greenInt, greyInt, initGraphic, initObject, isVisible, layer, layer, name, red, redInt, resetGraphic, server, setColor, setColor, setColor, setColor, setParameter, syncColor, syncGraphic, syncVisibility, syncWeight, userData, userData, visible, weight`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### pos

    public IVec pos

### point

    public IPoint point

### tracker

    public IAgentTracker tracker

Constructor Detail

### IPointAgent

    public IPointAgent()

### IPointAgent

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

### IPointAgent

    public IPointAgent(IVec p)

### IPointAgent

    public IPointAgent(IVecI p)

### IPointAgent

    public IPointAgent(IPointAgent pa)

### IPointAgent

    public IPointAgent(IGeometry... geometries)

### IPointAgent

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

Method Detail

### position

    public IVec position()

### position

    public IPointAgent position(IVecI v)

### pos

    public IVec pos()

### pos

    public IPointAgent pos(IVecI v)

### attach

    public IPointAgent attach(IGeometry... geometries)

  attach geometry object to agent to track its location.

  Parameters:
    `geometries` - one or more geometry objects. object's center is moved to the agent's location.

### attach

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

  attach geometry object to agent to track its location.

  Parameters:
    `geometryOrigin` - origin of geometry object which is moved to the agent's location.
    `geometries` - one or more geometry objects.

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

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

### x

    public double x()

  methods of IVecI

  Specified by:
    `x` in interface `IVecI`

### y

    public double y()

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public double z()

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IPointAgent x(double vx)

  Description copied from interface: `IVecI`
  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IPointAgent y(double vy)

  Description copied from interface: `IVecI`
  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IPointAgent z(double vz)

  Description copied from interface: `IVecI`
  setting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IPointAgent x(IDoubleI vx)

  Description copied from interface: `IVecI`
  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IPointAgent y(IDoubleI vy)

  Description copied from interface: `IVecI`
  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IPointAgent z(IDoubleI vz)

  Description copied from interface: `IVecI`
  setting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public double x(ISwitchE e)

  Description copied from interface: `IVecI`
  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public double y(ISwitchE e)

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public double z(ISwitchE e)

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IDouble x(ISwitchR r)

  Description copied from interface: `IVecI`
  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IDouble y(ISwitchR r)

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IDouble z(ISwitchR r)

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### get

    public IVec get()

  Specified by:
    `get` in interface `IParameter`
  Specified by:
    `get` in interface `IVecI`
  Specified by:
    `get` in interface `IVecOp`

### dup

    public IPointAgent dup()

  Description copied from class: `IObject`
  duplicate object

  Specified by:
    `dup` in interface `ITransformable`
  Specified by:
    `dup` in interface `IVecI`
  Overrides:
    `dup` in class `IObject`

### to2d

    public IVec2 to2d()

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2 to2d(IVecI projectionDir)

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2 to2d(IVecI xaxis,
                      IVecI yaxis)

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2 to2d(IVecI xaxis,
                      IVecI yaxis,
                      IVecI origin)

  Specified by:
    `to2d` in interface `IVecI`

### to4d

    public IVec4 to4d()

  Specified by:
    `to4d` in interface `IVecI`

### to4d

    public IVec4 to4d(double w)

  Specified by:
    `to4d` in interface `IVecI`

### to4d

    public IVec4 to4d(IDoubleI w)

  Specified by:
    `to4d` in interface `IVecI`

### getX

    public IDouble getX()

  Specified by:
    `getX` in interface `IVecI`

### getY

    public IDouble getY()

  Specified by:
    `getY` in interface `IVecI`

### getZ

    public IDouble getZ()

  Specified by:
    `getZ` in interface `IVecI`

### set

    public IPointAgent set(IVecI v)

  Specified by:
    `set` in interface `IVecI`

### set

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

  Specified by:
    `set` in interface `IVecI`

### set

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

  Specified by:
    `set` in interface `IVecI`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IPointAgent add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### sub

    public IPointAgent sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### mul

    public IPointAgent mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVecI`

### mul

    public IPointAgent mul(double v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVecI`

### div

    public IPointAgent div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVecI`

### div

    public IPointAgent div(double v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVecI`

### neg

    public IPointAgent neg()

  Specified by:
    `neg` in interface `ITransformable`
  Specified by:
    `neg` in interface `IVecI`

### rev

    public IPointAgent rev()

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

  Specified by:
    `rev` in interface `IVecI`

### flip

    public IPointAgent flip()

  Description copied from interface: `ITransformable`
  alias of neg

  Specified by:
    `flip` in interface `ITransformable`
  Specified by:
    `flip` in interface `IVecI`

### zero

    public IPointAgent zero()

  Description copied from interface: `IVecI`
  setting all zero

  Specified by:
    `zero` in interface `IVecI`

### add

    public IPointAgent add(IVecI v,
                           double f)

  Description copied from interface: `ITransformable`
  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IPointAgent add(IVecI v,
                           IDoubleI f)

  Description copied from interface: `ITransformable`
  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IPointAgent add(double f,
                           IVecI v)

  Description copied from interface: `ITransformable`
  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IPointAgent add(IDoubleI f,
                           IVecI v)

  Description copied from interface: `ITransformable`
  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### dot

    public double dot(IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public double dot(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public double dot(ISwitchE e,
                      IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public IDouble dot(ISwitchR r,
                       IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### cross

    public IVec cross(IVecI v)

  Description copied from interface: `IVecI`
  cross product, creating a new instance

  Specified by:
    `cross` in interface `IVecI`

### cross

    public IVec cross(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  cross product, creating a new instance

  Specified by:
    `cross` in interface `IVecI`

### len

    public double len()

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len

    public double len(ISwitchE e)

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len

    public IDouble len(ISwitchR r)

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len2

    public double len2()

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len2

    public double len2(ISwitchE e)

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len2

    public IDouble len2(ISwitchR r)

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len

    public IPointAgent len(IDoubleI l)

  Description copied from interface: `IVecI`
  setting length

  Specified by:
    `len` in interface `IVecI`

### len

    public IPointAgent len(double l)

  Description copied from interface: `IVecI`
  setting length

  Specified by:
    `len` in interface `IVecI`

### unit

    public IPointAgent unit()

  Description copied from interface: `IVecI`
  unitize

  Specified by:
    `unit` in interface `IVecI`

### dist

    public double dist(IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public double dist(double vx,
                       double vy,
                       double vz)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public double dist(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public IDouble dist(ISwitchR r,
                        IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist2

    public double dist2(IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public double dist2(double vx,
                        double vy,
                        double vz)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public double dist2(ISwitchE e,
                        IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public IDouble dist2(ISwitchR r,
                         IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### eq

    public boolean eq(IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(ISwitchE e,
                      IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public IBool eq(ISwitchR r,
                    IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(IVecI v,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(double vx,
                      double vy,
                      double vz,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(ISwitchE e,
                      IVecI v,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public IBool eq(ISwitchR r,
                    IVecI v,
                    IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eqX

    public boolean eqX(IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(double vx)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(double vy)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(double vz)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public IBool eqX(ISwitchR r,
                     IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public IBool eqY(ISwitchR r,
                     IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public IBool eqZ(ISwitchR r,
                     IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(double vx,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(double vy,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(double vz,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public IBool eqX(ISwitchR r,
                     IVecI v,
                     IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public IBool eqY(ISwitchR r,
                     IVecI v,
                     IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public IBool eqZ(ISwitchR r,
                     IVecI v,
                     IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### angle

    public double angle(IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(double vx,
                        double vy,
                        double vz)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(ISwitchE e,
                        IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public IDouble angle(ISwitchR r,
                         IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(IVecI v,
                        IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public double angle(double vx,
                        double vy,
                        double vz,
                        double axisX,
                        double axisY,
                        double axisZ)

  Specified by:
    `angle` in interface `IVecI`
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public double angle(ISwitchE e,
                        IVecI v,
                        IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public IDouble angle(ISwitchR r,
                         IVecI v,
                         IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### rot

    public IPointAgent rot(IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation around z-axis and origin

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IPointAgent rot(double angle)

  Description copied from interface: `IVecI`
  rotation on XY plane

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IPointAgent rot(IVecI axis,
                           IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IPointAgent 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`

### rot

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

  Description copied from interface: `IVecI`
  rotation around axis vector

  Specified by:
    `rot` in interface `IVecI`

### rot

    public IPointAgent 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`

### rot

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

  Description copied from interface: `ITransformable`
  rotation around axis vector and center

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IPointAgent 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`

### rot

    public IPointAgent rot(IVecI axis,
                           IVecI destDir)

  Description copied from interface: `ITransformable`
  rotate to destination direction vector

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

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

  Description copied from interface: `ITransformable`
  rotate to destination point location

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot2

    public IPointAgent rot2(IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around origin; same with rot(IDoubleI)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IPointAgent rot2(double angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around origin; same with rot(double)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IPointAgent 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`

### rot2

    public IPointAgent rot2(IVecI center,
                            IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around center

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

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

  Description copied from interface: `IVecI`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IPointAgent rot2(IVecI destDir)

  Description copied from interface: `ITransformable`
  rotation on xy-plane to destination direction vector

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IPointAgent rot2(IVecI center,
                            IVecI destPt)

  Description copied from interface: `ITransformable`
  rotation on xy-plane to destination point location

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### scale

    public IPointAgent scale(IDoubleI f)

  Description copied from interface: `ITransformable`
  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IPointAgent scale(double f)

  Description copied from interface: `IVecI`
  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IPointAgent 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`

### scale

    public IPointAgent 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`

### scale

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

  Description copied from interface: `IVecI`
  scale from a center

  Specified by:
    `scale` in interface `IVecI`

### scale1d

    public IPointAgent scale1d(IVecI axis,
                               double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

    public IPointAgent 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`

### scale1d

    public IPointAgent 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`

### scale1d

    public IPointAgent 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`

### scale1d

    public IPointAgent 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`

### scale1d

    public IPointAgent 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`

### ref

    public IPointAgent ref(IVecI planeDir)

  Description copied from interface: `ITransformable`
  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `ITransformable`
  Specified by:
    `ref` in interface `IVecI`

### ref

    public IPointAgent 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`

### ref

    public IPointAgent 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`

### ref

    public IPointAgent 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`

### mirror

    public IPointAgent mirror(IVecI planeDir)

  Description copied from interface: `ITransformable`
  mirror is alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Specified by:
    `mirror` in interface `IVecI`

### mirror

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

  Description copied from interface: `IVecI`
  alias of ref

  Specified by:
    `mirror` in interface `IVecI`

### mirror

    public IPointAgent 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`

### mirror

    public IPointAgent 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`

### shear

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

  Description copied from interface: `ITransformable`
  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVecI`

### shear

    public IPointAgent 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`

### shear

    public IPointAgent 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`

### shear

    public IPointAgent 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`

### shearXY

    public IPointAgent 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`

### shearXY

    public IPointAgent 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`

### shearXY

    public IPointAgent 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`

### shearXY

    public IPointAgent 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`

### shearYZ

    public IPointAgent 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`

### shearYZ

    public IPointAgent 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`

### shearYZ

    public IPointAgent 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`

### shearYZ

    public IPointAgent 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`

### shearZX

    public IPointAgent 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`

### shearZX

    public IPointAgent 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`

### shearZX

    public IPointAgent 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`

### shearZX

    public IPointAgent 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`

### translate

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

  Description copied from interface: `ITransformable`
  translate() is alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVecI`

### translate

    public IPointAgent 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`

### translate

    public IPointAgent translate(IVecI v)

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

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVecI`

### transform

    public IPointAgent 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`

### transform

    public IPointAgent 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`

### transform

    public IPointAgent 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`

### transform

    public IPointAgent 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`

### mv

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

  Description copied from interface: `ITransformable`
  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVecI`

### mv

    public IPointAgent 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`

### mv

    public IPointAgent 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`

### cp

    public IPointAgent cp()

  Description copied from class: `IObject`
  alias of dup()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`
  Overrides:
    `cp` in class `IObject`

### cp

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

  Description copied from interface: `ITransformable`
  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### cp

    public IPointAgent 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`

### cp

    public IPointAgent 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`

### dif

    public IVec dif(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### dif

    public IVec dif(double vx,
                    double vy,
                    double vz)

  Description copied from interface: `IVecI`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### diff

    public IVec diff(IVecI v)

  Description copied from interface: `IVecI`
  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### diff

    public IVec diff(double vx,
                     double vy,
                     double vz)

  Description copied from interface: `IVecI`
  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### mid

    public IVec mid(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### mid

    public IVec mid(double vx,
                    double vy,
                    double vz)

  Description copied from interface: `IVecI`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### sum

    public IVec sum(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVec sum(double vx,
                    double vy,
                    double vz)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVec sum(IVecI... v)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### bisect

    public IVec bisect(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### bisect

    public IVec bisect(double vx,
                       double vy,
                       double vz)

  Description copied from interface: `IVecI`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### sum

    public IVec sum(IVecI v2,
                    double w1,
                    double w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVec sum(IVecI v2,
                    double w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVec sum(IVecI v2,
                    IDoubleI w1,
                    IDoubleI w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVec sum(IVecI v2,
                    IDoubleI w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### nml

    public IVec nml(IVecI v)

  Description copied from interface: `IVecI`
  alias of cross

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVec nml(double vx,
                    double vy,
                    double vz)

  Description copied from interface: `IVecI`
  alias of cross

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVec nml(IVecI pt1,
                    IVecI pt2)

  Description copied from interface: `IVecI`
  create normal vector from 3 points of self, pt1 and pt2

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVec nml(double vx1,
                    double vy1,
                    double vz1,
                    double vx2,
                    double vy2,
                    double vz2)

  Description copied from interface: `IVecI`
  create normal vector from 3 points of self, pt1 and pt2

  Specified by:
    `nml` in interface `IVecI`

### isValid

    public boolean isValid()

  Description copied from class: `IObject`
  checking parameters validity. to be overriden.

  Specified by:
    `isValid` in interface `IVecI`
  Overrides:
    `isValid` in class `IObject`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### setSize

    public IPointAgent setSize(double sz)

  methods of IPoint

### size

    public IPointAgent size(double sz)

### getSize

    public double getSize()

### size

    public double size()

### name

    public IPointAgent name(java.lang.String nm)

  methods of IObject

  Overrides:
    `name` in class `IAgent`

### layer

    public IPointAgent layer(ILayer l)

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

  Overrides:
    `layer` in class `IAgent`

### show

    public IPointAgent show()

  Overrides:
    `show` in class `IAgent`

### hide

    public IPointAgent hide()

  Overrides:
    `hide` in class `IAgent`

### showPoint

    public IPointAgent showPoint()

### hidePoint

    public IPointAgent hidePoint()

### showGeometry

    public IPointAgent showGeometry()

  show attached geometry

### hideGeometry

    public IPointAgent hideGeometry()

  hide attached geometry

### del

    public void del()

  Description copied from class: `IAgent`
  delete agent and stop it by removing it from dynamics server

  Overrides:
    `del` in class `IAgent`

### del

    public void del(boolean deleteGeometry)

  stop agent with option of deleting/keeping the geometry the agent owns

  Overrides:
    `del` in class `IAgent`

### clr

    public IPointAgent clr(IColor c)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(IColor c,
                           int alpha)

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

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(IColor c,
                           float alpha)

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

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(IColor c,
                           double alpha)

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

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(int gray)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(float fgray)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(double dgray)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(int gray,
                           int alpha)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(float fgray,
                           float falpha)

  Overrides:
    `clr` in class `IAgent`

### clr

    public IPointAgent clr(double dgray,
                           double dalpha)

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### clr

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

  Overrides:
    `clr` in class `IAgent`

### hsb

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

  Overrides:
    `hsb` in class `IAgent`

### hsb

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

  Overrides:
    `hsb` in class `IAgent`

### hsb

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

  Overrides:
    `hsb` in class `IAgent`

### hsb

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

  Overrides:
    `hsb` in class `IAgent`

### setColor

    public IPointAgent setColor(IColor c)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(IColor c,
                                int alpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(IColor c,
                                float alpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(IColor c,
                                double alpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(int gray)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(float fgray)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(double dgray)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(int gray,
                                int alpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(float fgray,
                                float falpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

    public IPointAgent setColor(double dgray,
                                double dalpha)

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setColor

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

  Overrides:
    `setColor` in class `IAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IAgent`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IAgent`

### weight

    public IPointAgent weight(double w)

  Overrides:
    `weight` in class `IAgent`

### weight

    public IPointAgent weight(float w)

  Overrides:
    `weight` in class `IAgent`

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