# Interface SymmetryInterface

All Known Implementing Classes:
  `Symmetry, XtalSymmetry.FileSymmetry`

public interface SymmetryInterface

## Method Summary

Modifier and Type
Method
Description
`int`
`addBioMoleculeOperation(M4 mat, boolean isReverse)`
`int`
`addSpaceGroupOperation(String xyz, int opId)`
`void`
`adjustRangeMinMax(T3[] oabc, float packingRange, P3i minXYZ, P3i maxXYZ, P3 rmin, P3 rmax, P3i newMin, P3i newMax)`
`void`
`calculateCIPChiralityForAtoms(Viewer vwr, BS bsAtoms)`
`String[]`
`calculateCIPChiralityForSmiles(String smiles)`
`boolean`
`checkPeriodic(P3 pt, float packing, float packing2)`
`Object`
`convertTransform(String transform, M4 trm)`
`Object`
`findSpaceGroup(BS atoms, String xyzList, float[] unitCellParams, T3 origin, T3[] oabc, int flags)`
`boolean`
`fixUnitCell(float[] unitCellParams)`
`String`
`geCIFWriterValue(String type)`
`Lst<P3>`
`generateCrystalClass(P3 pt0)`
`M4[]`
`getAdditionalOperations()`
`int`
`getAdditionalOperationsCount()`
`P3[]`
`getCanonicalCopy(float scale, boolean allow2D)`
`P3`
`getCartesianOffset()`
`int[]`
`getCellRange()`
`float`
`getCellWeight(P3 pt)`
`Atom`
`getConstrainableEquivAtom(Atom a)`
`boolean`
`getCoordinatesAreFractional()`
`int`
`getDimensionality()`
`void`
`getEquivPointList(int nIgnore, String flags, M4[] opsCtr, float packing, Lst<Point3fi> pts, SymmetryInterface uc)`
`Lst<Point3fi>`
`getEquivPoints(Point3fi pt, String flags, float packing)`
`int`
`getFinalOperationCount()`
`P3`
`getFractionalOffset(boolean onlyIfFractional)`
`P3`
`getFractionalOrigin()`
`int`
`getGroupType()`
`String`
`getIntTableIndex()`
`String`
`getIntTableNumber()`
`String`
`getIntTableTransform()`
`int[]`
`getInvariantSymops(P3 p3, int[] v0)`
`AtomIndexIterator`
`getIterator(Viewer vwr, Atom atom, BS bstoms, float radius)`
`Lst<P3>`
`getLatticeCentering()`
`Object`
`getLatticeDesignation()`
`int`
`getLatticeOp()`
`char`
`getLatticeType()`
`Lst<String>`
`getMoreInfo()`
`Matrix`
`getOperationRsVs(int op)`
`int`
`getPeriodicity()`
`Object`
`getPointGroupInfo(int modelIndex, String drawID, boolean asInfo, String type, int index, float scale)`
`String`
`getPointGroupName()`
`float`
`getPrecision()`
`Quat`
`getQuaternionRotation(String abc)`
`int`
`getSiteMultiplicity(P3 a)`
`Object`
`getSpaceGroup()`
`String`
`getSpaceGroupClegId()`
`Map<String,Object>`
`getSpaceGroupInfo(ModelSet modelSet, String spaceGroup, int modelIndex, boolean isFull, float[] cellParams)`
`Object`
`getSpaceGroupInfoObj(String name, Object params, boolean isFull, boolean addNonstandard)`
`String`
`getSpaceGroupJmolId()`
`Object`
`getSpaceGroupJSON(String name, String data, int index)`
`String`
`getSpaceGroupName()`
`M4`
`getSpaceGroupOperation(int i)`
`int`
`getSpaceGroupOperationCount()`
`String`
`getSpaceGroupXyzOriginal(int i, boolean doNormalize)`
`int`
`getSpinIndex(int op)`
`int`
`getSpinOp(int op)`
`SymmetryInterface`
`getSpinSym()`
`boolean`
`getState(ModelSet ms, int modelIndex, SB commands)`
`Object`
`getSubgroupJSON(String nameFrom, String nameTo, int index1, int index2, int flags, Map<String,Object> retMap, Lst<Object> retLst)`
`Object`
`getSymmetryInfoAtom(ModelSet ms, int iatom, String xyz, int op, P3 translation, P3 pt, P3 pt2, String id, int type, float scaleFactor, int nth, int options, int[] oplist)`
`String`
`getSymmetryInfoStr()`
`M4[]`
`getSymmetryOperations()`
`String[]`
`getSymopList(boolean normalize)`
`M4`
`getTransform(P3 fracA, P3 fracB, boolean debug)`
`SymmetryInterface`
`getUnitCell(T3[] oabc, boolean setRelative, String name)`
`float[]`
`getUnitCellAsArray(boolean vectorsOnly)`
`P3`
`getUnitCellCenter()`
`String`
`getUnitCellDisplayName()`
`String`
`getUnitCellInfo(boolean scaled)`
`Map<String,Object>`
`getUnitCellInfoMap()`
`float`
`getUnitCellInfoStr(String type)`
`float`
`getUnitCellInfoType(int infoType)`
`SymmetryInterface`
`getUnitCellMultiplied()`
`T3`
`getUnitCellMultiplier()`
`float[]`
`getUnitCellParams()`
`String`
`getUnitCellState()`
`P3[]`
`getUnitCellVectors()`
`P3[]`
`getUnitCellVerticesNoOffset()`
`T3[]`
`getV0abc(Object def, M4 m)`
`Object`
`getWyckoffPosition(P3 pt, String letter)`
`boolean`
`haveUnitCell()`
`void`
`initializeOrientation(M3 matUnitCellOrientation)`
`boolean`
`isBio()`
`boolean`
`isPolymer()`
`boolean`
`isSimple()`
`boolean`
`isSlab()`
`boolean`
`isSupercell()`
`boolean`
`isSymmetryCell(SymmetryInterface sym)`
`boolean`
`isWithinUnitCell(P3 pt, float x, float y, float z, float packing)`
`void`
`newSpaceGroupPoint(P3 pt, int i, M4 o, int transX, int transY, int transZ, P3 retPoint)`
`BS`
`notInCentroid(ModelSet modelSet, BS bsAtoms, int[] minmax)`
`BS`
`removeDuplicates(ModelSet ms, BS bs, boolean highPrec)`
`M4`
`saveOrRetrieveTransformMatrix(M4 trmat)`
`void`
`setFinalOperations(int dim, String name, P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, String filterSymop)`
`void`
`setLattice(int latt)`
set symmetry lattice type using Hall rotations
`void`
`setOffset(int nnn)`
`void`
`setOffsetPt(T3 pt)`
`SymmetryInterface`
`setPointGroup(Viewer vwr, SymmetryInterface pointGroupPrevious, T3 center, T3[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, int maxAtoms, boolean localEnvOnly)`
`void`
`setSpaceGroup(boolean doNormalize)`
`void`
`setSpaceGroupName(String name)`
`void`
`setSpaceGroupTo(Object spaceGroup)`
`void`
`setSpinAxisAngle(A4 aa)`
`void`
`setUnitCell(SymmetryInterface uc)`
`SymmetryInterface`
`setUnitCellFromParams(float[] params, boolean setRelative, float slop)`
`SymmetryInterface`
`setViewer(Viewer vwr, String id)`
for Viewer.getSymStatic only
`String`
`staticCleanTransform(String trm)`
`Object`
`staticConvertOperation(String xyz, M34 matrix, String labels)`
`M4`
`staticGetMatrixTransform(String cleg, Object retLstOrMap)`
`String`
`staticGetTransformABC(M4 transform, boolean normalize)`
`String`
`staticToRationalXYZ(P3 fPt, String sep)`
`String`
`staticTransformSpaceGroup(BS bs, String cleg, Object paramsOrUC, SB sb)`
`void`
`toCartesian(T3 pt, boolean ignoreOffset)`
`void`
`toCartesianSpin(T3 v)`
`void`
`toFractional(T3 pt, boolean ignoreOffset)`
`void`
`toFractionalSpin(T3 v)`
`boolean`
`toFromPrimitive(boolean toPrimitive, char type, T3[] oabc, M3 primitiveToCrystal)`
`P3`
`toSupercell(P3 fpt)`
`void`
`toUnitCell(T3 pt, T3 offset)`
`boolean`
`unitCellEquals(SymmetryInterface uc2)`
`void`
`unitize(T3 ptFrac)`
`String`
`updatePointGroup()`

## Method Details

### addBioMoleculeOperation

int addBioMoleculeOperation(M4 mat, boolean isReverse)

### addSpaceGroupOperation

int addSpaceGroupOperation(String xyz, int opId)

### calculateCIPChiralityForAtoms

void calculateCIPChiralityForAtoms(Viewer vwr, BS bsAtoms)

### calculateCIPChiralityForSmiles

String[] calculateCIPChiralityForSmiles(String smiles) throws Exception

Throws:
  `Exception`

### checkPeriodic

boolean checkPeriodic(P3 pt, float packing, float packing2)

### convertTransform

Object convertTransform(String transform, M4 trm)

### findSpaceGroup

Object findSpaceGroup(BS atoms, String xyzList, float[] unitCellParams, T3 origin, T3[] oabc, int flags)

### fixUnitCell

boolean fixUnitCell(float[] unitCellParams)

### geCIFWriterValue

String geCIFWriterValue(String type)

### generateCrystalClass

Lst<P3> generateCrystalClass(P3 pt0)

### getAdditionalOperations

M4[] getAdditionalOperations()

### getAdditionalOperationsCount

int getAdditionalOperationsCount()

### getCanonicalCopy

P3[] getCanonicalCopy(float scale, boolean allow2D)

### getCartesianOffset

P3 getCartesianOffset()

### getCellRange

int[] getCellRange()

### getCellWeight

float getCellWeight(P3 pt)

### getConstrainableEquivAtom

Atom getConstrainableEquivAtom(Atom a)

### getCoordinatesAreFractional

boolean getCoordinatesAreFractional()

### getDimensionality

int getDimensionality()

### getEquivPointList

void getEquivPointList(int nIgnore, String flags, M4[] opsCtr, float packing, Lst<Point3fi> pts, SymmetryInterface uc)

### getEquivPoints

Lst<Point3fi> getEquivPoints(Point3fi pt, String flags, float packing)

### getFinalOperationCount

int getFinalOperationCount()

### getFractionalOffset

P3 getFractionalOffset(boolean onlyIfFractional)

### getFractionalOrigin

P3 getFractionalOrigin()

### getGroupType

int getGroupType()

### getIntTableIndex

String getIntTableIndex()

### getIntTableNumber

String getIntTableNumber()

### getIntTableTransform

String getIntTableTransform()

### getInvariantSymops

int[] getInvariantSymops(P3 p3, int[] v0)

### getIterator

AtomIndexIterator getIterator(Viewer vwr, Atom atom, BS bstoms, float radius)

### getLatticeCentering

Lst<P3> getLatticeCentering()

### getLatticeDesignation

Object getLatticeDesignation()

### getLatticeOp

int getLatticeOp()

### getLatticeType

char getLatticeType()

### getMoreInfo

Lst<String> getMoreInfo()

### getOperationRsVs

Matrix getOperationRsVs(int op)

### getPeriodicity

int getPeriodicity()

### getPointGroupInfo

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

### getPointGroupName

String getPointGroupName()

### getPrecision

float getPrecision()

### getQuaternionRotation

Quat getQuaternionRotation(String abc)

### getSiteMultiplicity

int getSiteMultiplicity(P3 a)

### getSpaceGroup

Object getSpaceGroup()

### getSpaceGroupClegId

String getSpaceGroupClegId()

### getSpaceGroupInfo

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

### getSpaceGroupInfoObj

Object getSpaceGroupInfoObj(String name, Object params, boolean isFull, boolean addNonstandard)

### getSpaceGroupJmolId

String getSpaceGroupJmolId()

### getSpaceGroupJSON

Object getSpaceGroupJSON(String name, String data, int index)

### getSpaceGroupName

String getSpaceGroupName()

### getSpaceGroupOperation

M4 getSpaceGroupOperation(int i)

### getSpaceGroupOperationCount

int getSpaceGroupOperationCount()

### getSpaceGroupXyzOriginal

String getSpaceGroupXyzOriginal(int i, boolean doNormalize)

### getSpinIndex

int getSpinIndex(int op)

### getSpinOp

int getSpinOp(int op)

### getSpinSym

SymmetryInterface getSpinSym()

### getState

boolean getState(ModelSet ms, int modelIndex, SB commands)

### getSubgroupJSON

Object getSubgroupJSON(String nameFrom, String nameTo, int index1, int index2, int flags, Map<String,Object> retMap, Lst<Object> retLst)

### getSymmetryInfoAtom

Object getSymmetryInfoAtom(ModelSet ms, int iatom, String xyz, int op, P3 translation, P3 pt, P3 pt2, String id, int type, float scaleFactor, int nth, int options, int[] oplist)

Parameters:
  `ms` -
  `iatom` -
  `xyz` -
  `op` -
  `translation` - TODO
  `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
  `oplist` -
Returns:
  a variety of object types

### getSymmetryInfoStr

String getSymmetryInfoStr()

### getSymmetryOperations

M4[] getSymmetryOperations()

### getSymopList

String[] getSymopList(boolean normalize)

### getTransform

M4 getTransform(P3 fracA, P3 fracB, boolean debug)

### getUnitCell

SymmetryInterface getUnitCell(T3[] oabc, boolean setRelative, String name)

### getUnitCellAsArray

float[] getUnitCellAsArray(boolean vectorsOnly)

### getUnitCellCenter

P3 getUnitCellCenter()

### getUnitCellDisplayName

String getUnitCellDisplayName()

### getUnitCellInfo

String getUnitCellInfo(boolean scaled)

### getUnitCellInfoMap

Map<String,Object> getUnitCellInfoMap()

### getUnitCellInfoStr

float getUnitCellInfoStr(String type)

### getUnitCellInfoType

float getUnitCellInfoType(int infoType)

### getUnitCellMultiplied

SymmetryInterface getUnitCellMultiplied()

### getUnitCellMultiplier

T3 getUnitCellMultiplier()

### getUnitCellParams

float[] getUnitCellParams()

### getUnitCellState

String getUnitCellState()

### getUnitCellVectors

P3[] getUnitCellVectors()

### getUnitCellVerticesNoOffset

P3[] getUnitCellVerticesNoOffset()

### getV0abc

T3[] getV0abc(Object def, M4 m)

### getWyckoffPosition

Object getWyckoffPosition(P3 pt, String letter)

### haveUnitCell

boolean haveUnitCell()

### initializeOrientation

void initializeOrientation(M3 matUnitCellOrientation)

### isBio

boolean isBio()

### isPolymer

boolean isPolymer()

### isSimple

boolean isSimple()

### isSlab

boolean isSlab()

### isSupercell

boolean isSupercell()

### isSymmetryCell

boolean isSymmetryCell(SymmetryInterface sym)

### isWithinUnitCell

boolean isWithinUnitCell(P3 pt, float x, float y, float z, float packing)

### newSpaceGroupPoint

void newSpaceGroupPoint(P3 pt, int i, M4 o, int transX, int transY, int transZ, P3 retPoint)

### notInCentroid

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

### removeDuplicates

BS removeDuplicates(ModelSet ms, BS bs, boolean highPrec)

### saveOrRetrieveTransformMatrix

M4 saveOrRetrieveTransformMatrix(M4 trmat)

### setFinalOperations

void setFinalOperations(int dim, String name, P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, 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(T3 pt)

### setPointGroup

SymmetryInterface setPointGroup(Viewer vwr, SymmetryInterface pointGroupPrevious, T3 center, T3[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, int maxAtoms, boolean localEnvOnly)

### setSpaceGroup

void setSpaceGroup(boolean doNormalize)

### setSpaceGroupName

void setSpaceGroupName(String name)

### setSpaceGroupTo

void setSpaceGroupTo(Object spaceGroup)

Parameters:
  `spaceGroup` - ITA number, ITA full name ("48:1")

### setSpinAxisAngle

void setSpinAxisAngle(A4 aa)

### setUnitCell

void setUnitCell(SymmetryInterface uc)

### setUnitCellFromParams

SymmetryInterface setUnitCellFromParams(float[] params, boolean setRelative, float slop)

### setViewer

SymmetryInterface setViewer(Viewer vwr, String id)
for Viewer.getSymStatic only

Parameters:
  `vwr` -
  `id` - TODO
Returns:
  this

### staticCleanTransform

String staticCleanTransform(String trm)

### staticConvertOperation

Object staticConvertOperation(String xyz, M34 matrix, String labels)

### staticGetMatrixTransform

M4 staticGetMatrixTransform(String cleg, Object retLstOrMap)

### staticGetTransformABC

String staticGetTransformABC(M4 transform, boolean normalize)

### staticToRationalXYZ

String staticToRationalXYZ(P3 fPt, String sep)

### staticTransformSpaceGroup

String staticTransformSpaceGroup(BS bs, String cleg, Object paramsOrUC, SB sb)

### toCartesian

void toCartesian(T3 pt, boolean ignoreOffset)

### toFractional

void toFractional(T3 pt, boolean ignoreOffset)

### toFromPrimitive

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

### toSupercell

P3 toSupercell(P3 fpt)

### toUnitCell

void toUnitCell(T3 pt, T3 offset)

### unitCellEquals

boolean unitCellEquals(SymmetryInterface uc2)

### unitize

void unitize(T3 ptFrac)

### adjustRangeMinMax

void adjustRangeMinMax(T3[] oabc, float packingRange, P3i minXYZ, P3i maxXYZ, P3 rmin, P3 rmax, P3i newMin, P3i newMax)

### updatePointGroup

String updatePointGroup()

### toFractionalSpin

void toFractionalSpin(T3 v)

### toCartesianSpin

void toCartesianSpin(T3 v)