SymmetryInterface
Date: 2019-10-22

org.jmol.api

## Interface SymmetryInterface

- All Known Implementing Classes:
    Symmetry

      public interface SymmetryInterface

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `addBioMoleculeOperation(javajs.util.M4 mat, boolean isReverse)`
    `boolean` | `addLatticeVectors(javajs.util.Lst<float[]> lattvecs)`
    `java.lang.String` | `addOp(java.lang.String code, javajs.util.Matrix rs, javajs.util.Matrix vs, javajs.util.Matrix sigma)`
    `int` | `addSpaceGroupOperation(java.lang.String xyz, int opId)`
    `void` | `calculateCIPChiralityForAtoms(Viewer vwr, javajs.util.BS bsAtoms)`
    `java.lang.String[]` | `calculateCIPChiralityForSmiles(Viewer vwr, java.lang.String smiles)`
    `boolean` | `checkDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset)`
    `boolean` | `checkUnitCell(SymmetryInterface uc, javajs.util.P3 cell, javajs.util.P3 ptTemp, boolean isAbsolute)`
    `boolean` | `createSpaceGroup(int desiredSpaceGroupIndex, java.lang.String name, java.lang.Object data, int modDim)`
    `java.lang.String` | `fcoord(javajs.util.T3 p)`
    `javajs.util.Lst<javajs.util.P3>` | `generateCrystalClass(javajs.util.P3 pt0)`
    `javajs.util.P3[]` | `getCanonicalCopy(float scale, boolean withOffset)`
    `javajs.util.P3` | `getCartesianOffset()`
    `int[]` | `getCellRange()`
    `javajs.util.T3[]` | `getConventionalUnitCell(java.lang.String latticeType, javajs.util.M3 primitiveToCryst)`
    `boolean` | `getCoordinatesAreFractional()`
    `javajs.util.P3` | `getFractionalOffset()`
    `javajs.util.T3` | `getFractionalOrigin()`
    `java.lang.String` | `getIntTableNumber()`
    `AtomIndexIterator` | `getIterator(Viewer vwr, Atom atom, Atom[] atoms, javajs.util.BS bstoms, float radius)`
    `java.lang.Object` | `getLatticeDesignation()`
    `int` | `getLatticeOp()`
    `java.lang.String` | `getLatticeType()`
    `java.lang.String` | `getMatrixFromString(java.lang.String xyz, float[] temp, boolean allowScaling, int modDim)`
    `javajs.util.Lst<java.lang.String>` | `getMoreInfo()`
    `javajs.util.Matrix` | `getOperationRsVs(int op)`
    `java.lang.Object` | `getPointGroupInfo(int modelIndex, java.lang.String drawID, boolean asInfo, java.lang.String type, int index, float scale)`
    `java.lang.String` | `getPointGroupName()`
    `javajs.util.Quat` | `getQuaternionRotation(java.lang.String abc)`
    `int` | `getSiteMultiplicity(javajs.util.P3 a)`
    `java.lang.Object` | `getSpaceGroup()`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getSpaceGroupInfo(ModelSet modelSet, java.lang.String spaceGroup, int modelIndex, boolean isFull, float[] cellParams)`
    `java.lang.Object` | `getSpaceGroupInfoObj(java.lang.String name, SymmetryInterface cellInfo, boolean isFull)`
    `java.lang.String` | `getSpaceGroupName()`
    `javajs.util.M4` | `getSpaceGroupOperation(int i)`
    `java.lang.String` | `getSpaceGroupOperationCode(int op)`
    `int` | `getSpaceGroupOperationCount()`
    `java.lang.String` | `getSpaceGroupXyz(int i, boolean doNormalize)`
    `float` | `getSpinOp(int op)`
    `boolean` | `getState(javajs.util.SB commands)`
    `java.lang.Object` | `getSymmetryInfoAtom(ModelSet ms, int iatom, java.lang.String xyz, int op, javajs.util.P3 pt, javajs.util.P3 pt2, java.lang.String id, int type, float scaleFactor, int nth, int options)`
    `java.lang.String` | `getSymmetryInfoStr()`
    `javajs.util.M4[]` | `getSymmetryOperations()`
    `Tensor` | `getTensor(Viewer vwr, float[] anisoBorU)`
    `SymmetryInterface` | `getUnitCell(javajs.util.T3[] points, boolean setRelative, java.lang.String name)`
    `float[]` | `getUnitCellAsArray(boolean vectorsOnly)`
    `java.lang.String` | `getUnitCellInfo()`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getUnitCellInfoMap()`
    `float` | `getUnitCellInfoType(int infoType)`
    `javajs.util.T3` | `getUnitCellMultiplier()`
    `float[]` | `getUnitCellParams()`
    `java.lang.String` | `getUnitCellState()`
    `javajs.util.P3[]` | `getUnitCellVectors()`
    `javajs.util.P3[]` | `getUnitCellVerticesNoOffset()`
    `javajs.util.T3[]` | `getV0abc(java.lang.Object def)`
    `boolean` | `haveUnitCell()`
    `void` | `initializeOrientation(javajs.util.M3 matUnitCellOrientation)`
    `boolean` | `isBio()`
    `boolean` | `isPolymer()`
    `boolean` | `isSimple()`
    `boolean` | `isSlab()`
    `boolean` | `isSupercell()`
    `void` | `newSpaceGroupPoint(int i, javajs.util.P3 atom1, javajs.util.P3 atom2, int transX, int transY, int transZ, javajs.util.M4 o)`
    `javajs.util.BS` | `notInCentroid(ModelSet modelSet, javajs.util.BS bsAtoms, int[] minmax)`
    `javajs.util.V3[]` | `rotateAxes(int iop, javajs.util.V3[] axes, javajs.util.P3 ptTemp, javajs.util.M3 mTemp)`
    `void` | `setFinalOperations(java.lang.String name, javajs.util.P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, java.lang.String filterSymop)`
    `void` | `setLattice(int latt)` set symmetry lattice type using Hall rotations
    `void` | `setLatticeType(java.lang.String type)`
    `void` | `setOffset(int nnn)`
    `void` | `setOffsetPt(javajs.util.T3 pt)`
    `SymmetryInterface` | `setPointGroup(SymmetryInterface pointGroupPrevious, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, boolean localEnvOnly)`
    `void` | `setSpaceGroup(boolean doNormalize)`
    `void` | `setSpaceGroupFrom(SymmetryInterface symmetry)`
    `void` | `setSpaceGroupName(java.lang.String name)`
    `SymmetryInterface` | `setSymmetryInfo(int modelIndex, java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo, float[] notionalCell)`
    `void` | `setTimeReversal(int op, int val)`
    `void` | `setUnitCell(float[] params, boolean setRelative)`
    `void` | `setUnitCell(Symmetry uc)`
    `void` | `toCartesian(javajs.util.T3 pt, boolean asAbsolute)`
    `void` | `toFractional(javajs.util.T3 pt, boolean asAbsolute)`
    `void` | `toFractionalM(javajs.util.M4 m)`
    `boolean` | `toFromPrimitive(boolean toPrimitive, char type, javajs.util.T3[] oabc, javajs.util.M3 primitiveToCrystal)`
    `javajs.util.P3` | `toSupercell(javajs.util.P3 fpt)`
    `void` | `toUnitCell(javajs.util.T3 pt, javajs.util.T3 offset)`
    `boolean` | `unitCellEquals(SymmetryInterface uc2)`
    `void` | `unitize(javajs.util.T3 ptFrac)`

- - ### Method Detail

    - #### addBioMoleculeOperation

          int addBioMoleculeOperation(javajs.util.M4 mat,
                                      boolean isReverse)

    - #### addLatticeVectors

          boolean addLatticeVectors(javajs.util.Lst<float[]> lattvecs)

    - #### addOp

          java.lang.String addOp(java.lang.String code,
                                 javajs.util.Matrix rs,
                                 javajs.util.Matrix vs,
                                 javajs.util.Matrix sigma)

    - #### addSpaceGroupOperation

          int addSpaceGroupOperation(java.lang.String xyz,
                                     int opId)

    - #### checkDistance

          boolean checkDistance(javajs.util.P3 f1,
                                javajs.util.P3 f2,
                                float distance,
                                float dx,
                                int iRange,
                                int jRange,
                                int kRange,
                                javajs.util.P3 ptOffset)

    - #### checkUnitCell

          boolean checkUnitCell(SymmetryInterface uc,
                                javajs.util.P3 cell,
                                javajs.util.P3 ptTemp,
                                boolean isAbsolute)

    - #### createSpaceGroup

          boolean createSpaceGroup(int desiredSpaceGroupIndex,
                                   java.lang.String name,
                                   java.lang.Object data,
                                   int modDim)

    - #### fcoord

          java.lang.String fcoord(javajs.util.T3 p)

    - #### getCanonicalCopy

          javajs.util.P3[] getCanonicalCopy(float scale,
                                            boolean withOffset)

    - #### getCartesianOffset

          javajs.util.P3 getCartesianOffset()

    - #### getCellRange

          int[] getCellRange()

    - #### getCoordinatesAreFractional

          boolean getCoordinatesAreFractional()

    - #### getFractionalOffset

          javajs.util.P3 getFractionalOffset()

    - #### getLatticeDesignation

          java.lang.Object getLatticeDesignation()

    - #### getLatticeOp

          int getLatticeOp()

    - #### getMatrixFromString

          java.lang.String getMatrixFromString(java.lang.String xyz,
                                               float[] temp,
                                               boolean allowScaling,
                                               int modDim)

    - #### getMoreInfo

          javajs.util.Lst<java.lang.String> getMoreInfo()

    - #### getUnitCellParams

          float[] getUnitCellParams()

    - #### getOperationRsVs

          javajs.util.Matrix getOperationRsVs(int op)

    - #### getPointGroupInfo

          java.lang.Object getPointGroupInfo(int modelIndex,
                                             java.lang.String drawID,
                                             boolean asInfo,
                                             java.lang.String type,
                                             int index,
                                             float scale)

    - #### getPointGroupName

          java.lang.String getPointGroupName()

    - #### getSiteMultiplicity

          int getSiteMultiplicity(javajs.util.P3 a)

    - #### getSpaceGroup

          java.lang.Object getSpaceGroup()

    - #### getSpaceGroupInfo

          java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(ModelSet modelSet,
                                                                             java.lang.String spaceGroup,
                                                                             int modelIndex,
                                                                             boolean isFull,
                                                                             float[] cellParams)

    - #### getSpaceGroupInfoObj

          java.lang.Object getSpaceGroupInfoObj(java.lang.String name,
                                                SymmetryInterface cellInfo,
                                                boolean isFull)

    - #### getSpaceGroupName

          java.lang.String getSpaceGroupName()

    - #### setSpaceGroupName

          void setSpaceGroupName(java.lang.String name)

    - #### getSpaceGroupOperation

          javajs.util.M4 getSpaceGroupOperation(int i)

    - #### getSpaceGroupOperationCode

          java.lang.String getSpaceGroupOperationCode(int op)

    - #### getSpaceGroupOperationCount

          int getSpaceGroupOperationCount()

    - #### getSpaceGroupXyz

          java.lang.String getSpaceGroupXyz(int i,
                                            boolean doNormalize)

    - #### getSymmetryInfoStr

          java.lang.String getSymmetryInfoStr()

    - #### getSymmetryOperations

          javajs.util.M4[] getSymmetryOperations()

    - #### getSpinOp

          float getSpinOp(int op)

    - #### getUnitCell

          SymmetryInterface getUnitCell(javajs.util.T3[] points,
                                        boolean setRelative,
                                        java.lang.String name)

    - #### getUnitCellAsArray

          float[] getUnitCellAsArray(boolean vectorsOnly)

    - #### getUnitCellInfo

          java.lang.String getUnitCellInfo()

    - #### getUnitCellInfoType

          float getUnitCellInfoType(int infoType)

    - #### getUnitCellMultiplier

          javajs.util.T3 getUnitCellMultiplier()

    - #### getUnitCellState

          java.lang.String getUnitCellState()

    - #### getUnitCellVectors

          javajs.util.P3[] getUnitCellVectors()

    - #### getUnitCellVerticesNoOffset

          javajs.util.P3[] getUnitCellVerticesNoOffset()

    - #### getUnitCellInfoMap

          java.util.Map<java.lang.String,java.lang.Object> getUnitCellInfoMap()

    - #### haveUnitCell

          boolean haveUnitCell()

    - #### isBio

          boolean isBio()

    - #### isSimple

          boolean isSimple()

    - #### isPolymer

          boolean isPolymer()

    - #### isSlab

          boolean isSlab()

    - #### isSupercell

          boolean isSupercell()

    - #### newSpaceGroupPoint

          void newSpaceGroupPoint(int i,
                                  javajs.util.P3 atom1,
                                  javajs.util.P3 atom2,
                                  int transX,
                                  int transY,
                                  int transZ,
                                  javajs.util.M4 o)

    - #### notInCentroid

          javajs.util.BS notInCentroid(ModelSet modelSet,
                                       javajs.util.BS bsAtoms,
                                       int[] minmax)

    - #### rotateAxes

          javajs.util.V3[] rotateAxes(int iop,
                                      javajs.util.V3[] axes,
                                      javajs.util.P3 ptTemp,
                                      javajs.util.M3 mTemp)

    - #### setFinalOperations

          void setFinalOperations(java.lang.String name,
                                  javajs.util.P3[] atoms,
                                  int iAtomFirst,
                                  int noSymmetryCount,
                                  boolean doNormalize,
                                  java.lang.String filterSymop)

    - #### setLattice

          void setLattice(int latt)

      set symmetry lattice type using Hall rotations
      Parameters:
        `latt` - SHELX index or character lattice character P I R F A B C S T or \0

    - #### setOffset

          void setOffset(int nnn)

    - #### setOffsetPt

          void setOffsetPt(javajs.util.T3 pt)

    - #### setPointGroup

          SymmetryInterface setPointGroup(SymmetryInterface pointGroupPrevious,
                                          javajs.util.T3 center,
                                          javajs.util.T3[] atomset,
                                          javajs.util.BS bsAtoms,
                                          boolean haveVibration,
                                          float distanceTolerance,
                                          float linearTolerance,
                                          boolean localEnvOnly)

    - #### setSpaceGroup

          void setSpaceGroup(boolean doNormalize)

    - #### setSpaceGroupFrom

          void setSpaceGroupFrom(SymmetryInterface symmetry)

    - #### setSymmetryInfo

          SymmetryInterface setSymmetryInfo(int modelIndex,
                                            java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo,
                                            float[] notionalCell)

    - #### getSymmetryInfoAtom

          java.lang.Object getSymmetryInfoAtom(ModelSet ms,
                                               int iatom,
                                               java.lang.String xyz,
                                               int op,
                                               javajs.util.P3 pt,
                                               javajs.util.P3 pt2,
                                               java.lang.String id,
                                               int type,
                                               float scaleFactor,
                                               int nth,
                                               int options)

      Parameters:
        `ms` -
        `iatom` -
        `xyz` -
        `op` -
        `pt` -
        `pt2` - a second point or an offset
        `id` -
        `type` - T.point, T.lattice, or T.draw, T.matrix4f, T.label, T.list, T.info, T.translation, T.axis, T.plane, T.angle, T.center
        `scaleFactor` -
        `nth` - TODO
        `options` - could be T.offset
      Returns:
        a variety of object types

    - #### setTimeReversal

          void setTimeReversal(int op,
                               int val)

    - #### setUnitCell

          void setUnitCell(float[] params,
                           boolean setRelative)

    - #### initializeOrientation

          void initializeOrientation(javajs.util.M3 matUnitCellOrientation)

    - #### toCartesian

          void toCartesian(javajs.util.T3 pt,
                           boolean asAbsolute)

    - #### toFractional

          void toFractional(javajs.util.T3 pt,
                            boolean asAbsolute)

    - #### toSupercell

          javajs.util.P3 toSupercell(javajs.util.P3 fpt)

    - #### toUnitCell

          void toUnitCell(javajs.util.T3 pt,
                          javajs.util.T3 offset)

    - #### unitCellEquals

          boolean unitCellEquals(SymmetryInterface uc2)

    - #### unitize

          void unitize(javajs.util.T3 ptFrac)

    - #### getV0abc

          javajs.util.T3[] getV0abc(java.lang.Object def)

    - #### getQuaternionRotation

          javajs.util.Quat getQuaternionRotation(java.lang.String abc)

    - #### getTensor

          Tensor getTensor(Viewer vwr,
                           float[] anisoBorU)

    - #### getFractionalOrigin

          javajs.util.T3 getFractionalOrigin()

    - #### getState

          boolean getState(javajs.util.SB commands)

    - #### getIterator

          AtomIndexIterator getIterator(Viewer vwr,
                                        Atom atom,
                                        Atom[] atoms,
                                        javajs.util.BS bstoms,
                                        float radius)

    - #### toFromPrimitive

          boolean toFromPrimitive(boolean toPrimitive,
                                  char type,
                                  javajs.util.T3[] oabc,
                                  javajs.util.M3 primitiveToCrystal)

    - #### getLatticeType

          java.lang.String getLatticeType()

    - #### setLatticeType

          void setLatticeType(java.lang.String type)

    - #### getIntTableNumber

          java.lang.String getIntTableNumber()

    - #### generateCrystalClass

          javajs.util.Lst<javajs.util.P3> generateCrystalClass(javajs.util.P3 pt0)

    - #### toFractionalM

          void toFractionalM(javajs.util.M4 m)

    - #### calculateCIPChiralityForAtoms

          void calculateCIPChiralityForAtoms(Viewer vwr,
                                             javajs.util.BS bsAtoms)

    - #### calculateCIPChiralityForSmiles

          java.lang.String[] calculateCIPChiralityForSmiles(Viewer vwr,
                                                            java.lang.String smiles)
                                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getConventionalUnitCell

          javajs.util.T3[] getConventionalUnitCell(java.lang.String latticeType,
                                                   javajs.util.M3 primitiveToCryst)

    - #### setUnitCell

          void setUnitCell(Symmetry uc)