Package org.jmol.symmetry
Class Symmetry
java.lang.Object
org.jmol.symmetry.Symmetry
- All Implemented Interfaces:
SymmetryInterface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CIPChiralityprivate SymmetryDescprivate booleanprivate static SymmetryDescprivate PointGroup(package private) SpaceGroupprivate SymmetryInfoprivate UnitCell -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintaddBioMoleculeOperation(javajs.util.M4 mat, boolean isReverse) booleanaddLatticeVectors(javajs.util.Lst<float[]> lattvecs) intaddSpaceGroupOperation(String xyz, int opId) addSubSystemOp(String code, javajs.util.Matrix rs, javajs.util.Matrix vs, javajs.util.Matrix sigma) voidcalculateCIPChiralityForAtoms(Viewer vwr, javajs.util.BS bsAtoms) String[]calculateCIPChiralityForSmiles(Viewer vwr, String smiles) booleancheckDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset) booleancheckPeriodic(javajs.util.P3 pt) booleancreateSpaceGroup(int desiredSpaceGroupIndex, String name, Object data, int modDim) fcoord(javajs.util.T3 p) findSpaceGroup(Viewer vwr, javajs.util.BS atoms, String xyzList, float[] unitCell, boolean asString, boolean isAssign) javajs.util.Lst<javajs.util.P3>generateCrystalClass(javajs.util.P3 pt0) javajs.util.P3[]getCanonicalCopy(float scale, boolean withOffset) javajs.util.P3int[]private CIPChiralitygetCIPChirality(Viewer vwr) javajs.util.T3[]getConventionalUnitCell(String latticeType, javajs.util.M3 primitiveToCrystal) return a conventional lattice from a primitivebooleanprivate SymmetryDescvoidgetEquivPointList(javajs.util.Lst<javajs.util.P3> pts, int nIgnored, String flags) javajs.util.Lst<javajs.util.P3>getEquivPoints(javajs.util.Lst<javajs.util.P3> pts, javajs.util.P3 pt, String flags) javajs.util.P3javajs.util.T3int[]getInvariantSymops(javajs.util.P3 pt, int[] v0) getIterator(Viewer vwr, Atom atom, javajs.util.BS bsAtoms, float radius) javajs.util.Lst<javajs.util.P3>intchargetMatrixFromString(String xyz, float[] rotTransMatrix, boolean allowScaling, int modDim) javajs.util.Lst<String>javajs.util.MatrixgetOperationRsVs(int iop) getPointGroupInfo(int modelIndex, String drawID, boolean asInfo, String type, int index, float scale) javajs.util.QuatintgetSiteMultiplicity(javajs.util.P3 pt) getSpaceGroupInfo(ModelSet modelSet, String sgName, int modelIndex, boolean isFull, float[] cellParams) getSpaceGroupInfoObj(String name, float[] params, boolean isFull, boolean addNonstandard) getSpaceGroupNameType(String type) javajs.util.M4getSpaceGroupOperation(int i) getSpaceGroupOperationCode(int iOp) intgetSpaceGroupXyz(int i, boolean doNormalize) floatgetSpinOp(int op) booleangetSymmetryInfoAtom(ModelSet modelSet, int iatom, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, String id, int type, float scaleFactor, int nth, int options) javajs.util.M4getTransform(javajs.util.P3 fracA, javajs.util.P3 fracB, boolean best) getUnitCell(javajs.util.T3[] oabc, boolean setRelative, String name) float[]getUnitCellAsArray(boolean vectorsOnly) getUnitCellInfo(boolean scaled) floatgetUnitCellInfoType(int infoType) javajs.util.T3float[]javajs.util.P3[]javajs.util.P3[]javajs.util.T3[]booleanvoidinitializeOrientation(javajs.util.M3 mat) booleanisBio()private booleanisNotCentroid(javajs.util.P3 center, int n, int[] minmax, boolean centroidPacked) booleanbooleanisSimple()booleanisSlab()booleanbooleanisWithinUnitCell(javajs.util.P3 pt, float a, float b, float c) (package private) static voidnewPoint(javajs.util.M4 m, javajs.util.P3 atom1, int x, int y, int z, javajs.util.P3 atom2) voidnewSpaceGroupPoint(javajs.util.P3 pt, int i, javajs.util.M4 o, int transX, int transY, int transZ, javajs.util.P3 retPoint) javajs.util.BSnotInCentroid(ModelSet modelSet, javajs.util.BS bsAtoms, int[] minmax) javajs.util.BSremoveDuplicates(ModelSet ms, javajs.util.BS bs, boolean highPrec) javajs.util.V3[]rotateAxes(int iop, javajs.util.V3[] axes, javajs.util.P3 ptTemp, javajs.util.M3 mTemp) voidsetFinalOperations(int dim, String name, javajs.util.P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, String filterSymop) voidsetLattice(int latt) set symmetry lattice type using Hall rotationsvoidsetOffset(int nnn) voidsetOffsetPt(javajs.util.T3 pt) setPointGroup(SymmetryInterface siLast, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, int maxAtoms, boolean localEnvOnly) voidsetSpaceGroup(boolean doNormalize) voidsetSpaceGroupName(String name) voidsetSymmetryInfo(int modelIndex, Map<String, Object> modelAuxiliaryInfo, float[] unitCellParams) Set space group and unit cell from the auxiliary info generated by the model adapter.voidsetTimeReversal(int op, int val) setUnitCell(float[] unitCellParams, boolean setRelative) voidvoidtoCartesian(javajs.util.T3 fpt, boolean ignoreOffset) voidtoFractional(javajs.util.T3 pt, boolean ignoreOffset) voidtoFractionalM(javajs.util.M4 m) booleantoFromPrimitive(boolean toPrimitive, char type, javajs.util.T3[] oabc, javajs.util.M3 primitiveToCrystal) javajs.util.P3toSupercell(javajs.util.P3 fpt) voidtoUnitCell(javajs.util.T3 pt, javajs.util.T3 offset) voidtoUnitCellRnd(javajs.util.T3 pt, javajs.util.T3 offset) booleanvoidunitize(javajs.util.T3 ptFrac)
-
Field Details
-
spaceGroup
SpaceGroup spaceGroup -
pointGroup
-
symmetryInfo
-
unitCell
-
cip
-
isBio
private boolean isBio -
desc
-
nullDesc
-
-
Constructor Details
-
Symmetry
public Symmetry()
-
-
Method Details
-
isBio
public boolean isBio()- Specified by:
isBioin interfaceSymmetryInterface
-
setPointGroup
public SymmetryInterface setPointGroup(SymmetryInterface siLast, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.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
public int addBioMoleculeOperation(javajs.util.M4 mat, boolean isReverse) - 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
-
createSpaceGroup
- Specified by:
createSpaceGroupin interfaceSymmetryInterface- Parameters:
desiredSpaceGroupIndex-name-data- a Lstor Lst modDim- in [3+d] modulation dimension- Returns:
- true if a known space group
-
getSpaceGroupInfoObj
public Object getSpaceGroupInfoObj(String name, float[] params, boolean isFull, boolean addNonstandard) - Specified by:
getSpaceGroupInfoObjin interfaceSymmetryInterface
-
getLatticeDesignation
- Specified by:
getLatticeDesignationin interfaceSymmetryInterface
-
setFinalOperations
public void setFinalOperations(int dim, String name, javajs.util.P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize, String filterSymop) - Specified by:
setFinalOperationsin interfaceSymmetryInterface
-
getSpaceGroupOperation
public javajs.util.M4 getSpaceGroupOperation(int i) - Specified by:
getSpaceGroupOperationin interfaceSymmetryInterface
-
getSpaceGroupXyz
- Specified by:
getSpaceGroupXyzin interfaceSymmetryInterface
-
newSpaceGroupPoint
public void newSpaceGroupPoint(javajs.util.P3 pt, int i, javajs.util.M4 o, int transX, int transY, int transZ, javajs.util.P3 retPoint) - Specified by:
newSpaceGroupPointin interfaceSymmetryInterface
-
rotateAxes
public javajs.util.V3[] rotateAxes(int iop, javajs.util.V3[] axes, javajs.util.P3 ptTemp, javajs.util.M3 mTemp) - Specified by:
rotateAxesin interfaceSymmetryInterface
-
getSpaceGroupOperationCode
- Specified by:
getSpaceGroupOperationCodein interfaceSymmetryInterface
-
setTimeReversal
public void setTimeReversal(int op, int val) - Specified by:
setTimeReversalin interfaceSymmetryInterface
-
getSpinOp
public float getSpinOp(int op) - Specified by:
getSpinOpin interfaceSymmetryInterface
-
addLatticeVectors
public boolean addLatticeVectors(javajs.util.Lst<float[]> lattvecs) - Specified by:
addLatticeVectorsin interfaceSymmetryInterface
-
getLatticeOp
public int getLatticeOp()- Specified by:
getLatticeOpin interfaceSymmetryInterface
-
getLatticeCentering
public javajs.util.Lst<javajs.util.P3> getLatticeCentering()- Specified by:
getLatticeCenteringin interfaceSymmetryInterface
-
getOperationRsVs
public javajs.util.Matrix getOperationRsVs(int iop) - Specified by:
getOperationRsVsin interfaceSymmetryInterface
-
getSiteMultiplicity
public int getSiteMultiplicity(javajs.util.P3 pt) - Specified by:
getSiteMultiplicityin interfaceSymmetryInterface
-
addSubSystemOp
public String addSubSystemOp(String code, javajs.util.Matrix rs, javajs.util.Matrix vs, javajs.util.Matrix sigma) - Specified by:
addSubSystemOpin interfaceSymmetryInterface
-
getMatrixFromString
public String getMatrixFromString(String xyz, float[] rotTransMatrix, boolean allowScaling, int modDim) - Specified by:
getMatrixFromStringin interfaceSymmetryInterface
-
getSpaceGroupName
- Specified by:
getSpaceGroupNamein interfaceSymmetryInterface
-
getSpaceGroupNameType
- Specified by:
getSpaceGroupNameTypein interfaceSymmetryInterface- Parameters:
type- "Hall" or "HM" or "ITA"- Returns:
- type or null
-
setSpaceGroupName
- Specified by:
setSpaceGroupNamein interfaceSymmetryInterface
-
getSpaceGroupOperationCount
public int getSpaceGroupOperationCount()- Specified by:
getSpaceGroupOperationCountin interfaceSymmetryInterface
-
getLatticeType
public char getLatticeType()- Specified by:
getLatticeTypein interfaceSymmetryInterface
-
getIntTableNumber
- Specified by:
getIntTableNumberin interfaceSymmetryInterface
-
getCoordinatesAreFractional
public boolean getCoordinatesAreFractional()- Specified by:
getCoordinatesAreFractionalin interfaceSymmetryInterface
-
getCellRange
public int[] getCellRange()- Specified by:
getCellRangein interfaceSymmetryInterface
-
getSymmetryInfoStr
- Specified by:
getSymmetryInfoStrin interfaceSymmetryInterface
-
getSymmetryOperations
- Specified by:
getSymmetryOperationsin interfaceSymmetryInterface
-
isSimple
public boolean isSimple()- Specified by:
isSimplein interfaceSymmetryInterface
-
setSymmetryInfo
public SymmetryInterface setSymmetryInfo(int modelIndex, Map<String, Object> modelAuxiliaryInfo, float[] unitCellParams) Set space group and unit cell from the auxiliary info generated by the model adapter.- Specified by:
setSymmetryInfoin interfaceSymmetryInterface
-
haveUnitCell
public boolean haveUnitCell()- Specified by:
haveUnitCellin interfaceSymmetryInterface
-
setUnitCell
- Specified by:
setUnitCellin interfaceSymmetryInterface
-
unitCellEquals
- Specified by:
unitCellEqualsin interfaceSymmetryInterface
-
getUnitCellState
- Specified by:
getUnitCellStatein interfaceSymmetryInterface
-
getMoreInfo
- Specified by:
getMoreInfoin interfaceSymmetryInterface
-
getUnitsymmetryInfo
-
initializeOrientation
public void initializeOrientation(javajs.util.M3 mat) - Specified by:
initializeOrientationin interfaceSymmetryInterface
-
unitize
public void unitize(javajs.util.T3 ptFrac) - Specified by:
unitizein interfaceSymmetryInterface
-
toUnitCell
public void toUnitCell(javajs.util.T3 pt, javajs.util.T3 offset) - Specified by:
toUnitCellin interfaceSymmetryInterface
-
toUnitCellRnd
public void toUnitCellRnd(javajs.util.T3 pt, javajs.util.T3 offset) - Specified by:
toUnitCellRndin interfaceSymmetryInterface
-
toSupercell
public javajs.util.P3 toSupercell(javajs.util.P3 fpt) - Specified by:
toSupercellin interfaceSymmetryInterface
-
toFractional
public void toFractional(javajs.util.T3 pt, boolean ignoreOffset) - Specified by:
toFractionalin interfaceSymmetryInterface
-
toFractionalM
public void toFractionalM(javajs.util.M4 m) - Specified by:
toFractionalMin interfaceSymmetryInterface
-
toCartesian
public void toCartesian(javajs.util.T3 fpt, boolean ignoreOffset) - Specified by:
toCartesianin interfaceSymmetryInterface
-
getUnitCellParams
public float[] getUnitCellParams()- Specified by:
getUnitCellParamsin interfaceSymmetryInterface
-
getUnitCellAsArray
public float[] getUnitCellAsArray(boolean vectorsOnly) - Specified by:
getUnitCellAsArrayin interfaceSymmetryInterface
-
getTensor
- Specified by:
getTensorin interfaceSymmetryInterface
-
getUnitCellVerticesNoOffset
public javajs.util.P3[] getUnitCellVerticesNoOffset()- Specified by:
getUnitCellVerticesNoOffsetin interfaceSymmetryInterface
-
getCartesianOffset
public javajs.util.P3 getCartesianOffset()- Specified by:
getCartesianOffsetin interfaceSymmetryInterface
-
getFractionalOffset
public javajs.util.P3 getFractionalOffset()- Specified by:
getFractionalOffsetin interfaceSymmetryInterface
-
setOffsetPt
public void setOffsetPt(javajs.util.T3 pt) - Specified by:
setOffsetPtin interfaceSymmetryInterface
-
setOffset
public void setOffset(int nnn) - Specified by:
setOffsetin interfaceSymmetryInterface
-
getUnitCellMultiplier
public javajs.util.T3 getUnitCellMultiplier()- Specified by:
getUnitCellMultiplierin interfaceSymmetryInterface
-
getUnitCellMultiplied
- Specified by:
getUnitCellMultipliedin interfaceSymmetryInterface
-
getCanonicalCopy
public javajs.util.P3[] getCanonicalCopy(float scale, boolean withOffset) - 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
-
checkDistance
public boolean checkDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset) - Specified by:
checkDistancein interfaceSymmetryInterface
-
getUnitCellVectors
public javajs.util.P3[] 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
-
isNotCentroid
private boolean isNotCentroid(javajs.util.P3 center, int n, int[] minmax, boolean centroidPacked) -
getDesc
-
getSymmetryInfoAtom
public Object getSymmetryInfoAtom(ModelSet modelSet, int iatom, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, String id, int type, float scaleFactor, int nth, int options) - 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
-
fcoord
- Specified by:
fcoordin interfaceSymmetryInterface
-
getV0abc
- Specified by:
getV0abcin interfaceSymmetryInterface
-
getQuaternionRotation
- Specified by:
getQuaternionRotationin interfaceSymmetryInterface
-
getFractionalOrigin
public javajs.util.T3 getFractionalOrigin()- Specified by:
getFractionalOriginin interfaceSymmetryInterface
-
getState
- Specified by:
getStatein interfaceSymmetryInterface
-
getIterator
- Specified by:
getIteratorin interfaceSymmetryInterface
-
toFromPrimitive
public boolean toFromPrimitive(boolean toPrimitive, char type, javajs.util.T3[] oabc, javajs.util.M3 primitiveToCrystal) - Specified by:
toFromPrimitivein interfaceSymmetryInterface
-
generateCrystalClass
public javajs.util.Lst<javajs.util.P3> generateCrystalClass(javajs.util.P3 pt0) - Specified by:
generateCrystalClassin interfaceSymmetryInterface
-
calculateCIPChiralityForAtoms
- Specified by:
calculateCIPChiralityForAtomsin interfaceSymmetryInterface
-
calculateCIPChiralityForSmiles
- Specified by:
calculateCIPChiralityForSmilesin interfaceSymmetryInterface- Throws:
Exception
-
getCIPChirality
-
getConventionalUnitCell
public javajs.util.T3[] getConventionalUnitCell(String latticeType, javajs.util.M3 primitiveToCrystal) return a conventional lattice from a primitive- Specified by:
getConventionalUnitCellin interfaceSymmetryInterface- Parameters:
latticeType- "A" "B" "C" "R" etc.- Returns:
- [origin va vb vc]
-
getUnitCellInfoMap
- Specified by:
getUnitCellInfoMapin interfaceSymmetryInterface
-
setUnitCell
- Specified by:
setUnitCellin interfaceSymmetryInterface
-
findSpaceGroup
public Object findSpaceGroup(Viewer vwr, javajs.util.BS atoms, String xyzList, float[] unitCell, boolean asString, boolean isAssign) - Specified by:
findSpaceGroupin interfaceSymmetryInterface
-
setSpaceGroupTo
- Specified by:
setSpaceGroupToin interfaceSymmetryInterface- Parameters:
sg- ITA number, ITA full name ("48:1")
-
removeDuplicates
- Specified by:
removeDuplicatesin interfaceSymmetryInterface
-
getEquivPoints
public javajs.util.Lst<javajs.util.P3> getEquivPoints(javajs.util.Lst<javajs.util.P3> pts, javajs.util.P3 pt, String flags) - Specified by:
getEquivPointsin interfaceSymmetryInterface
-
getEquivPointList
- Specified by:
getEquivPointListin interfaceSymmetryInterface
-
getInvariantSymops
public int[] getInvariantSymops(javajs.util.P3 pt, int[] v0) - Specified by:
getInvariantSymopsin interfaceSymmetryInterface
-
getTransform
public javajs.util.M4 getTransform(javajs.util.P3 fracA, javajs.util.P3 fracB, boolean best) - Specified by:
getTransformin interfaceSymmetryInterface- Parameters:
fracA-fracB-- Returns:
- matrix
-
newPoint
static void newPoint(javajs.util.M4 m, javajs.util.P3 atom1, int x, int y, int z, javajs.util.P3 atom2) -
isWithinUnitCell
public boolean isWithinUnitCell(javajs.util.P3 pt, float a, float b, float c) - Specified by:
isWithinUnitCellin interfaceSymmetryInterface
-
checkPeriodic
public boolean checkPeriodic(javajs.util.P3 pt) - Specified by:
checkPeriodicin interfaceSymmetryInterface
-