igeo

## Class ITextGeo

- java.lang.Object
- - igeo.IParameterObject
  - - igeo.ITextGeo

- All Implemented Interfaces:
    ISubobject, ITransformable

      public class ITextGeo
      extends IParameterObject
      implements ITransformable

  Class of a text object in 3D space
  Author:
    Satoru Sugihara

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ITextGeo.HorizontalAlignment`
    `static class` | `ITextGeo.VerticalAlignment`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `ITextGeo.HorizontalAlignment` | `halign`
    `IVecI` | `pos`
    `java.lang.String` | `text`
    `IVecI` | `uvec` direction of text with length of font size
    `ITextGeo.VerticalAlignment` | `valign`
    `IVecI` | `vvec` text height direction with length of font size

    - ### Fields inherited from class igeo.IParameterObject

      `parent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ITextGeo(ITextGeo text)`
    `ITextGeo(java.lang.String str, double fontSize, IVecI pos)`
    `ITextGeo(java.lang.String str, double fontSize, IVecI pos, IVecI textDir)`
    `ITextGeo(java.lang.String str, double fontSize, IVecI pos, IVecI textDir, IVecI textUpDir)`
    `ITextGeo(java.lang.String str, IVecI pos, IVecI uvec, IVecI vvec)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ITextGeo` | `add(double x, double y, double z)` methods for ITransformable
    `ITextGeo` | `add(double f, IVecI v)` scale add alias
    `ITextGeo` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
    `ITextGeo` | `add(IDoubleI f, IVecI v)` scale add alias
    `ITextGeo` | `add(IVecI v)`
    `ITextGeo` | `add(IVecI v, double f)` scale add
    `ITextGeo` | `add(IVecI v, IDoubleI f)` scale add
    `ITextGeo` | `alignBottom()`
    `ITextGeo` | `alignCenter()`
    `ITextGeo` | `alignLeft()`
    `ITextGeo` | `alignMiddle()`
    `ITextGeo` | `alignRight()`
    `ITextGeo` | `alignTop()`
    `ITextGeo` | `cp()` cp() is alias of dup()
    `ITextGeo` | `cp(double x, double y, double z)` cp() is alias of dup().add()
    `ITextGeo` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)`
    `ITextGeo` | `cp(IVecI v)`
    `ITextGeo` | `div(double v)`
    `ITextGeo` | `div(IDoubleI v)`
    `ITextGeo` | `dup()` duplicate the instance
    `ITextGeo` | `flip()` alias of neg
    `boolean` | `isAlignBottom()`
    `boolean` | `isAlignCenter()`
    `boolean` | `isAlignLeft()`
    `boolean` | `isAlignMiddle()`
    `boolean` | `isAlignRight()`
    `boolean` | `isAlignTop()`
    `ITextGeo` | `mirror(IVecI planeDir)` mirror is alias of ref
    `ITextGeo` | `mirror(IVecI center, IVecI planeDir)`
    `ITextGeo` | `mul(double v)`
    `ITextGeo` | `mul(IDoubleI v)`
    `ITextGeo` | `mv(double x, double y, double z)` mv() is alias of add()
    `ITextGeo` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)`
    `ITextGeo` | `mv(IVecI v)`
    `ITextGeo` | `neg()`
    `IVecI` | `pos()`
    `ITextGeo` | `pos(IVecI v)`
    `ITextGeo` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
    `ITextGeo` | `ref(IVecI center, IVecI planeDir)`
    `ITextGeo` | `rev()`
    `ITextGeo` | `rot(double angle)`
    `ITextGeo` | `rot(IDoubleI angle)` rotation around z-axis and origin
    `ITextGeo` | `rot(IVecI axis, double angle)`
    `ITextGeo` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
    `ITextGeo` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
    `ITextGeo` | `rot(IVecI center, IVecI axis, double angle)`
    `ITextGeo` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
    `ITextGeo` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
    `ITextGeo` | `rot2(double angle)` rotation on xy-plane around origin; same with rot(double)
    `ITextGeo` | `rot2(IDoubleI angle)` rotation on xy-plane around origin; same with rot(IDoubleI)
    `ITextGeo` | `rot2(IVecI destDir)` rotation on xy-plane to destination direction vector
    `ITextGeo` | `rot2(IVecI center, double angle)`
    `ITextGeo` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane around center
    `ITextGeo` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane to destination point location
    `ITextGeo` | `scale(double f)`
    `ITextGeo` | `scale(IDoubleI f)` alias of mul
    `ITextGeo` | `scale(IVecI center, double f)`
    `ITextGeo` | `scale(IVecI center, IDoubleI f)`
    `ITextGeo` | `scale1d(IVecI axis, double f)` scale only in 1 direction
    `ITextGeo` | `scale1d(IVecI axis, IDoubleI f)`
    `ITextGeo` | `scale1d(IVecI center, IVecI axis, double f)`
    `ITextGeo` | `scale1d(IVecI center, IVecI axis, IDoubleI f)`
    `ITextGeo` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
    `ITextGeo` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
    `ITextGeo` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)`
    `ITextGeo` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
    `ITextGeo` | `shearXY(double sxy, double syx)`
    `ITextGeo` | `shearXY(IDoubleI sxy, IDoubleI syx)`
    `ITextGeo` | `shearXY(IVecI center, double sxy, double syx)`
    `ITextGeo` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)`
    `ITextGeo` | `shearYZ(double syz, double szy)`
    `ITextGeo` | `shearYZ(IDoubleI syz, IDoubleI szy)`
    `ITextGeo` | `shearYZ(IVecI center, double syz, double szy)`
    `ITextGeo` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)`
    `ITextGeo` | `shearZX(double szx, double sxz)`
    `ITextGeo` | `shearZX(IDoubleI szx, IDoubleI sxz)`
    `ITextGeo` | `shearZX(IVecI center, double szx, double sxz)`
    `ITextGeo` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)`
    `ITextGeo` | `sub(double x, double y, double z)`
    `ITextGeo` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
    `ITextGeo` | `sub(IVecI v)`
    `java.lang.String` | `text()`
    `ITextGeo` | `text(java.lang.String txt)`
    `ITextGeo` | `transform(IMatrix3I mat)`
    `ITextGeo` | `transform(IMatrix4I mat)`
    `ITextGeo` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)`
    `ITextGeo` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)`
    `ITextGeo` | `translate(double x, double y, double z)` translate() is alias of add()
    `ITextGeo` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)`
    `ITextGeo` | `translate(IVecI v)`
    `IVecI` | `uvec()`
    `ITextGeo` | `uvec(IVecI v)`
    `IVecI` | `vvec()`
    `ITextGeo` | `vvec(IVecI v)`

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

    - #### text

          public java.lang.String text

    - #### pos

          public IVecI pos

    - #### uvec

          public IVecI uvec

      direction of text with length of font size

    - #### vvec

          public IVecI vvec

      text height direction with length of font size

    - #### halign

          public ITextGeo.HorizontalAlignment halign

    - #### valign

          public ITextGeo.VerticalAlignment valign

  - ### Constructor Detail

    - #### ITextGeo

          public ITextGeo(java.lang.String str,
                  double fontSize,
                  IVecI pos,
                  IVecI textDir,
                  IVecI textUpDir)

    - #### ITextGeo

          public ITextGeo(java.lang.String str,
                  double fontSize,
                  IVecI pos,
                  IVecI textDir)

    - #### ITextGeo

          public ITextGeo(java.lang.String str,
                  double fontSize,
                  IVecI pos)

    - #### ITextGeo

          public ITextGeo(java.lang.String str,
                  IVecI pos,
                  IVecI uvec,
                  IVecI vvec)

    - #### ITextGeo

          public ITextGeo(ITextGeo text)

  - ### Method Detail

    - #### pos

          public IVecI pos()

    - #### uvec

          public IVecI uvec()

    - #### vvec

          public IVecI vvec()

    - #### pos

          public ITextGeo pos(IVecI v)

    - #### uvec

          public ITextGeo uvec(IVecI v)

    - #### vvec

          public ITextGeo vvec(IVecI v)

    - #### text

          public java.lang.String text()

    - #### text

          public ITextGeo text(java.lang.String txt)

    - #### alignLeft

          public ITextGeo alignLeft()

    - #### alignCenter

          public ITextGeo alignCenter()

    - #### alignRight

          public ITextGeo alignRight()

    - #### alignTop

          public ITextGeo alignTop()

    - #### alignMiddle

          public ITextGeo alignMiddle()

    - #### alignBottom

          public ITextGeo alignBottom()

    - #### isAlignLeft

          public boolean isAlignLeft()

    - #### isAlignCenter

          public boolean isAlignCenter()

    - #### isAlignRight

          public boolean isAlignRight()

    - #### isAlignTop

          public boolean isAlignTop()

    - #### isAlignMiddle

          public boolean isAlignMiddle()

    - #### isAlignBottom

          public boolean isAlignBottom()

    - #### add

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

      methods for ITransformable
      Specified by:
        `add` in interface `ITransformable`

    - #### add

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

      Specified by:
        `add` in interface `ITransformable`

    - #### add

          public ITextGeo add(IVecI v)

      Specified by:
        `add` in interface `ITransformable`

    - #### sub

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

      Specified by:
        `sub` in interface `ITransformable`

    - #### sub

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

      Specified by:
        `sub` in interface `ITransformable`

    - #### sub

          public ITextGeo sub(IVecI v)

      Specified by:
        `sub` in interface `ITransformable`

    - #### mul

          public ITextGeo mul(IDoubleI v)

      Specified by:
        `mul` in interface `ITransformable`

    - #### mul

          public ITextGeo mul(double v)

      Specified by:
        `mul` in interface `ITransformable`

    - #### div

          public ITextGeo div(IDoubleI v)

      Specified by:
        `div` in interface `ITransformable`

    - #### div

          public ITextGeo div(double v)

      Specified by:
        `div` in interface `ITransformable`

    - #### neg

          public ITextGeo neg()

      Specified by:
        `neg` in interface `ITransformable`

    - #### rev

          public ITextGeo rev()

    - #### flip

          public ITextGeo flip()

      Description copied from interface: `ITransformable`
      alias of neg
      Specified by:
        `flip` in interface `ITransformable`

    - #### add

          public ITextGeo add(IVecI v,
                     double f)

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

    - #### add

          public ITextGeo add(IVecI v,
                     IDoubleI f)

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

    - #### add

          public ITextGeo add(double f,
                     IVecI v)

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

    - #### add

          public ITextGeo add(IDoubleI f,
                     IVecI v)

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

    - #### rot

          public ITextGeo rot(IDoubleI angle)

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

    - #### rot

          public ITextGeo rot(double angle)

      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

          public ITextGeo rot(IVecI axis,
                     IDoubleI angle)

      rotation around axis vector
      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

          public ITextGeo rot(IVecI axis,
                     double angle)

      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

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

      rotation around axis vector and center
      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

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

      Specified by:
        `rot` in interface `ITransformable`

    - #### rot

          public ITextGeo rot(IVecI axis,
                     IVecI destDir)

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

    - #### rot

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

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

    - #### rot2

          public ITextGeo rot2(IDoubleI angle)

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

    - #### rot2

          public ITextGeo rot2(double angle)

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

    - #### rot2

          public ITextGeo rot2(IVecI center,
                      IDoubleI angle)

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

    - #### rot2

          public ITextGeo rot2(IVecI center,
                      double angle)

      Specified by:
        `rot2` in interface `ITransformable`

    - #### rot2

          public ITextGeo rot2(IVecI destDir)

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

    - #### rot2

          public ITextGeo rot2(IVecI center,
                      IVecI destPt)

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

    - #### scale

          public ITextGeo scale(IDoubleI f)

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

    - #### scale

          public ITextGeo scale(double f)

      Specified by:
        `scale` in interface `ITransformable`

    - #### scale

          public ITextGeo scale(IVecI center,
                       IDoubleI f)

      Specified by:
        `scale` in interface `ITransformable`

    - #### scale

          public ITextGeo scale(IVecI center,
                       double f)

      Specified by:
        `scale` in interface `ITransformable`

    - #### scale1d

          public ITextGeo scale1d(IVecI axis,
                         double f)

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

    - #### scale1d

          public ITextGeo scale1d(IVecI axis,
                         IDoubleI f)

      Specified by:
        `scale1d` in interface `ITransformable`

    - #### scale1d

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

      Specified by:
        `scale1d` in interface `ITransformable`

    - #### scale1d

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

      Specified by:
        `scale1d` in interface `ITransformable`

    - #### ref

          public ITextGeo ref(IVecI planeDir)

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

    - #### ref

          public ITextGeo ref(IVecI center,
                     IVecI planeDir)

      Specified by:
        `ref` in interface `ITransformable`

    - #### mirror

          public ITextGeo mirror(IVecI planeDir)

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

    - #### mirror

          public ITextGeo mirror(IVecI center,
                        IVecI planeDir)

      Specified by:
        `mirror` in interface `ITransformable`

    - #### shear

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

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

    - #### shear

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

      Specified by:
        `shear` in interface `ITransformable`

    - #### shear

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

      Specified by:
        `shear` in interface `ITransformable`

    - #### shear

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

      Specified by:
        `shear` in interface `ITransformable`

    - #### shearXY

          public ITextGeo shearXY(double sxy,
                         double syx)

      Specified by:
        `shearXY` in interface `ITransformable`

    - #### shearXY

          public ITextGeo shearXY(IDoubleI sxy,
                         IDoubleI syx)

      Specified by:
        `shearXY` in interface `ITransformable`

    - #### shearXY

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

      Specified by:
        `shearXY` in interface `ITransformable`

    - #### shearXY

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

      Specified by:
        `shearXY` in interface `ITransformable`

    - #### shearYZ

          public ITextGeo shearYZ(double syz,
                         double szy)

      Specified by:
        `shearYZ` in interface `ITransformable`

    - #### shearYZ

          public ITextGeo shearYZ(IDoubleI syz,
                         IDoubleI szy)

      Specified by:
        `shearYZ` in interface `ITransformable`

    - #### shearYZ

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

      Specified by:
        `shearYZ` in interface `ITransformable`

    - #### shearYZ

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

      Specified by:
        `shearYZ` in interface `ITransformable`

    - #### shearZX

          public ITextGeo shearZX(double szx,
                         double sxz)

      Specified by:
        `shearZX` in interface `ITransformable`

    - #### shearZX

          public ITextGeo shearZX(IDoubleI szx,
                         IDoubleI sxz)

      Specified by:
        `shearZX` in interface `ITransformable`

    - #### shearZX

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

      Specified by:
        `shearZX` in interface `ITransformable`

    - #### shearZX

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

      Specified by:
        `shearZX` in interface `ITransformable`

    - #### mv

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

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

    - #### mv

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

      Specified by:
        `mv` in interface `ITransformable`

    - #### mv

          public ITextGeo mv(IVecI v)

      Specified by:
        `mv` in interface `ITransformable`

    - #### dup

          public ITextGeo dup()

      duplicate the instance
      Specified by:
        `dup` in interface `ITransformable`

    - #### cp

          public ITextGeo cp()

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

    - #### cp

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

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

    - #### cp

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

      Specified by:
        `cp` in interface `ITransformable`

    - #### cp

          public ITextGeo cp(IVecI v)

      Specified by:
        `cp` in interface `ITransformable`

    - #### translate

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

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

    - #### translate

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

      Specified by:
        `translate` in interface `ITransformable`

    - #### translate

          public ITextGeo translate(IVecI v)

      Specified by:
        `translate` in interface `ITransformable`

    - #### transform

          public ITextGeo transform(IMatrix3I mat)

      Specified by:
        `transform` in interface `ITransformable`

    - #### transform

          public ITextGeo transform(IMatrix4I mat)

      Specified by:
        `transform` in interface `ITransformable`

    - #### transform

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

      Specified by:
        `transform` in interface `ITransformable`

    - #### transform

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

      Specified by:
        `transform` in interface `ITransformable`