igeo

## Class IVolumeGeo

- java.lang.Object
- - igeo.IParameterObject
  - - igeo.INurbsGeo
    - - igeo.IVolumeGeo

- All Implemented Interfaces:
    IEntityParameter, IParameter, ISubobject, ITransformable, IVal, IVolumeI, IVolumeOp

      public class IVolumeGeo
      extends INurbsGeo
      implements IVolumeI, IEntityParameter

  Geometry of NURBS volume.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `IBSplineBasisFunction` | `basisFunctionU`
    `IBSplineBasisFunction` | `basisFunctionV`
    `IBSplineBasisFunction` | `basisFunctionW`
    `IVecI[][][]` | `controlPoints`
    `boolean[][][]` | `defaultWeights` flag to determine to use default weight value (1.0)
    `IBSplineBasisFunction` | `derivativeFunctionU`
    `IBSplineBasisFunction` | `derivativeFunctionV`
    `IBSplineBasisFunction` | `derivativeFunctionW`
    `int` | `udegree`
    `double` | `uend`
    `double[]` | `uknots` normalized knot vector (start value in knot vector is 0, end value is 1)
    `double` | `ustart`
    `int` | `vdegree`
    `double` | `vend`
    `double[]` | `vknots` normalized knot vector (start value in knot vector is 0, end value is 1)
    `double` | `vstart`
    `int` | `wdegree`
    `double` | `wend`
    `double[]` | `wknots` normalized knot vector (start value in knot vector is 0, end value is 1)
    `double` | `wstart`

    - ### Fields inherited from class igeo.IParameterObject

      `parent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IVolumeGeo()` point cache for proximity search
    `IVolumeGeo(double[][][][] xyzValues)`
    `IVolumeGeo(double[][][][] xyzValues, boolean closeU, boolean closeV, boolean closeW)`
    `IVolumeGeo(double[][][][] xyzValues, int udeg, int vdeg, int wdeg)`
    `IVolumeGeo(double[][][][] xyzValues, int udeg, int vdeg, int wdeg, boolean closeU, boolean closeV, boolean closeW)`
    `IVolumeGeo(double x111, double y111, double z111, double x211, double y211, double z211, double x121, double y121, double z121, double x221, double y221, double z221, double x112, double y112, double z112, double x212, double y212, double z212, double x122, double y122, double z122, double x222, double y222, double z222)`
    `IVolumeGeo(IVecI[][][] cpts)`
    `IVolumeGeo(IVecI[][][] cpts, boolean closeU, boolean closeV, boolean closeW)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, boolean closeU, boolean closeV, boolean closeW)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, boolean closeU, double[] vk, double[] wk)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, double[] uk, boolean closeV, double[] wk)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, double[] uk, double[] vk, boolean closeW)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, double[] uknots, double[] vknots, double[] wknots)`
    `IVolumeGeo(IVecI[][][] cpts, int udegree, int vdegree, int wdegree, double[] uknots, double[] vknots, double[] wknots, double ustart, double uend, double vstart, double vend, double wstart, double wend)`
    `IVolumeGeo(IVecI pt111, IVecI pt211, IVecI pt121, IVecI pt221, IVecI pt112, IVecI pt212, IVecI pt122, IVecI pt222)`
    `IVolumeGeo(IVolumeGeo vol)` create surface with outer trim curve

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IVolumeGeo` | `add(double x, double y, double z)` transformation methods; API of ITransformable interface
    `IVolumeGeo` | `add(double f, IVecI v)` scale add alias
    `IVolumeGeo` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IVolumeGeo` | `add(IDoubleI f, IVecI v)` scale add alias
    `IVolumeGeo` | `add(IVecI v)`
    `IVolumeGeo` | `add(IVecI v, double f)` scale add
    `IVolumeGeo` | `add(IVecI v, IDoubleI f)` scale add
    `IVec` | `center()` returns center of geometry object
    `static void` | `checkDuplicatedCP(IVecI[][][] cpts)`
    `static void` | `checkDuplicatedCP(IVecI[][][] cpts, IVecI[] pts)`
    `static void` | `checkDuplicatedCPOnFace(IVecI[][][] cpts)`
    `IVec` | `corner(IIntegerI u, IIntegerI v, IIntegerI w)`
    `IVec` | `corner(int u, int v, int w)`
    `IVecI` | `cornerCP(IIntegerI u, IIntegerI v, IIntegerI w)`
    `IVec` | `cornerCP(int u, int v, int w)`
    `IVolumeGeo` | `cp()` cp() is alias of dup()
    `IVolumeGeo` | `cp(double x, double y, double z)` cp() is alias of dup().add()
    `IVolumeGeo` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
    `IVecI` | `cp(IIntegerI i, IIntegerI j, IIntegerI k)` getting control point at i and j
    `IVecI` | `cp(int i, int j, int k)` getting control point at i and j
    `IVolumeGeo` | `cp(IVecI v)` cp() is alias of dup().add()
    `IVecI[][][]` | `cps()`
    `IVolumeGeo` | `div(double v)`
    `IVolumeGeo` | `div(IDoubleI v)`
    `IVolumeGeo` | `dup()` duplicate the instance
    `IVec` | `ep(IIntegerI i, IIntegerI j, IIntegerI k)` getting edit point at i and j
    `IVec` | `ep(int i, int j, int k)` getting edit point at i and j
    `IVolumeGeo` | `flip()` alias of neg
    `IVolumeGeo` | `get()`
    `static IVec[][][]` | `getPointsFromArray(double[][][][] xyzvalues)`
    `void` | `init(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, boolean closeU, boolean closeV, boolean closeW)`
    `void` | `init(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, boolean closeU, double[] vk, double[] wk)`
    `void` | `init(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, double[] uk, boolean closeV, double[] wk)`
    `void` | `init(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, double[] uk, double[] vk, boolean closeW)`
    `void` | `init(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, double[] uk, double[] vk, double[] wk)`
    `boolean` | `isRational()`
    `boolean` | `isRational(ISwitchE e)`
    `IBool` | `isRational(ISwitchR r)`
    `boolean` | `isUClosed()` is the surface closed in u direction
    `boolean` | `isUClosed(ISwitchE e)`
    `IBool` | `isUClosed(ISwitchR r)`
    `boolean` | `isValid()`
    `static boolean` | `isValidCP(IVecI[][][] cpts)`
    `static boolean` | `isValidCP(IVecI[][][] cpts, int udeg, int vdeg, int wdeg, double[] uknots, double[] vknots, double[] wknots)`
    `boolean` | `isVClosed()` is the surface closed in v direction
    `boolean` | `isVClosed(ISwitchE e)`
    `IBool` | `isVClosed(ISwitchR r)`
    `boolean` | `isWClosed()` is the surface closed in v direction
    `boolean` | `isWClosed(ISwitchE e)`
    `IBool` | `isWClosed(ISwitchR r)`
    `IVec` | `mid()` mid in UV parameter (u=0.5, v=0.5) point on a surface
    `IVolumeGeo` | `mirror(IVecI planeDir)` mirror is alias of ref
    `IVolumeGeo` | `mirror(IVecI center, IVecI planeDir)`
    `IVolumeGeo` | `mul(double v)`
    `IVolumeGeo` | `mul(IDoubleI v)`
    `IVolumeGeo` | `mv(double x, double y, double z)` mv() is alias of add()
    `IVolumeGeo` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IVolumeGeo` | `mv(IVecI v)`
    `IVolumeGeo` | `neg()`
    `IVec` | `pt(double u, double v, double w)`
    `void` | `pt(double u, double v, double w, IVec retval)`
    `IVec` | `pt(IDoubleI u, IDoubleI v, IDoubleI w)`
    `IVec` | `pt(IVec v)`
    `IVec` | `pt(IVecI v)`
    `IVolumeGeo` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `IVolumeGeo` | `ref(IVecI center, IVecI planeDir)`
    `IVolumeGeo` | `rot(double angle)`
    `IVolumeGeo` | `rot(IDoubleI angle)` rotation around z-axis and origin
    `IVolumeGeo` | `rot(IVecI axis, double angle)`
    `IVolumeGeo` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
    `IVolumeGeo` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
    `IVolumeGeo` | `rot(IVecI center, IVecI axis, double angle)`
    `IVolumeGeo` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
    `IVolumeGeo` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
    `IVolumeGeo` | `rot2(double angle)` rotation on xy-plane around origin; same with rot(double)
    `IVolumeGeo` | `rot2(IDoubleI angle)` rotation on xy-plane around origin; same with rot(IDoubleI)
    `IVolumeGeo` | `rot2(IVecI destDir)` rotation on xy-plane to destination direction vector
    `IVolumeGeo` | `rot2(IVecI center, double angle)`
    `IVolumeGeo` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane around center
    `IVolumeGeo` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane to destination point location
    `IVolumeGeo` | `scale(double f)`
    `IVolumeGeo` | `scale(IDoubleI f)` alias of mul
    `IVolumeGeo` | `scale(IVecI center, double f)`
    `IVolumeGeo` | `scale(IVecI center, IDoubleI f)`
    `IVolumeGeo` | `scale1d(IVecI axis, double f)` scale only in 1 direction
    `IVolumeGeo` | `scale1d(IVecI axis, IDoubleI f)`
    `IVolumeGeo` | `scale1d(IVecI center, IVecI axis, double f)`
    `IVolumeGeo` | `scale1d(IVecI center, IVecI axis, IDoubleI f)`
    `IVecI[]` | `serializeMatrix(IVecI[][][] cpts)`
    `IVolumeGeo` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `IVolumeGeo` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
    `IVolumeGeo` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)`
    `IVolumeGeo` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
    `IVolumeGeo` | `shearXY(double sxy, double syx)`
    `IVolumeGeo` | `shearXY(IDoubleI sxy, IDoubleI syx)`
    `IVolumeGeo` | `shearXY(IVecI center, double sxy, double syx)`
    `IVolumeGeo` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)`
    `IVolumeGeo` | `shearYZ(double syz, double szy)`
    `IVolumeGeo` | `shearYZ(IDoubleI syz, IDoubleI szy)`
    `IVolumeGeo` | `shearYZ(IVecI center, double syz, double szy)`
    `IVolumeGeo` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)`
    `IVolumeGeo` | `shearZX(double szx, double sxz)`
    `IVolumeGeo` | `shearZX(IDoubleI szx, IDoubleI sxz)`
    `IVolumeGeo` | `shearZX(IVecI center, double szx, double sxz)`
    `IVolumeGeo` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)`
    `IVolumeGeo` | `sub(double x, double y, double z)`
    `IVolumeGeo` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IVolumeGeo` | `sub(IVecI v)`
    `IVolumeGeo` | `transform(IMatrix3I mat)`
    `IVolumeGeo` | `transform(IMatrix4I mat)`
    `IVolumeGeo` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)`
    `IVolumeGeo` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)`
    `IVolumeGeo` | `translate(double x, double y, double z)` translate() is alias of add()
    `IVolumeGeo` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)`
    `IVolumeGeo` | `translate(IVecI v)`
    `IDouble` | `u(IIntegerI epIdx, IDoubleI epFraction)`
    `double` | `u(int epIdx, double epFraction)`
    `int` | `ucpNum()`
    `int` | `ucpNum(ISwitchE e)`
    `IInteger` | `ucpNum(ISwitchR r)`
    `int` | `udeg()`
    `int` | `udeg(ISwitchE e)`
    `IInteger` | `udeg(ISwitchR r)`
    `double` | `uend()`
    `double` | `uend(ISwitchE e)`
    `IDouble` | `uend(ISwitchR r)`
    `int` | `uepNum()`
    `int` | `uepNum(ISwitchE e)`
    `IInteger` | `uepNum(ISwitchR r)`
    `IDouble` | `uknot(IIntegerI i)`
    `double` | `uknot(int i)` distance to the closest point on a surface on 2D
    `int` | `uknotNum()`
    `int` | `uknotNum(ISwitchE e)`
    `IInteger` | `uknotNum(ISwitchR r)`
    `double[]` | `uknots()`
    `double[]` | `uknots(ISwitchE e)`
    `IDouble[]` | `uknots(ISwitchR r)`
    `int` | `unum()`
    `int` | `unum(ISwitchE e)`
    `IInteger` | `unum(ISwitchR r)`
    `double` | `ustart()` original knots start value and end value
    `double` | `ustart(ISwitchE e)`
    `IDouble` | `ustart(ISwitchR r)`
    `IVec` | `utan(double u, double v, double w)`
    `void` | `utan(double u, double v, double w, IVec retval)`
    `IVec` | `utan(IDoubleI u, IDoubleI v, IDoubleI w)`
    `IVec` | `utan(IVecI v)`
    `IDouble` | `v(IIntegerI epIdx, IDoubleI epFraction)`
    `double` | `v(int epIdx, double epFraction)`
    `int` | `vcpNum()`
    `int` | `vcpNum(ISwitchE e)`
    `IInteger` | `vcpNum(ISwitchR r)`
    `int` | `vdeg()`
    `int` | `vdeg(ISwitchE e)`
    `IInteger` | `vdeg(ISwitchR r)`
    `double` | `vend()`
    `double` | `vend(ISwitchE e)`
    `IDouble` | `vend(ISwitchR r)`
    `int` | `vepNum()`
    `int` | `vepNum(ISwitchE e)`
    `IInteger` | `vepNum(ISwitchR r)`
    `IDouble` | `vknot(IIntegerI i)`
    `double` | `vknot(int i)`
    `int` | `vknotNum()`
    `int` | `vknotNum(ISwitchE e)`
    `IInteger` | `vknotNum(ISwitchR r)`
    `double[]` | `vknots()`
    `double[]` | `vknots(ISwitchE e)`
    `IDouble[]` | `vknots(ISwitchR r)`
    `int` | `vnum()`
    `int` | `vnum(ISwitchE e)`
    `IInteger` | `vnum(ISwitchR r)`
    `double` | `vstart()`
    `double` | `vstart(ISwitchE e)`
    `IDouble` | `vstart(ISwitchR r)`
    `IVec` | `vtan(double u, double v, double w)`
    `void` | `vtan(double u, double v, double w, IVec retval)`
    `IVec` | `vtan(IDoubleI u, IDoubleI v, IDoubleI w)`
    `IVec` | `vtan(IVecI v)`
    `IDouble` | `w(IIntegerI epIdx, IDoubleI epFraction)`
    `double` | `w(int epIdx, double epFraction)`
    `int` | `wcpNum()`
    `int` | `wcpNum(ISwitchE e)`
    `IInteger` | `wcpNum(ISwitchR r)`
    `int` | `wdeg()`
    `int` | `wdeg(ISwitchE e)`
    `IInteger` | `wdeg(ISwitchR r)`
    `double` | `wend()`
    `double` | `wend(ISwitchE e)`
    `IDouble` | `wend(ISwitchR r)`
    `int` | `wepNum()`
    `int` | `wepNum(ISwitchE e)`
    `IInteger` | `wepNum(ISwitchR r)`
    `IDouble` | `wknot(IIntegerI i)`
    `double` | `wknot(int i)`
    `int` | `wknotNum()`
    `int` | `wknotNum(ISwitchE e)`
    `IInteger` | `wknotNum(ISwitchR r)`
    `double[]` | `wknots()`
    `double[]` | `wknots(ISwitchE e)`
    `IDouble[]` | `wknots(ISwitchR r)`
    `int` | `wnum()`
    `int` | `wnum(ISwitchE e)`
    `IInteger` | `wnum(ISwitchR r)`
    `double` | `wstart()`
    `double` | `wstart(ISwitchE e)`
    `IDouble` | `wstart(ISwitchR r)`
    `IVec` | `wtan(double u, double v, double w)`
    `void` | `wtan(double u, double v, double w, IVec retval)`
    `IVec` | `wtan(IDoubleI u, IDoubleI v, IDoubleI w)`
    `IVec` | `wtan(IVecI v)`

    - ### Methods inherited from class igeo.INurbsGeo

      `createClosedCP, createClosedCPInU, createClosedCPInU, createClosedCPInV, createClosedCPInV, createClosedCPInW, createClosedKnots, createKnots, createKnots, invertKnots, isUClosed, isValidKnots, isVClosed, isWClosed, normalizeKnots`

    - ### Methods inherited from class igeo.IParameterObject

      `createObject, parent, parent`

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

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

- - ### Field Detail

    - #### controlPoints

          public IVecI[][][] controlPoints

    - #### udegree

          public int udegree

    - #### vdegree

          public int vdegree

    - #### wdegree

          public int wdegree

    - #### uknots

          public double[] uknots

      normalized knot vector (start value in knot vector is 0, end value is 1)

    - #### vknots

          public double[] vknots

      normalized knot vector (start value in knot vector is 0, end value is 1)

    - #### wknots

          public double[] wknots

      normalized knot vector (start value in knot vector is 0, end value is 1)

    - #### ustart

          public double ustart

    - #### uend

          public double uend

    - #### vstart

          public double vstart

    - #### vend

          public double vend

    - #### wstart

          public double wstart

    - #### wend

          public double wend

    - #### defaultWeights

          public boolean[][][] defaultWeights

      flag to determine to use default weight value (1.0)

    - #### basisFunctionU

          public IBSplineBasisFunction basisFunctionU

    - #### basisFunctionV

          public IBSplineBasisFunction basisFunctionV

    - #### basisFunctionW

          public IBSplineBasisFunction basisFunctionW

    - #### derivativeFunctionU

          public IBSplineBasisFunction derivativeFunctionU

    - #### derivativeFunctionV

          public IBSplineBasisFunction derivativeFunctionV

    - #### derivativeFunctionW

          public IBSplineBasisFunction derivativeFunctionW

  - ### Constructor Detail

    - #### IVolumeGeo

          public IVolumeGeo()

      point cache for proximity search

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            double[] uknots,
                            double[] vknots,
                            double[] wknots,
                            double ustart,
                            double uend,
                            double vstart,
                            double vend,
                            double wstart,
                            double wend)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            double[] uknots,
                            double[] vknots,
                            double[] wknots)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            boolean closeU,
                            boolean closeV,
                            boolean closeW)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            boolean closeU,
                            double[] vk,
                            double[] wk)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            double[] uk,
                            boolean closeV,
                            double[] wk)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            int udegree,
                            int vdegree,
                            int wdegree,
                            double[] uk,
                            double[] vk,
                            boolean closeW)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI[][][] cpts,
                            boolean closeU,
                            boolean closeV,
                            boolean closeW)

    - #### IVolumeGeo

          public IVolumeGeo(IVecI pt111,
                            IVecI pt211,
                            IVecI pt121,
                            IVecI pt221,
                            IVecI pt112,
                            IVecI pt212,
                            IVecI pt122,
                            IVecI pt222)

    - #### IVolumeGeo

          public IVolumeGeo(double x111,
                            double y111,
                            double z111,
                            double x211,
                            double y211,
                            double z211,
                            double x121,
                            double y121,
                            double z121,
                            double x221,
                            double y221,
                            double z221,
                            double x112,
                            double y112,
                            double z112,
                            double x212,
                            double y212,
                            double z212,
                            double x122,
                            double y122,
                            double z122,
                            double x222,
                            double y222,
                            double z222)

    - #### IVolumeGeo

          public IVolumeGeo(double[][][][] xyzValues)

    - #### IVolumeGeo

          public IVolumeGeo(double[][][][] xyzValues,
                            int udeg,
                            int vdeg,
                            int wdeg)

    - #### IVolumeGeo

          public IVolumeGeo(double[][][][] xyzValues,
                            boolean closeU,
                            boolean closeV,
                            boolean closeW)

    - #### IVolumeGeo

          public IVolumeGeo(double[][][][] xyzValues,
                            int udeg,
                            int vdeg,
                            int wdeg,
                            boolean closeU,
                            boolean closeV,
                            boolean closeW)

    - #### IVolumeGeo

          public IVolumeGeo(IVolumeGeo vol)

      create surface with outer trim curve

  - ### Method Detail

    - #### init

          public void init(IVecI[][][] cpts,
                           int udeg,
                           int vdeg,
                           int wdeg,
                           boolean closeU,
                           boolean closeV,
                           boolean closeW)

    - #### init

          public void init(IVecI[][][] cpts,
                           int udeg,
                           int vdeg,
                           int wdeg,
                           boolean closeU,
                           double[] vk,
                           double[] wk)

    - #### init

          public void init(IVecI[][][] cpts,
                           int udeg,
                           int vdeg,
                           int wdeg,
                           double[] uk,
                           boolean closeV,
                           double[] wk)

    - #### init

          public void init(IVecI[][][] cpts,
                           int udeg,
                           int vdeg,
                           int wdeg,
                           double[] uk,
                           double[] vk,
                           boolean closeW)

    - #### init

          public void init(IVecI[][][] cpts,
                           int udeg,
                           int vdeg,
                           int wdeg,
                           double[] uk,
                           double[] vk,
                           double[] wk)

    - #### serializeMatrix

          public IVecI[] serializeMatrix(IVecI[][][] cpts)

    - #### isValid

          public boolean isValid()

      Specified by:
        `isValid` in interface `IVolumeI`

    - #### isValidCP

          public static boolean isValidCP(IVecI[][][] cpts,
                                          int udeg,
                                          int vdeg,
                                          int wdeg,
                                          double[] uknots,
                                          double[] vknots,
                                          double[] wknots)

    - #### isValidCP

          public static boolean isValidCP(IVecI[][][] cpts)

    - #### checkDuplicatedCP

          public static void checkDuplicatedCP(IVecI[][][] cpts)

    - #### checkDuplicatedCP

          public static void checkDuplicatedCP(IVecI[][][] cpts,
                                               IVecI[] pts)

    - #### checkDuplicatedCPOnFace

          public static void checkDuplicatedCPOnFace(IVecI[][][] cpts)

    - #### getPointsFromArray

          public static IVec[][][] getPointsFromArray(double[][][][] xyzvalues)

    - #### get

          public IVolumeGeo get()

      Specified by:
        `get` in interface `IParameter`
      Specified by:
        `get` in interface `IVolumeI`
      Specified by:
        `get` in interface `IVolumeOp`
      Returns:
        fixed value but in wrapper class

    - #### dup

          public IVolumeGeo dup()

      Description copied from interface: `ITransformable`
      duplicate the instance
      Specified by:
        `dup` in interface `ITransformable`
      Specified by:
        `dup` in interface `IVolumeI`
      Returns:
        duplicated instance

    - #### pt

          public IVec pt(IVecI v)

      Specified by:
        `pt` in interface `IVolumeI`

    - #### pt

          public IVec pt(IDoubleI u,
                         IDoubleI v,
                         IDoubleI w)

      Specified by:
        `pt` in interface `IVolumeI`

    - #### pt

          public IVec pt(double u,
                         double v,
                         double w)

      Specified by:
        `pt` in interface `IVolumeI`

    - #### pt

          public void pt(double u,
                         double v,
                         double w,
                         IVec retval)

    - #### pt

          public IVec pt(IVec v)

      Parameters:
        `u` - u coordinates in uv parameter space
        `v` - v coordinates in uv parameter space
        `n` - length in normal direction in 3D space

    - #### utan

          public IVec utan(IVecI v)

      Specified by:
        `utan` in interface `IVolumeI`

    - #### utan

          public IVec utan(IDoubleI u,
                           IDoubleI v,
                           IDoubleI w)

      Specified by:
        `utan` in interface `IVolumeI`

    - #### utan

          public IVec utan(double u,
                           double v,
                           double w)

      Specified by:
        `utan` in interface `IVolumeI`

    - #### utan

          public void utan(double u,
                           double v,
                           double w,
                           IVec retval)

    - #### vtan

          public IVec vtan(IVecI v)

      Specified by:
        `vtan` in interface `IVolumeI`

    - #### vtan

          public IVec vtan(IDoubleI u,
                           IDoubleI v,
                           IDoubleI w)

      Specified by:
        `vtan` in interface `IVolumeI`

    - #### vtan

          public IVec vtan(double u,
                           double v,
                           double w)

      Specified by:
        `vtan` in interface `IVolumeI`

    - #### vtan

          public void vtan(double u,
                           double v,
                           double w,
                           IVec retval)

    - #### wtan

          public IVec wtan(IVecI v)

      Specified by:
        `wtan` in interface `IVolumeI`

    - #### wtan

          public IVec wtan(IDoubleI u,
                           IDoubleI v,
                           IDoubleI w)

      Specified by:
        `wtan` in interface `IVolumeI`

    - #### wtan

          public IVec wtan(double u,
                           double v,
                           double w)

      Specified by:
        `wtan` in interface `IVolumeI`

    - #### wtan

          public void wtan(double u,
                           double v,
                           double w,
                           IVec retval)

    - #### cp

          public IVecI cp(int i,
                          int j,
                          int k)

      getting control point at i and j
      Specified by:
        `cp` in interface `IVolumeI`

    - #### cp

          public IVecI cp(IIntegerI i,
                          IIntegerI j,
                          IIntegerI k)

      getting control point at i and j
      Specified by:
        `cp` in interface `IVolumeI`

    - #### cps

          public IVecI[][][] cps()

      Specified by:
        `cps` in interface `IVolumeI`

    - #### corner

          public IVec corner(int u,
                             int v,
                             int w)

      Specified by:
        `corner` in interface `IVolumeI`

    - #### corner

          public IVec corner(IIntegerI u,
                             IIntegerI v,
                             IIntegerI w)

      Specified by:
        `corner` in interface `IVolumeI`

    - #### cornerCP

          public IVec cornerCP(int u,
                               int v,
                               int w)

      Specified by:
        `cornerCP` in interface `IVolumeI`

    - #### cornerCP

          public IVecI cornerCP(IIntegerI u,
                                IIntegerI v,
                                IIntegerI w)

      Specified by:
        `cornerCP` in interface `IVolumeI`

    - #### ep

          public IVec ep(int i,
                         int j,
                         int k)

      getting edit point at i and j
      Specified by:
        `ep` in interface `IVolumeI`

    - #### ep

          public IVec ep(IIntegerI i,
                         IIntegerI j,
                         IIntegerI k)

      getting edit point at i and j
      Specified by:
        `ep` in interface `IVolumeI`

    - #### mid

          public IVec mid()

      mid in UV parameter (u=0.5, v=0.5) point on a surface
      Specified by:
        `mid` in interface `IVolumeI`

    - #### center

          public IVec center()

      returns center of geometry object
      Specified by:
        `center` in interface `IVolumeI`

    - #### uknot

          public double uknot(int i)

      distance to the closest point on a surface on 2D
      Specified by:
        `uknot` in interface `IVolumeI`

    - #### uknot

          public IDouble uknot(IIntegerI i)

      Specified by:
        `uknot` in interface `IVolumeI`

    - #### vknot

          public double vknot(int i)

      Specified by:
        `vknot` in interface `IVolumeI`

    - #### vknot

          public IDouble vknot(IIntegerI i)

      Specified by:
        `vknot` in interface `IVolumeI`

    - #### wknot

          public double wknot(int i)

      Specified by:
        `wknot` in interface `IVolumeI`

    - #### wknot

          public IDouble wknot(IIntegerI i)

      Specified by:
        `wknot` in interface `IVolumeI`

    - #### uknots

          public double[] uknots()

      Specified by:
        `uknots` in interface `IVolumeI`

    - #### uknots

          public double[] uknots(ISwitchE e)

      Specified by:
        `uknots` in interface `IVolumeI`

    - #### uknots

          public IDouble[] uknots(ISwitchR r)

      Specified by:
        `uknots` in interface `IVolumeI`

    - #### vknots

          public double[] vknots()

      Specified by:
        `vknots` in interface `IVolumeI`

    - #### vknots

          public double[] vknots(ISwitchE e)

      Specified by:
        `vknots` in interface `IVolumeI`

    - #### vknots

          public IDouble[] vknots(ISwitchR r)

      Specified by:
        `vknots` in interface `IVolumeI`

    - #### wknots

          public double[] wknots()

      Specified by:
        `wknots` in interface `IVolumeI`

    - #### wknots

          public double[] wknots(ISwitchE e)

      Specified by:
        `wknots` in interface `IVolumeI`

    - #### wknots

          public IDouble[] wknots(ISwitchR r)

      Specified by:
        `wknots` in interface `IVolumeI`

    - #### uknotNum

          public int uknotNum()

      Specified by:
        `uknotNum` in interface `IVolumeI`

    - #### vknotNum

          public int vknotNum()

      Specified by:
        `vknotNum` in interface `IVolumeI`

    - #### wknotNum

          public int wknotNum()

      Specified by:
        `wknotNum` in interface `IVolumeI`

    - #### uknotNum

          public int uknotNum(ISwitchE e)

      Specified by:
        `uknotNum` in interface `IVolumeI`

    - #### vknotNum

          public int vknotNum(ISwitchE e)

      Specified by:
        `vknotNum` in interface `IVolumeI`

    - #### wknotNum

          public int wknotNum(ISwitchE e)

      Specified by:
        `wknotNum` in interface `IVolumeI`

    - #### uknotNum

          public IInteger uknotNum(ISwitchR r)

      Specified by:
        `uknotNum` in interface `IVolumeI`

    - #### vknotNum

          public IInteger vknotNum(ISwitchR r)

      Specified by:
        `vknotNum` in interface `IVolumeI`

    - #### wknotNum

          public IInteger wknotNum(ISwitchR r)

      Specified by:
        `wknotNum` in interface `IVolumeI`

    - #### isRational

          public boolean isRational()

      Specified by:
        `isRational` in interface `IVolumeI`
      Returns:
        returns true if any of control point has non-default(1.0) weight otherwise false.

    - #### isRational

          public boolean isRational(ISwitchE e)

      Specified by:
        `isRational` in interface `IVolumeI`

    - #### isRational

          public IBool isRational(ISwitchR r)

      Specified by:
        `isRational` in interface `IVolumeI`

    - #### udeg

          public int udeg()

      Specified by:
        `udeg` in interface `IVolumeI`

    - #### vdeg

          public int vdeg()

      Specified by:
        `vdeg` in interface `IVolumeI`

    - #### wdeg

          public int wdeg()

      Specified by:
        `wdeg` in interface `IVolumeI`

    - #### udeg

          public int udeg(ISwitchE e)

      Specified by:
        `udeg` in interface `IVolumeI`

    - #### vdeg

          public int vdeg(ISwitchE e)

      Specified by:
        `vdeg` in interface `IVolumeI`

    - #### wdeg

          public int wdeg(ISwitchE e)

      Specified by:
        `wdeg` in interface `IVolumeI`

    - #### udeg

          public IInteger udeg(ISwitchR r)

      Specified by:
        `udeg` in interface `IVolumeI`

    - #### vdeg

          public IInteger vdeg(ISwitchR r)

      Specified by:
        `vdeg` in interface `IVolumeI`

    - #### wdeg

          public IInteger wdeg(ISwitchR r)

      Specified by:
        `wdeg` in interface `IVolumeI`

    - #### unum

          public int unum()

      Specified by:
        `unum` in interface `IVolumeI`

    - #### vnum

          public int vnum()

      Specified by:
        `vnum` in interface `IVolumeI`

    - #### wnum

          public int wnum()

      Specified by:
        `wnum` in interface `IVolumeI`

    - #### unum

          public int unum(ISwitchE e)

      Specified by:
        `unum` in interface `IVolumeI`

    - #### vnum

          public int vnum(ISwitchE e)

      Specified by:
        `vnum` in interface `IVolumeI`

    - #### wnum

          public int wnum(ISwitchE e)

      Specified by:
        `wnum` in interface `IVolumeI`

    - #### unum

          public IInteger unum(ISwitchR r)

      Specified by:
        `unum` in interface `IVolumeI`

    - #### vnum

          public IInteger vnum(ISwitchR r)

      Specified by:
        `vnum` in interface `IVolumeI`

    - #### wnum

          public IInteger wnum(ISwitchR r)

      Specified by:
        `wnum` in interface `IVolumeI`

    - #### ucpNum

          public int ucpNum()

      Specified by:
        `ucpNum` in interface `IVolumeI`

    - #### vcpNum

          public int vcpNum()

      Specified by:
        `vcpNum` in interface `IVolumeI`

    - #### wcpNum

          public int wcpNum()

      Specified by:
        `wcpNum` in interface `IVolumeI`

    - #### ucpNum

          public int ucpNum(ISwitchE e)

      Specified by:
        `ucpNum` in interface `IVolumeI`

    - #### vcpNum

          public int vcpNum(ISwitchE e)

      Specified by:
        `vcpNum` in interface `IVolumeI`

    - #### wcpNum

          public int wcpNum(ISwitchE e)

      Specified by:
        `wcpNum` in interface `IVolumeI`

    - #### ucpNum

          public IInteger ucpNum(ISwitchR r)

      Specified by:
        `ucpNum` in interface `IVolumeI`

    - #### vcpNum

          public IInteger vcpNum(ISwitchR r)

      Specified by:
        `vcpNum` in interface `IVolumeI`

    - #### wcpNum

          public IInteger wcpNum(ISwitchR r)

      Specified by:
        `wcpNum` in interface `IVolumeI`

    - #### uepNum

          public int uepNum()

      Specified by:
        `uepNum` in interface `IVolumeI`

    - #### vepNum

          public int vepNum()

      Specified by:
        `vepNum` in interface `IVolumeI`

    - #### wepNum

          public int wepNum()

      Specified by:
        `wepNum` in interface `IVolumeI`

    - #### uepNum

          public int uepNum(ISwitchE e)

      Specified by:
        `uepNum` in interface `IVolumeI`

    - #### vepNum

          public int vepNum(ISwitchE e)

      Specified by:
        `vepNum` in interface `IVolumeI`

    - #### wepNum

          public int wepNum(ISwitchE e)

      Specified by:
        `wepNum` in interface `IVolumeI`

    - #### uepNum

          public IInteger uepNum(ISwitchR r)

      Specified by:
        `uepNum` in interface `IVolumeI`

    - #### vepNum

          public IInteger vepNum(ISwitchR r)

      Specified by:
        `vepNum` in interface `IVolumeI`

    - #### wepNum

          public IInteger wepNum(ISwitchR r)

      Specified by:
        `wepNum` in interface `IVolumeI`

    - #### u

          public double u(int epIdx,
                          double epFraction)

      Specified by:
        `u` in interface `IVolumeI`

    - #### u

          public IDouble u(IIntegerI epIdx,
                           IDoubleI epFraction)

      Specified by:
        `u` in interface `IVolumeI`

    - #### v

          public double v(int epIdx,
                          double epFraction)

      Specified by:
        `v` in interface `IVolumeI`

    - #### v

          public IDouble v(IIntegerI epIdx,
                           IDoubleI epFraction)

      Specified by:
        `v` in interface `IVolumeI`

    - #### w

          public double w(int epIdx,
                          double epFraction)

      Specified by:
        `w` in interface `IVolumeI`

    - #### w

          public IDouble w(IIntegerI epIdx,
                           IDoubleI epFraction)

      Specified by:
        `w` in interface `IVolumeI`

    - #### ustart

          public double ustart()

      Description copied from interface: `IVolumeI`
      original knots start value and end value
      Specified by:
        `ustart` in interface `IVolumeI`

    - #### uend

          public double uend()

      Specified by:
        `uend` in interface `IVolumeI`

    - #### vstart

          public double vstart()

      Specified by:
        `vstart` in interface `IVolumeI`

    - #### vend

          public double vend()

      Specified by:
        `vend` in interface `IVolumeI`

    - #### wstart

          public double wstart()

      Specified by:
        `wstart` in interface `IVolumeI`

    - #### wend

          public double wend()

      Specified by:
        `wend` in interface `IVolumeI`

    - #### ustart

          public double ustart(ISwitchE e)

      Specified by:
        `ustart` in interface `IVolumeI`

    - #### uend

          public double uend(ISwitchE e)

      Specified by:
        `uend` in interface `IVolumeI`

    - #### vstart

          public double vstart(ISwitchE e)

      Specified by:
        `vstart` in interface `IVolumeI`

    - #### vend

          public double vend(ISwitchE e)

      Specified by:
        `vend` in interface `IVolumeI`

    - #### wstart

          public double wstart(ISwitchE e)

      Specified by:
        `wstart` in interface `IVolumeI`

    - #### wend

          public double wend(ISwitchE e)

      Specified by:
        `wend` in interface `IVolumeI`

    - #### ustart

          public IDouble ustart(ISwitchR r)

      Specified by:
        `ustart` in interface `IVolumeI`

    - #### uend

          public IDouble uend(ISwitchR r)

      Specified by:
        `uend` in interface `IVolumeI`

    - #### vstart

          public IDouble vstart(ISwitchR r)

      Specified by:
        `vstart` in interface `IVolumeI`

    - #### vend

          public IDouble vend(ISwitchR r)

      Specified by:
        `vend` in interface `IVolumeI`

    - #### wstart

          public IDouble wstart(ISwitchR r)

      Specified by:
        `wstart` in interface `IVolumeI`

    - #### wend

          public IDouble wend(ISwitchR r)

      Specified by:
        `wend` in interface `IVolumeI`

    - #### isUClosed

          public boolean isUClosed()

      is the surface closed in u direction
      Specified by:
        `isUClosed` in interface `IVolumeI`

    - #### isUClosed

          public boolean isUClosed(ISwitchE e)

      Specified by:
        `isUClosed` in interface `IVolumeI`

    - #### isUClosed

          public IBool isUClosed(ISwitchR r)

      Specified by:
        `isUClosed` in interface `IVolumeI`

    - #### isVClosed

          public boolean isVClosed()

      is the surface closed in v direction
      Specified by:
        `isVClosed` in interface `IVolumeI`

    - #### isVClosed

          public boolean isVClosed(ISwitchE e)

      Specified by:
        `isVClosed` in interface `IVolumeI`

    - #### isVClosed

          public IBool isVClosed(ISwitchR r)

      Specified by:
        `isVClosed` in interface `IVolumeI`

    - #### isWClosed

          public boolean isWClosed()

      is the surface closed in v direction
      Specified by:
        `isWClosed` in interface `IVolumeI`

    - #### isWClosed

          public boolean isWClosed(ISwitchE e)

      Specified by:
        `isWClosed` in interface `IVolumeI`

    - #### isWClosed

          public IBool isWClosed(ISwitchR r)

      Specified by:
        `isWClosed` in interface `IVolumeI`

    - #### add

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

      transformation methods; API of ITransformable interface
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVolumeI`

    - #### add

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

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

    - #### add

          public IVolumeGeo add(IVecI v)

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

    - #### sub

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

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

    - #### sub

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

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

    - #### sub

          public IVolumeGeo sub(IVecI v)

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

    - #### mul

          public IVolumeGeo mul(IDoubleI v)

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

    - #### mul

          public IVolumeGeo mul(double v)

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

    - #### div

          public IVolumeGeo div(IDoubleI v)

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

    - #### div

          public IVolumeGeo div(double v)

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

    - #### neg

          public IVolumeGeo neg()

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

    - #### flip

          public IVolumeGeo flip()

      alias of neg
      Specified by:
        `flip` in interface `ITransformable`
      Specified by:
        `flip` in interface `IVolumeI`

    - #### add

          public IVolumeGeo add(IVecI v,
                                double f)

      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVolumeI`

    - #### add

          public IVolumeGeo add(IVecI v,
                                IDoubleI f)

      Description copied from interface: `ITransformable`
      scale add
      Specified by:
        `add` in interface `ITransformable`
      Specified by:
        `add` in interface `IVolumeI`

    - #### add

          public IVolumeGeo add(double f,
                                IVecI v)

      scale add alias
      Specified by:
        `add` in interface `ITransformable`

    - #### add

          public IVolumeGeo add(IDoubleI f,
                                IVecI v)

      Description copied from interface: `ITransformable`
      scale add alias
      Specified by:
        `add` in interface `ITransformable`

    - #### rot

          public IVolumeGeo rot(IDoubleI angle)

      Description copied from interface: `ITransformable`
      rotation around z-axis and origin
      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

          public IVolumeGeo rot(double angle)

      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

          public IVolumeGeo 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 `IVolumeI`

    - #### rot

          public IVolumeGeo rot(IVecI axis,
                                double angle)

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

    - #### rot

          public IVolumeGeo 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 `IVolumeI`

    - #### rot

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

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

    - #### rot

          public IVolumeGeo rot(IVecI axis,
                                IVecI destDir)

      rotate to destination direction vector
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVolumeI`

    - #### rot

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

      rotate to destination point location
      Specified by:
        `rot` in interface `ITransformable`
      Specified by:
        `rot` in interface `IVolumeI`

    - #### rot2

          public IVolumeGeo rot2(IDoubleI angle)

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

    - #### rot2

          public IVolumeGeo rot2(double angle)

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

    - #### rot2

          public IVolumeGeo rot2(IVecI center,
                                 IDoubleI angle)

      Description copied from interface: `ITransformable`
      rotation on xy-plane around center
      Specified by:
        `rot2` in interface `ITransformable`

    - #### rot2

          public IVolumeGeo rot2(IVecI center,
                                 double angle)

      Specified by:
        `rot2` in interface `ITransformable`

    - #### rot2

          public IVolumeGeo rot2(IVecI destDir)

      rotation on xy-plane to destination direction vector
      Specified by:
        `rot2` in interface `ITransformable`

    - #### rot2

          public IVolumeGeo rot2(IVecI center,
                                 IVecI destPt)

      rotation on xy-plane to destination point location
      Specified by:
        `rot2` in interface `ITransformable`

    - #### scale

          public IVolumeGeo scale(IDoubleI f)

      alias of mul
      Specified by:
        `scale` in interface `ITransformable`
      Specified by:
        `scale` in interface `IVolumeI`

    - #### scale

          public IVolumeGeo scale(double f)

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

    - #### scale

          public IVolumeGeo scale(IVecI center,
                                  IDoubleI f)

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

    - #### scale

          public IVolumeGeo scale(IVecI center,
                                  double f)

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

    - #### scale1d

          public IVolumeGeo scale1d(IVecI axis,
                                    double f)

      scale only in 1 direction
      Specified by:
        `scale1d` in interface `ITransformable`
      Specified by:
        `scale1d` in interface `IVolumeI`

    - #### scale1d

          public IVolumeGeo scale1d(IVecI axis,
                                    IDoubleI f)

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

    - #### scale1d

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

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

    - #### scale1d

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

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

    - #### ref

          public IVolumeGeo ref(IVecI planeDir)

      reflect(mirror) 3 dimensionally to the other side of the plane
      Specified by:
        `ref` in interface `ITransformable`
      Specified by:
        `ref` in interface `IVolumeI`

    - #### ref

          public IVolumeGeo ref(IVecI center,
                                IVecI planeDir)

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

    - #### mirror

          public IVolumeGeo mirror(IVecI planeDir)

      mirror is alias of ref
      Specified by:
        `mirror` in interface `ITransformable`
      Specified by:
        `mirror` in interface `IVolumeI`

    - #### mirror

          public IVolumeGeo mirror(IVecI center,
                                   IVecI planeDir)

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

    - #### shear

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

      shear operation
      Specified by:
        `shear` in interface `ITransformable`
      Specified by:
        `shear` in interface `IVolumeI`

    - #### shear

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

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

    - #### shear

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

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

    - #### shear

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

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

    - #### shearXY

          public IVolumeGeo shearXY(double sxy,
                                    double syx)

      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVolumeI`

    - #### shearXY

          public IVolumeGeo shearXY(IDoubleI sxy,
                                    IDoubleI syx)

      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVolumeI`

    - #### shearXY

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

      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVolumeI`

    - #### shearXY

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

      Specified by:
        `shearXY` in interface `ITransformable`
      Specified by:
        `shearXY` in interface `IVolumeI`

    - #### shearYZ

          public IVolumeGeo shearYZ(double syz,
                                    double szy)

      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVolumeI`

    - #### shearYZ

          public IVolumeGeo shearYZ(IDoubleI syz,
                                    IDoubleI szy)

      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVolumeI`

    - #### shearYZ

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

      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVolumeI`

    - #### shearYZ

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

      Specified by:
        `shearYZ` in interface `ITransformable`
      Specified by:
        `shearYZ` in interface `IVolumeI`

    - #### shearZX

          public IVolumeGeo shearZX(double szx,
                                    double sxz)

      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVolumeI`

    - #### shearZX

          public IVolumeGeo shearZX(IDoubleI szx,
                                    IDoubleI sxz)

      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVolumeI`

    - #### shearZX

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

      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVolumeI`

    - #### shearZX

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

      Specified by:
        `shearZX` in interface `ITransformable`
      Specified by:
        `shearZX` in interface `IVolumeI`

    - #### mv

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

      mv() is alias of add()
      Specified by:
        `mv` in interface `ITransformable`
      Specified by:
        `mv` in interface `IVolumeI`

    - #### mv

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

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

    - #### mv

          public IVolumeGeo mv(IVecI v)

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

    - #### cp

          public IVolumeGeo cp()

      cp() is alias of dup()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVolumeI`

    - #### cp

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

      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVolumeI`

    - #### cp

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

      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVolumeI`

    - #### cp

          public IVolumeGeo cp(IVecI v)

      cp() is alias of dup().add()
      Specified by:
        `cp` in interface `ITransformable`
      Specified by:
        `cp` in interface `IVolumeI`

    - #### translate

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

      translate() is alias of add()
      Specified by:
        `translate` in interface `ITransformable`
      Specified by:
        `translate` in interface `IVolumeI`

    - #### translate

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

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

    - #### translate

          public IVolumeGeo translate(IVecI v)

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

    - #### transform

          public IVolumeGeo transform(IMatrix3I mat)

      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVolumeI`

    - #### transform

          public IVolumeGeo transform(IMatrix4I mat)

      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVolumeI`

    - #### transform

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

      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVolumeI`

    - #### transform

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

      Specified by:
        `transform` in interface `ITransformable`
      Specified by:
        `transform` in interface `IVolumeI`