public class Symmetry extends java.lang.Object implements SymmetryInterface
| Modifier and Type | Field and Description |
|---|---|
(package private) CIPChirality |
cip |
private SymmetryDesc |
desc |
private boolean |
isBio |
private PointGroup |
pointGroup |
(package private) SpaceGroup |
spaceGroup |
private SymmetryInfo |
symmetryInfo |
private UnitCell |
unitCell |
| Constructor and Description |
|---|
Symmetry() |
| 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() |
private CIPChirality |
getCIPChirality(Viewer vwr) |
javajs.util.T3[] |
getConventionalUnitCell(java.lang.String latticeType,
javajs.util.M3 primitiveToCrystal)
return a conventional lattice from a primitive
|
boolean |
getCoordinatesAreFractional() |
private SymmetryDesc |
getDesc(ModelSet modelSet) |
javajs.util.P3 |
getFractionalOffset() |
javajs.util.T3 |
getFractionalOrigin() |
java.lang.String |
getIntTableNumber() |
AtomIndexIterator |
getIterator(Viewer vwr,
Atom atom,
Atom[] atoms,
javajs.util.BS bsAtoms,
float radius) |
java.lang.Object |
getLatticeDesignation() |
int |
getLatticeOp() |
java.lang.String |
getLatticeType() |
java.lang.String |
getMatrixFromString(java.lang.String xyz,
float[] rotTransMatrix,
boolean allowScaling,
int modDim) |
javajs.util.Lst<java.lang.String> |
getMoreInfo() |
javajs.util.Matrix |
getOperationRsVs(int iop) |
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 pt) |
java.lang.Object |
getSpaceGroup() |
java.util.Map<java.lang.String,java.lang.Object> |
getSpaceGroupInfo(ModelSet modelSet,
java.lang.String sgName,
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 iOp) |
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 modelSet,
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[] parBorU) |
SymmetryInterface |
getUnitCell(javajs.util.T3[] oabc,
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() |
java.lang.String |
getUnitsymmetryInfo() |
javajs.util.T3[] |
getV0abc(java.lang.Object def) |
boolean |
haveUnitCell() |
void |
initializeOrientation(javajs.util.M3 mat) |
boolean |
isBio() |
private boolean |
isNotCentroid(javajs.util.P3 center,
int n,
int[] minmax,
boolean centroidPacked) |
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 siLast,
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[] unitCellParams)
Set space group and unit cell from the auxiliary info generated by the
model adapter.
|
void |
setTimeReversal(int op,
int val) |
void |
setUnitCell(float[] unitCellParams,
boolean setRelative) |
void |
setUnitCell(Symmetry uc) |
void |
toCartesian(javajs.util.T3 fpt,
boolean ignoreOffset) |
void |
toFractional(javajs.util.T3 pt,
boolean ignoreOffset) |
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) |
private PointGroup pointGroup
SpaceGroup spaceGroup
private SymmetryInfo symmetryInfo
private UnitCell unitCell
private boolean isBio
private SymmetryDesc desc
CIPChirality cip
public boolean isBio()
isBio in interface SymmetryInterfacepublic SymmetryInterface setPointGroup(SymmetryInterface siLast, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, boolean localEnvOnly)
setPointGroup in interface SymmetryInterfacepublic java.lang.String getPointGroupName()
getPointGroupName in interface SymmetryInterfacepublic java.lang.Object getPointGroupInfo(int modelIndex,
java.lang.String drawID,
boolean asInfo,
java.lang.String type,
int index,
float scale)
getPointGroupInfo in interface SymmetryInterfacepublic void setSpaceGroup(boolean doNormalize)
setSpaceGroup in interface SymmetryInterfacepublic int addSpaceGroupOperation(java.lang.String xyz,
int opId)
addSpaceGroupOperation in interface SymmetryInterfacepublic int addBioMoleculeOperation(javajs.util.M4 mat,
boolean isReverse)
addBioMoleculeOperation in interface SymmetryInterfacepublic void setLattice(int latt)
SymmetryInterfacesetLattice in interface SymmetryInterfacelatt - SHELX index or character lattice character P I R F A B C S T or \0public java.lang.Object getSpaceGroup()
getSpaceGroup in interface SymmetryInterfacepublic void setSpaceGroupFrom(SymmetryInterface symmetry)
setSpaceGroupFrom in interface SymmetryInterfacepublic boolean createSpaceGroup(int desiredSpaceGroupIndex,
java.lang.String name,
java.lang.Object data,
int modDim)
createSpaceGroup in interface SymmetryInterfacedesiredSpaceGroupIndex - name - data - a Lstd - in [3+d] modulation dimensionpublic java.lang.Object getSpaceGroupInfoObj(java.lang.String name,
SymmetryInterface cellInfo,
boolean isFull)
getSpaceGroupInfoObj in interface SymmetryInterfacepublic java.lang.Object getLatticeDesignation()
getLatticeDesignation in interface SymmetryInterfacepublic void setFinalOperations(java.lang.String name,
javajs.util.P3[] atoms,
int iAtomFirst,
int noSymmetryCount,
boolean doNormalize,
java.lang.String filterSymop)
setFinalOperations in interface SymmetryInterfacepublic javajs.util.M4 getSpaceGroupOperation(int i)
getSpaceGroupOperation in interface SymmetryInterfacepublic java.lang.String getSpaceGroupXyz(int i,
boolean doNormalize)
getSpaceGroupXyz in interface SymmetryInterfacepublic void newSpaceGroupPoint(int i,
javajs.util.P3 atom1,
javajs.util.P3 atom2,
int transX,
int transY,
int transZ,
javajs.util.M4 o)
newSpaceGroupPoint in interface SymmetryInterfacepublic javajs.util.V3[] rotateAxes(int iop,
javajs.util.V3[] axes,
javajs.util.P3 ptTemp,
javajs.util.M3 mTemp)
rotateAxes in interface SymmetryInterfacepublic java.lang.String getSpaceGroupOperationCode(int iOp)
getSpaceGroupOperationCode in interface SymmetryInterfacepublic void setTimeReversal(int op,
int val)
setTimeReversal in interface SymmetryInterfacepublic float getSpinOp(int op)
getSpinOp in interface SymmetryInterfacepublic boolean addLatticeVectors(javajs.util.Lst<float[]> lattvecs)
addLatticeVectors in interface SymmetryInterfacepublic int getLatticeOp()
getLatticeOp in interface SymmetryInterfacepublic javajs.util.Matrix getOperationRsVs(int iop)
getOperationRsVs in interface SymmetryInterfacepublic int getSiteMultiplicity(javajs.util.P3 pt)
getSiteMultiplicity in interface SymmetryInterfacepublic java.lang.String addOp(java.lang.String code,
javajs.util.Matrix rs,
javajs.util.Matrix vs,
javajs.util.Matrix sigma)
addOp in interface SymmetryInterfacepublic java.lang.String getMatrixFromString(java.lang.String xyz,
float[] rotTransMatrix,
boolean allowScaling,
int modDim)
getMatrixFromString in interface SymmetryInterfacepublic java.lang.String getSpaceGroupName()
getSpaceGroupName in interface SymmetryInterfacepublic void setSpaceGroupName(java.lang.String name)
setSpaceGroupName in interface SymmetryInterfacepublic int getSpaceGroupOperationCount()
getSpaceGroupOperationCount in interface SymmetryInterfacepublic java.lang.String getLatticeType()
getLatticeType in interface SymmetryInterfacepublic void setLatticeType(java.lang.String type)
setLatticeType in interface SymmetryInterfacepublic java.lang.String getIntTableNumber()
getIntTableNumber in interface SymmetryInterfacepublic boolean getCoordinatesAreFractional()
getCoordinatesAreFractional in interface SymmetryInterfacepublic int[] getCellRange()
getCellRange in interface SymmetryInterfacepublic java.lang.String getSymmetryInfoStr()
getSymmetryInfoStr in interface SymmetryInterfacepublic javajs.util.M4[] getSymmetryOperations()
getSymmetryOperations in interface SymmetryInterfacepublic boolean isSimple()
isSimple in interface SymmetryInterfacepublic SymmetryInterface setSymmetryInfo(int modelIndex, java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo, float[] unitCellParams)
setSymmetryInfo in interface SymmetryInterfacepublic boolean haveUnitCell()
haveUnitCell in interface SymmetryInterfacepublic boolean checkUnitCell(SymmetryInterface uc, javajs.util.P3 cell, javajs.util.P3 ptTemp, boolean isAbsolute)
checkUnitCell in interface SymmetryInterfacepublic void setUnitCell(float[] unitCellParams,
boolean setRelative)
setUnitCell in interface SymmetryInterfacepublic boolean unitCellEquals(SymmetryInterface uc2)
unitCellEquals in interface SymmetryInterfacepublic java.lang.String getUnitCellState()
getUnitCellState in interface SymmetryInterfacepublic javajs.util.Lst<java.lang.String> getMoreInfo()
getMoreInfo in interface SymmetryInterfacepublic java.lang.String getUnitsymmetryInfo()
public void initializeOrientation(javajs.util.M3 mat)
initializeOrientation in interface SymmetryInterfacepublic void unitize(javajs.util.T3 ptFrac)
unitize in interface SymmetryInterfacepublic void toUnitCell(javajs.util.T3 pt,
javajs.util.T3 offset)
toUnitCell in interface SymmetryInterfacepublic javajs.util.P3 toSupercell(javajs.util.P3 fpt)
toSupercell in interface SymmetryInterfacepublic void toFractional(javajs.util.T3 pt,
boolean ignoreOffset)
toFractional in interface SymmetryInterfacepublic void toFractionalM(javajs.util.M4 m)
toFractionalM in interface SymmetryInterfacepublic void toCartesian(javajs.util.T3 fpt,
boolean ignoreOffset)
toCartesian in interface SymmetryInterfacepublic float[] getUnitCellParams()
getUnitCellParams in interface SymmetryInterfacepublic float[] getUnitCellAsArray(boolean vectorsOnly)
getUnitCellAsArray in interface SymmetryInterfacepublic Tensor getTensor(Viewer vwr, float[] parBorU)
getTensor in interface SymmetryInterfacepublic javajs.util.P3[] getUnitCellVerticesNoOffset()
getUnitCellVerticesNoOffset in interface SymmetryInterfacepublic javajs.util.P3 getCartesianOffset()
getCartesianOffset in interface SymmetryInterfacepublic javajs.util.P3 getFractionalOffset()
getFractionalOffset in interface SymmetryInterfacepublic void setOffsetPt(javajs.util.T3 pt)
setOffsetPt in interface SymmetryInterfacepublic void setOffset(int nnn)
setOffset in interface SymmetryInterfacepublic javajs.util.T3 getUnitCellMultiplier()
getUnitCellMultiplier in interface SymmetryInterfacepublic javajs.util.P3[] getCanonicalCopy(float scale,
boolean withOffset)
getCanonicalCopy in interface SymmetryInterfacepublic float getUnitCellInfoType(int infoType)
getUnitCellInfoType in interface SymmetryInterfacepublic java.lang.String getUnitCellInfo()
getUnitCellInfo in interface SymmetryInterfacepublic boolean isSlab()
isSlab in interface SymmetryInterfacepublic boolean isPolymer()
isPolymer in interface SymmetryInterfacepublic boolean checkDistance(javajs.util.P3 f1,
javajs.util.P3 f2,
float distance,
float dx,
int iRange,
int jRange,
int kRange,
javajs.util.P3 ptOffset)
checkDistance in interface SymmetryInterfacepublic javajs.util.P3[] getUnitCellVectors()
getUnitCellVectors in interface SymmetryInterfacepublic SymmetryInterface getUnitCell(javajs.util.T3[] oabc, boolean setRelative, java.lang.String name)
getUnitCell in interface SymmetryInterfaceoabc - [ptorigin, va, vb, vc]setRelative - a flag only set true for IsosurfaceMeshname - public boolean isSupercell()
isSupercell in interface SymmetryInterfacepublic javajs.util.BS notInCentroid(ModelSet modelSet, javajs.util.BS bsAtoms, int[] minmax)
notInCentroid in interface SymmetryInterfaceprivate boolean isNotCentroid(javajs.util.P3 center,
int n,
int[] minmax,
boolean centroidPacked)
private SymmetryDesc getDesc(ModelSet modelSet)
public java.lang.Object getSymmetryInfoAtom(ModelSet modelSet, 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)
getSymmetryInfoAtom in interface SymmetryInterfacept2 - 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.offsetpublic java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(ModelSet modelSet, java.lang.String sgName, int modelIndex, boolean isFull, float[] cellParams)
getSpaceGroupInfo in interface SymmetryInterfacepublic java.lang.String fcoord(javajs.util.T3 p)
fcoord in interface SymmetryInterfacepublic javajs.util.T3[] getV0abc(java.lang.Object def)
getV0abc in interface SymmetryInterfacepublic javajs.util.Quat getQuaternionRotation(java.lang.String abc)
getQuaternionRotation in interface SymmetryInterfacepublic javajs.util.T3 getFractionalOrigin()
getFractionalOrigin in interface SymmetryInterfacepublic boolean getState(javajs.util.SB commands)
getState in interface SymmetryInterfacepublic AtomIndexIterator getIterator(Viewer vwr, Atom atom, Atom[] atoms, javajs.util.BS bsAtoms, float radius)
getIterator in interface SymmetryInterfacepublic boolean toFromPrimitive(boolean toPrimitive,
char type,
javajs.util.T3[] oabc,
javajs.util.M3 primitiveToCrystal)
toFromPrimitive in interface SymmetryInterfacepublic javajs.util.Lst<javajs.util.P3> generateCrystalClass(javajs.util.P3 pt0)
generateCrystalClass in interface SymmetryInterfacepublic void calculateCIPChiralityForAtoms(Viewer vwr, javajs.util.BS bsAtoms)
calculateCIPChiralityForAtoms in interface SymmetryInterfacepublic java.lang.String[] calculateCIPChiralityForSmiles(Viewer vwr, java.lang.String smiles) throws java.lang.Exception
calculateCIPChiralityForSmiles in interface SymmetryInterfacejava.lang.Exceptionprivate CIPChirality getCIPChirality(Viewer vwr)
public javajs.util.T3[] getConventionalUnitCell(java.lang.String latticeType,
javajs.util.M3 primitiveToCrystal)
getConventionalUnitCell in interface SymmetryInterfacelatticeType - "A" "B" "C" "R" etc.public java.util.Map<java.lang.String,java.lang.Object> getUnitCellInfoMap()
getUnitCellInfoMap in interface SymmetryInterfacepublic void setUnitCell(Symmetry uc)
setUnitCell in interface SymmetryInterface