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) findSpaceGroup(Viewer vwr, BS atoms, String xyzList, float[] unitCellParams, T3 origin, T3[] oabc, int flags) booleanfixUnitCell(float[] params) geCIFWriterValue(String type) generateCrystalClass(P3 pt00) M4[]intP3[]getCanonicalCopy(float scale, boolean withOffset) P3[]getCanonicalCopyTrimmed(P3 frac, float scale) int[]floatgetCellWeight(P3 pt) booleanintvoidgetEquivPointList(Lst<P3> pts, int nInitial, String flags, M4[] opsCtr) getEquivPoints(Lst<P3> pts, P3 pt, String flags) intgetFractionalOffset(boolean onlyIfFractional) int[]getInvariantSymops(P3 pt, int[] v0) getITASettingValue(Viewer vwr, String itaIndex, String key) getIterator(Viewer vwr, Atom atom, BS bsAtoms, float radius) intchargetOperationRsVs(int iop) intgetPointGroupInfo(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, String data, int index) 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.String[]getSymopList(boolean doNormalize) 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) for the vwr.getSymTemp() onlystaticConvertOperation(String xyz, M4 matrix) staticGetTransformABC(Object transform, boolean normalize) staticToRationalXYZ(P3 fPt, String sep) staticTransformSpaceGroup(BS bs, String cleg, Object paramsOrUC, SB sb) 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
-
getSymopList
- Specified by:
getSymopListin interfaceSymmetryInterface
-
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
-
geCIFWriterValue
- Specified by:
geCIFWriterValuein interfaceSymmetryInterface
-
getLatticeType
public char getLatticeType()- Specified by:
getLatticeTypein interfaceSymmetryInterface
-
getIntTableNumber
- Specified by:
getIntTableNumberin interfaceSymmetryInterface
-
getIntTableIndex
- Specified by:
getIntTableIndexin interfaceSymmetryInterface
-
getIntTableTransform
- Specified by:
getIntTableTransformin interfaceSymmetryInterface
-
getSpaceGroupClegId
- Specified by:
getSpaceGroupClegIdin interfaceSymmetryInterface
-
getSpaceGroupJmolId
- Specified by:
getSpaceGroupJmolIdin 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
-
getCanonicalCopyTrimmed
- Specified by:
getCanonicalCopyTrimmedin 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 interfaceSymmetryInterface- Parameters:
modelSet-iatom-xyz-op-translation- TODOpt-pt2- a second point or an offsetid-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.centerscaleFactor-nth- TODOoptions- could be T.offsetopList-- 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
-
getPeriodicity
public int getPeriodicity()- Specified by:
getPeriodicityin interfaceSymmetryInterface
-
getDimensionality
public int getDimensionality()- Specified by:
getDimensionalityin 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 invalid input: '<' 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
-
getFinalOperationCount
public int getFinalOperationCount()- Specified by:
getFinalOperationCountin interfaceSymmetryInterface
-
convertTransform
- Specified by:
convertTransformin interfaceSymmetryInterface
-
staticGetMatrixTransform
- Specified by:
staticGetMatrixTransformin interfaceSymmetryInterface
-
staticTransformSpaceGroup
- Specified by:
staticTransformSpaceGroupin interfaceSymmetryInterface
-
setViewer
for the vwr.getSymTemp() only- Specified by:
setViewerin interfaceSymmetryInterface- Parameters:
vwr-- Returns:
- this
-
getUnitCellCenter
- Specified by:
getUnitCellCenterin interfaceSymmetryInterface
-