Package org.jmol.symmetry
Class Symmetry
java.lang.Object
org.jmol.symmetry.Symmetry
- All Implemented Interfaces:
SymmetryInterface
- Direct Known Subclasses:
XtalSymmetry.FileSymmetry
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintaddBioMoleculeOperation(M4 mat, boolean isReverse) intaddSpaceGroupOperation(String xyz, int opId) voidcalculateCIPChiralityForAtoms(Viewer vwr, BS bsAtoms) String[]calculateCIPChiralityForSmiles(Viewer vwr, String smiles) booleancheckPeriodic(P3 pt) convertTransform(String transform, M4 trm) Convert to/from string/matrix representationfindSpaceGroup(Viewer vwr, BS atoms, String xyzList, float[] unitCellParams, T3 origin, T3[] oabc, int flags) booleanfixUnitCell(float[] params) generateCrystalClass(P3 pt00) M4[]intP3[]getCanonicalCopy(float scale, boolean withOffset) int[]floatgetCellWeight(P3 pt) booleanvoidgetEquivPointList(Lst<P3> pts, int nInitial, String flags, M4[] opsCtr) getEquivPoints(Lst<P3> pts, P3 pt, String flags) intint[]getInvariantSymops(P3 pt, int[] v0) getITASettingValue(Viewer vwr, String itaIndex, String key) getIterator(Viewer vwr, Atom atom, BS bsAtoms, float radius) intchargetOperationRsVs(int iop) getPointGroupInfo(int modelIndex, String drawID, boolean asInfo, String type, int index, float scale) floatintgetSpaceGroupInfo(ModelSet modelSet, String sgName, int modelIndex, boolean isFull, float[] cellParams) getSpaceGroupInfoObj(String name, Object params, boolean isFull, boolean addNonstandard) getSpaceGroupJSON(Viewer vwr, String name, Object data, int index) getSpaceGroupNameType(String type) getSpaceGroupOperation(int i) intgetSpaceGroupXyz(int i, boolean doNormalize) intgetSpinOp(int op) booleangetSubgroupJSON(Viewer vwr, int itaFrom, int itaTo, int index1, int index2) Retrieve subgroup information for a space group.getSymmetryInfoAtom(ModelSet modelSet, int iatom, String xyz, int op, P3 translation, P3 pt, P3 pt2, String id, int type, float scaleFactor, int nth, int options, int[] opList) When information is desired about the space group, we use SymmetryInfo.getTransform(P3 fracA, P3 fracB, boolean best) getUnitCell(T3[] oabc, boolean setRelative, String name) float[]getUnitCellAsArray(boolean vectorsOnly) getUnitCellInfo(boolean scaled) floatgetUnitCellInfoType(int infoType) Note, this has no origin shift.float[]P3[]P3[]T3[]getWyckoffPosition(Viewer vwr, P3 p, String letter) booleanvoidinitializeOrientation(M3 mat) booleanisBio()booleanbooleanisSimple()booleanisSlab()booleanbooleanbooleanisWithinUnitCell(P3 pt, float x, float y, float z) voidnewSpaceGroupPoint(P3 pt, int i, M4 o, int transX, int transY, int transZ, P3 retPoint) notInCentroid(ModelSet modelSet, BS bsAtoms, int[] minmax) removeDuplicates(ModelSet ms, BS bs, boolean highPrec) replaceTransformMatrix(M4 trm) V3[]rotateAxes(int iop, V3[] axes, P3 ptTemp, M3 mTemp) voidsetFinalOperations(int dim, String name, P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, String filterSymop) voidsetLattice(int latt) set symmetry lattice type using Hall rotationsvoidsetOffset(int nnn) voidsetOffsetPt(T3 pt) setPointGroup(Viewer vwr, SymmetryInterface siLast, T3 center, T3[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, int maxAtoms, boolean localEnvOnly) voidsetSpaceGroup(boolean doNormalize) voidsetSpaceGroupName(String name) voidvoidsetSymmetryInfoFromFile(ModelSet ms, int modelIndex, float[] unitCellParams) Set space group and unit cell from the auxiliary info generated by XtalSymmetry specific to a given model.voidsetUnitCellFromParams(float[] unitCellParams, boolean setRelative, float slop) staticConvertOperation(String xyz, M4 matrix) staticGetTransformABC(Object transform, boolean normalize) staticToRationalXYZ(P3 fPt, String sep) voidtoCartesian(T3 pt, boolean ignoreOffset) voidtoFractional(T3 pt, boolean ignoreOffset) booleantoFromPrimitive(boolean toPrimitive, char type, T3[] oabc, M3 primitiveToCrystal) toSupercell(P3 fpt) voidtoUnitCell(T3 pt, T3 offset) voidtransformUnitCell(M4 trm) booleanvoid
-
Field Details
-
spaceGroup
-
unitCell
-
isBio
public boolean isBio
-
-
Constructor Details
-
Symmetry
public Symmetry()
-
-
Method Details
-
isBio
public boolean isBio()- Specified by:
isBioin interfaceSymmetryInterface
-
setPointGroup
public SymmetryInterface setPointGroup(Viewer vwr, SymmetryInterface siLast, T3 center, T3[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, int maxAtoms, boolean localEnvOnly) - Specified by:
setPointGroupin interfaceSymmetryInterface
-
getPointGroupName
- Specified by:
getPointGroupNamein interfaceSymmetryInterface
-
getPointGroupInfo
public Object getPointGroupInfo(int modelIndex, String drawID, boolean asInfo, String type, int index, float scale) - Specified by:
getPointGroupInfoin interfaceSymmetryInterface
-
setSpaceGroup
public void setSpaceGroup(boolean doNormalize) - Specified by:
setSpaceGroupin interfaceSymmetryInterface
-
addSpaceGroupOperation
- Specified by:
addSpaceGroupOperationin interfaceSymmetryInterface
-
addBioMoleculeOperation
- Specified by:
addBioMoleculeOperationin interfaceSymmetryInterface
-
setLattice
public void setLattice(int latt) Description copied from interface:SymmetryInterfaceset symmetry lattice type using Hall rotations- Specified by:
setLatticein interfaceSymmetryInterface- Parameters:
latt- SHELX index or character lattice character P I R F A B C S T or \0
-
getSpaceGroup
- Specified by:
getSpaceGroupin interfaceSymmetryInterface
-
getSpaceGroupInfoObj
public Object getSpaceGroupInfoObj(String name, Object params, boolean isFull, boolean addNonstandard) - Specified by:
getSpaceGroupInfoObjin interfaceSymmetryInterface
-
getLatticeDesignation
- Specified by:
getLatticeDesignationin interfaceSymmetryInterface
-
setFinalOperations
public void setFinalOperations(int dim, String name, P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, String filterSymop) - Specified by:
setFinalOperationsin interfaceSymmetryInterface
-
getSpaceGroupOperation
- Specified by:
getSpaceGroupOperationin interfaceSymmetryInterface
-
getSpaceGroupXyz
- Specified by:
getSpaceGroupXyzin interfaceSymmetryInterface
-
newSpaceGroupPoint
- Specified by:
newSpaceGroupPointin interfaceSymmetryInterface
-
rotateAxes
- Specified by:
rotateAxesin interfaceSymmetryInterface
-
getSpinOp
public int getSpinOp(int op) - Specified by:
getSpinOpin interfaceSymmetryInterface
-
getLatticeOp
public int getLatticeOp()- Specified by:
getLatticeOpin interfaceSymmetryInterface
-
getLatticeCentering
- Specified by:
getLatticeCenteringin interfaceSymmetryInterface
-
getOperationRsVs
- Specified by:
getOperationRsVsin interfaceSymmetryInterface
-
getSiteMultiplicity
- Specified by:
getSiteMultiplicityin interfaceSymmetryInterface
-
getSpaceGroupName
- Specified by:
getSpaceGroupNamein interfaceSymmetryInterface
-
getSpaceGroupNameType
- Specified by:
getSpaceGroupNameTypein interfaceSymmetryInterface- Parameters:
type- "Hall" or "HM" or "ITA"- Returns:
- type or null
-
getLatticeType
public char getLatticeType()- Specified by:
getLatticeTypein interfaceSymmetryInterface
-
getIntTableNumber
- Specified by:
getIntTableNumberin interfaceSymmetryInterface
-
getIntTableIndex
- Specified by:
getIntTableIndexin interfaceSymmetryInterface
-
getIntTableTransform
- Specified by:
getIntTableTransformin interfaceSymmetryInterface
-
getIntTableNumberFull
- Specified by:
getIntTableNumberFullin interfaceSymmetryInterface
-
getCoordinatesAreFractional
public boolean getCoordinatesAreFractional()- Specified by:
getCoordinatesAreFractionalin interfaceSymmetryInterface
-
getCellRange
public int[] getCellRange()- Specified by:
getCellRangein interfaceSymmetryInterface
-
getSymmetryInfoStr
When information is desired about the space group, we use SymmetryInfo.- Specified by:
getSymmetryInfoStrin interfaceSymmetryInterface
-
getSpaceGroupOperationCount
public int getSpaceGroupOperationCount()- Specified by:
getSpaceGroupOperationCountin interfaceSymmetryInterface
-
getSymmetryOperations
- Specified by:
getSymmetryOperationsin interfaceSymmetryInterface
-
getAdditionalOperationsCount
public int getAdditionalOperationsCount()- Specified by:
getAdditionalOperationsCountin interfaceSymmetryInterface
-
getAdditionalOperations
- Specified by:
getAdditionalOperationsin interfaceSymmetryInterface
-
isSimple
public boolean isSimple()- Specified by:
isSimplein interfaceSymmetryInterface
-
haveUnitCell
public boolean haveUnitCell()- Specified by:
haveUnitCellin interfaceSymmetryInterface
-
setUnitCellFromParams
public SymmetryInterface setUnitCellFromParams(float[] unitCellParams, boolean setRelative, float slop) - Specified by:
setUnitCellFromParamsin interfaceSymmetryInterface
-
unitCellEquals
- Specified by:
unitCellEqualsin interfaceSymmetryInterface
-
isSymmetryCell
- Specified by:
isSymmetryCellin interfaceSymmetryInterface
-
getUnitCellState
- Specified by:
getUnitCellStatein interfaceSymmetryInterface
-
getMoreInfo
- Specified by:
getMoreInfoin interfaceSymmetryInterface
-
initializeOrientation
- Specified by:
initializeOrientationin interfaceSymmetryInterface
-
unitize
- Specified by:
unitizein interfaceSymmetryInterface
-
toUnitCell
- Specified by:
toUnitCellin interfaceSymmetryInterface
-
toSupercell
- Specified by:
toSupercellin interfaceSymmetryInterface
-
toFractional
- Specified by:
toFractionalin interfaceSymmetryInterface
-
toCartesian
- Specified by:
toCartesianin interfaceSymmetryInterface
-
getUnitCellParams
public float[] getUnitCellParams()- Specified by:
getUnitCellParamsin interfaceSymmetryInterface
-
getUnitCellAsArray
public float[] getUnitCellAsArray(boolean vectorsOnly) - Specified by:
getUnitCellAsArrayin interfaceSymmetryInterface
-
getUnitCellVerticesNoOffset
- Specified by:
getUnitCellVerticesNoOffsetin interfaceSymmetryInterface
-
getCartesianOffset
- Specified by:
getCartesianOffsetin interfaceSymmetryInterface
-
getFractionalOffset
- Specified by:
getFractionalOffsetin interfaceSymmetryInterface
-
setOffsetPt
- Specified by:
setOffsetPtin interfaceSymmetryInterface
-
setOffset
public void setOffset(int nnn) - Specified by:
setOffsetin interfaceSymmetryInterface
-
getUnitCellMultiplier
- Specified by:
getUnitCellMultiplierin interfaceSymmetryInterface
-
getUnitCellMultiplied
Note, this has no origin shift.- Specified by:
getUnitCellMultipliedin interfaceSymmetryInterface
-
getCanonicalCopy
- Specified by:
getCanonicalCopyin interfaceSymmetryInterface
-
getUnitCellInfoType
public float getUnitCellInfoType(int infoType) - Specified by:
getUnitCellInfoTypein interfaceSymmetryInterface
-
getUnitCellInfo
- Specified by:
getUnitCellInfoin interfaceSymmetryInterface
-
isSlab
public boolean isSlab()- Specified by:
isSlabin interfaceSymmetryInterface
-
isPolymer
public boolean isPolymer()- Specified by:
isPolymerin interfaceSymmetryInterface
-
getUnitCellVectors
- Specified by:
getUnitCellVectorsin interfaceSymmetryInterface
-
getUnitCell
- Specified by:
getUnitCellin interfaceSymmetryInterface- Parameters:
oabc- [ptorigin, va, vb, vc]setRelative- a flag only set true for IsosurfaceMeshname-- Returns:
- this SymmetryInterface
-
isSupercell
public boolean isSupercell()- Specified by:
isSupercellin interfaceSymmetryInterface
-
notInCentroid
- Specified by:
notInCentroidin interfaceSymmetryInterface
-
getSymmetryInfoAtom
public Object getSymmetryInfoAtom(ModelSet modelSet, int iatom, String xyz, int op, P3 translation, P3 pt, P3 pt2, String id, int type, float scaleFactor, int nth, int options, int[] opList) - Specified by:
getSymmetryInfoAtomin interfaceSymmetryInterfacetranslation- TODOpt2- a second point or an offsettype- T.point, T.lattice, or T.draw, T.matrix4f, T.label, T.list, T.info, T.translation, T.axis, T.plane, T.angle, T.centernth- TODOoptions- could be T.offset- Returns:
- a variety of object types
-
getSpaceGroupInfo
public Map<String,Object> getSpaceGroupInfo(ModelSet modelSet, String sgName, int modelIndex, boolean isFull, float[] cellParams) - Specified by:
getSpaceGroupInfoin interfaceSymmetryInterface
-
getV0abc
- Specified by:
getV0abcin interfaceSymmetryInterface
-
getQuaternionRotation
- Specified by:
getQuaternionRotationin interfaceSymmetryInterface
-
getFractionalOrigin
- Specified by:
getFractionalOriginin interfaceSymmetryInterface
-
getState
- Specified by:
getStatein interfaceSymmetryInterface
-
getIterator
- Specified by:
getIteratorin interfaceSymmetryInterface
-
toFromPrimitive
- Specified by:
toFromPrimitivein interfaceSymmetryInterface
-
generateCrystalClass
- Specified by:
generateCrystalClassin interfaceSymmetryInterface
-
calculateCIPChiralityForAtoms
- Specified by:
calculateCIPChiralityForAtomsin interfaceSymmetryInterface
-
calculateCIPChiralityForSmiles
- Specified by:
calculateCIPChiralityForSmilesin interfaceSymmetryInterface- Throws:
Exception
-
getUnitCellInfoMap
- Specified by:
getUnitCellInfoMapin interfaceSymmetryInterface
-
setUnitCell
- Specified by:
setUnitCellin interfaceSymmetryInterface
-
findSpaceGroup
public Object findSpaceGroup(Viewer vwr, BS atoms, String xyzList, float[] unitCellParams, T3 origin, T3[] oabc, int flags) - Specified by:
findSpaceGroupin interfaceSymmetryInterface
-
setSpaceGroupName
- Specified by:
setSpaceGroupNamein interfaceSymmetryInterface
-
setSpaceGroupTo
- Specified by:
setSpaceGroupToin interfaceSymmetryInterface- Parameters:
sg- ITA number, ITA full name ("48:1")
-
removeDuplicates
- Specified by:
removeDuplicatesin interfaceSymmetryInterface
-
getEquivPoints
- Specified by:
getEquivPointsin interfaceSymmetryInterface
-
getEquivPointList
- Specified by:
getEquivPointListin interfaceSymmetryInterface
-
getInvariantSymops
- Specified by:
getInvariantSymopsin interfaceSymmetryInterface
-
getWyckoffPosition
- Specified by:
getWyckoffPositionin interfaceSymmetryInterface
-
getTransform
- Specified by:
getTransformin interfaceSymmetryInterface- Parameters:
fracA-fracB-- Returns:
- matrix
-
isWithinUnitCell
- Specified by:
isWithinUnitCellin interfaceSymmetryInterface
-
checkPeriodic
- Specified by:
checkPeriodicin interfaceSymmetryInterface
-
staticConvertOperation
- Specified by:
staticConvertOperationin interfaceSymmetryInterface
-
getSubgroupJSON
Retrieve subgroup information for a space group. Returns:values are 1-based so that "0" has special meaning, "-" means ignored; "MnV" is Integer.MIN_VALUE itaFrom itaTo index1 index2 n MnV - - return map for group n, contents of sub_n.json n 0 0 0 return int[][] of critical information n 0 m MnV return map map.subgroups[m] n 0 MnV - return int[] array of list of valid super>>sub n 0 m t return string transform map.subgroups[m].trm[t] n1 n2 MnV - return list map.subgroups.select("WHERE subgroup=n2") n1 n2 m MnV return map map.subgroups.select("WHERE subgroup=n2")[m] n1 n2 m t return string transform map.subgroups.select("WHERE subgroup=n2")[m].trm[t]Critical information array is: [ isub, ntrm, subIndex, idet, trType ] isub: subgroupNumber ntrm: transformation count subIndex: index of this group-subgroup relationship idet: determinant if determinant >= 1; -1/determinant if determinant < 1 trType: 1 translationengeliechen, 3 klassengleichen "ct" loss of centering translation, 4 klassengleichen "eu" enlarged unit cell- Specified by:
getSubgroupJSONin interfaceSymmetryInterface- Parameters:
vwr-itaFrom- group ITA numberitaTo- subgroup ITA numberindex1- for a specific index or Integer.MIN_VALUE for all itaFrom; itaTo ignoredindex2- Integer.MIN_VALUE for all, or an index for a specific transform- Returns:
- Map, List, or String with conjugation class removed (first two characters "a:......")
-
getSpaceGroupJSON
- Specified by:
getSpaceGroupJSONin interfaceSymmetryInterface
-
getCellWeight
- Specified by:
getCellWeightin interfaceSymmetryInterface
-
getPrecision
public float getPrecision()- Specified by:
getPrecisionin interfaceSymmetryInterface
-
fixUnitCell
public boolean fixUnitCell(float[] params) - Specified by:
fixUnitCellin interfaceSymmetryInterface
-
staticGetTransformABC
- Specified by:
staticGetTransformABCin interfaceSymmetryInterface
-
setSymmetryInfoFromFile
Set space group and unit cell from the auxiliary info generated by XtalSymmetry specific to a given model. Only called by ModelLoader.- Parameters:
ms-modelIndex-unitCellParams-
-
transformUnitCell
-
getITASettingValue
- Specified by:
getITASettingValuein interfaceSymmetryInterface
-
staticCleanTransform
- Specified by:
staticCleanTransformin interfaceSymmetryInterface
-
replaceTransformMatrix
- Specified by:
replaceTransformMatrixin interfaceSymmetryInterface
-
getUnitCellDisplayName
- Specified by:
getUnitCellDisplayNamein interfaceSymmetryInterface
-
staticToRationalXYZ
- Specified by:
staticToRationalXYZin interfaceSymmetryInterface
-
getClegId
- Specified by:
getClegIdin interfaceSymmetryInterface
-
getFinalOperationCount
public int getFinalOperationCount()- Specified by:
getFinalOperationCountin interfaceSymmetryInterface
-
convertTransform
Convert to/from string/matrix representation- Specified by:
convertTransformin interfaceSymmetryInterface
-