public class Symmetry extends java.lang.Object implements SymmetryInterface
| Modifier and Type | Field and Description |
|---|---|
private PointGroup |
pointGroup |
private SpaceGroup |
spaceGroup |
private SymmetryInfo |
symmetryInfo |
private UnitCell |
unitCell |
| Constructor and Description |
|---|
Symmetry() |
| Modifier and Type | Method and Description |
|---|---|
int |
addSpaceGroupOperation(java.lang.String xyz,
int opId) |
void |
addSpaceGroupOperationM(Matrix4f mat) |
boolean |
checkDistance(P3 f1,
P3 f2,
float distance,
float dx,
int iRange,
int jRange,
int kRange,
P3 ptOffset) |
boolean |
checkUnitCell(SymmetryInterface uc,
P3 cell,
P3 ptTemp,
boolean isAbsolute) |
boolean |
createSpaceGroup(int desiredSpaceGroupIndex,
java.lang.String name,
float[] notionalUnitCell) |
java.lang.String |
fcoord(Tuple3f p) |
P3[] |
getCanonicalCopy(float scale) |
P3 |
getCartesianOffset() |
int[] |
getCellRange() |
boolean |
getCoordinatesAreFractional() |
P3 |
getFractionalOffset() |
java.lang.Object |
getLatticeDesignation() |
java.lang.String |
getMatrixFromString(java.lang.String xyz,
float[] rotTransMatrix,
boolean allowScaling) |
float[] |
getNotionalUnitCell() |
java.lang.Object |
getPointGroupInfo(int modelIndex,
boolean asDraw,
boolean asInfo,
java.lang.String type,
int index,
float scale) |
java.lang.String |
getPointGroupName() |
java.lang.Object |
getSpaceGroup() |
java.util.Map<java.lang.String,java.lang.Object> |
getSpaceGroupInfo(ModelSet modelSet,
int modelIndex,
java.lang.String spaceGroup,
int symOp,
P3 pt1,
P3 pt2,
java.lang.String drawID) |
java.lang.String |
getSpaceGroupInfo(java.lang.String name,
SymmetryInterface cellInfo) |
java.lang.String |
getSpaceGroupName() |
Matrix4f |
getSpaceGroupOperation(int i) |
int |
getSpaceGroupOperationCount() |
java.lang.String |
getSpaceGroupXyz(int i,
boolean doNormalize) |
java.lang.Object |
getSymmetryInfo(ModelSet modelSet,
int iModel,
int iAtom,
SymmetryInterface uc,
java.lang.String xyz,
int op,
P3 pt,
P3 pt2,
java.lang.String id,
int type) |
java.lang.String |
getSymmetryInfoString() |
java.lang.Object[] |
getSymmetryOperationDescription(int isym,
SymmetryInterface cellInfo,
P3 pt1,
P3 pt2,
java.lang.String id) |
java.lang.String |
getSymmetryOperationInfo(java.util.Map<java.lang.String,java.lang.Object> sginfo,
int symOp,
java.lang.String drawID,
boolean labelOnly) |
java.lang.String[] |
getSymmetryOperations() |
Tensor |
getTensor(float[] parBorU) |
SymmetryInterface |
getUnitCell(Tuple3f[] points) |
float[] |
getUnitCellAsArray(boolean vectorsOnly) |
java.lang.String |
getUnitCellInfo() |
float |
getUnitCellInfoType(int infoType) |
P3 |
getUnitCellMultiplier() |
P3[] |
getUnitCellVectors() |
P3[] |
getUnitCellVertices() |
java.lang.String |
getUnitsymmetryInfo() |
boolean |
haveSpaceGroup() |
boolean |
haveUnitCell() |
P3 |
ijkToPoint3f(int nnn) |
private boolean |
isNotCentroid(P3 center,
int n,
int[] minmax,
boolean centroidPacked) |
boolean |
isPeriodic() |
boolean |
isPolymer() |
boolean |
isSlab() |
boolean |
isSupercell() |
void |
newSpaceGroupPoint(int i,
P3 atom1,
P3 atom2,
int transX,
int transY,
int transZ) |
BS |
notInCentroid(ModelSet modelSet,
BS bsAtoms,
int[] minmax) |
V3[] |
rotateEllipsoid(int i,
P3 ptTemp,
V3[] axes,
P3 ptTemp1,
P3 ptTemp2) |
void |
setCartesianOffset(Tuple3f origin) |
void |
setFinalOperations(P3[] atoms,
int iAtomFirst,
int noSymmetryCount,
boolean doNormalize) |
void |
setLattice(int latt)
set symmetry lattice type using Hall rotations
|
void |
setMinMaxLatticeParameters(P3i minXYZ,
P3i maxXYZ) |
void |
setOffset(int nnn) |
void |
setOffsetPt(P3 pt) |
SymmetryInterface |
setPointGroup(SymmetryInterface siLast,
Atom[] atomset,
BS bsAtoms,
boolean haveVibration,
float distanceTolerance,
float linearTolerance) |
void |
setSpaceGroup(boolean doNormalize) |
void |
setSpaceGroupS(SymmetryInterface symmetry) |
void |
setSymmetryInfo(int modelIndex,
java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo) |
void |
setUnitCell(float[] notionalUnitCell) |
void |
setUnitCellAllFractionalRelative(boolean TF) |
void |
setUnitCellOrientation(Matrix3f matUnitCellOrientation) |
void |
toCartesian(P3 fpt,
boolean isAbsolute) |
void |
toFractional(P3 pt,
boolean isAbsolute) |
P3 |
toSupercell(P3 fpt) |
void |
toUnitCell(P3 pt,
P3 offset) |
private PointGroup pointGroup
private SpaceGroup spaceGroup
private SymmetryInfo symmetryInfo
private UnitCell unitCell
public SymmetryInterface setPointGroup(SymmetryInterface siLast, Atom[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance)
setPointGroup in interface SymmetryInterfacepublic java.lang.String getPointGroupName()
getPointGroupName in interface SymmetryInterfacepublic java.lang.Object getPointGroupInfo(int modelIndex,
boolean asDraw,
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 void addSpaceGroupOperationM(Matrix4f mat)
addSpaceGroupOperationM 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.String getSpaceGroupName()
getSpaceGroupName in interface SymmetryInterfacepublic java.lang.Object getSpaceGroup()
getSpaceGroup in interface SymmetryInterfacepublic void setSpaceGroupS(SymmetryInterface symmetry)
setSpaceGroupS in interface SymmetryInterfacepublic boolean createSpaceGroup(int desiredSpaceGroupIndex,
java.lang.String name,
float[] notionalUnitCell)
createSpaceGroup in interface SymmetryInterfacepublic boolean haveSpaceGroup()
haveSpaceGroup in interface SymmetryInterfacepublic java.lang.String getSpaceGroupInfo(java.lang.String name,
SymmetryInterface cellInfo)
getSpaceGroupInfo in interface SymmetryInterfacepublic java.lang.Object getLatticeDesignation()
getLatticeDesignation in interface SymmetryInterfacepublic void setFinalOperations(P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize)
setFinalOperations in interface SymmetryInterfacepublic int getSpaceGroupOperationCount()
getSpaceGroupOperationCount in interface SymmetryInterfacepublic Matrix4f getSpaceGroupOperation(int i)
getSpaceGroupOperation in interface SymmetryInterfacepublic java.lang.String getSpaceGroupXyz(int i,
boolean doNormalize)
getSpaceGroupXyz in interface SymmetryInterfacepublic void newSpaceGroupPoint(int i,
P3 atom1,
P3 atom2,
int transX,
int transY,
int transZ)
newSpaceGroupPoint in interface SymmetryInterfacepublic V3[] rotateEllipsoid(int i, P3 ptTemp, V3[] axes, P3 ptTemp1, P3 ptTemp2)
rotateEllipsoid in interface SymmetryInterfacepublic java.lang.Object[] getSymmetryOperationDescription(int isym,
SymmetryInterface cellInfo,
P3 pt1,
P3 pt2,
java.lang.String id)
getSymmetryOperationDescription in interface SymmetryInterfacepublic java.lang.String fcoord(Tuple3f p)
fcoord in interface SymmetryInterfacepublic java.lang.String getMatrixFromString(java.lang.String xyz,
float[] rotTransMatrix,
boolean allowScaling)
getMatrixFromString in interface SymmetryInterfacepublic P3 ijkToPoint3f(int nnn)
ijkToPoint3f in interface SymmetryInterfacepublic boolean getCoordinatesAreFractional()
getCoordinatesAreFractional in interface SymmetryInterfacepublic int[] getCellRange()
getCellRange in interface SymmetryInterfacepublic java.lang.String getSymmetryInfoString()
getSymmetryInfoString in interface SymmetryInterfacepublic java.lang.String[] getSymmetryOperations()
getSymmetryOperations in interface SymmetryInterfacepublic boolean isPeriodic()
isPeriodic in interface SymmetryInterfacepublic void setSymmetryInfo(int modelIndex,
java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo)
setSymmetryInfo in interface SymmetryInterfacepublic void setUnitCell(float[] notionalUnitCell)
setUnitCell in interface SymmetryInterfacepublic boolean haveUnitCell()
haveUnitCell in interface SymmetryInterfacepublic java.lang.String getUnitsymmetryInfo()
public void setUnitCellOrientation(Matrix3f matUnitCellOrientation)
setUnitCellOrientation in interface SymmetryInterfacepublic void toUnitCell(P3 pt, P3 offset)
toUnitCell in interface SymmetryInterfacepublic void toCartesian(P3 fpt, boolean isAbsolute)
toCartesian in interface SymmetryInterfacepublic P3 toSupercell(P3 fpt)
toSupercell in interface SymmetryInterfacepublic void toFractional(P3 pt, boolean isAbsolute)
toFractional in interface SymmetryInterfacepublic float[] getNotionalUnitCell()
getNotionalUnitCell in interface SymmetryInterfacepublic float[] getUnitCellAsArray(boolean vectorsOnly)
getUnitCellAsArray in interface SymmetryInterfacepublic Tensor getTensor(float[] parBorU)
getTensor in interface SymmetryInterfacepublic P3[] getUnitCellVertices()
getUnitCellVertices in interface SymmetryInterfacepublic P3 getCartesianOffset()
getCartesianOffset in interface SymmetryInterfacepublic void setCartesianOffset(Tuple3f origin)
setCartesianOffset in interface SymmetryInterfacepublic P3 getFractionalOffset()
getFractionalOffset in interface SymmetryInterfacepublic void setOffsetPt(P3 pt)
setOffsetPt in interface SymmetryInterfacepublic void setOffset(int nnn)
setOffset in interface SymmetryInterfacepublic P3 getUnitCellMultiplier()
getUnitCellMultiplier in interface SymmetryInterfacepublic P3[] getCanonicalCopy(float scale)
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 void setMinMaxLatticeParameters(P3i minXYZ, P3i maxXYZ)
setMinMaxLatticeParameters in interface SymmetryInterfacepublic void setUnitCellAllFractionalRelative(boolean TF)
setUnitCellAllFractionalRelative in interface SymmetryInterfacepublic boolean checkDistance(P3 f1, P3 f2, float distance, float dx, int iRange, int jRange, int kRange, P3 ptOffset)
checkDistance in interface SymmetryInterfacepublic P3[] getUnitCellVectors()
getUnitCellVectors in interface SymmetryInterfacepublic SymmetryInterface getUnitCell(Tuple3f[] points)
getUnitCell in interface SymmetryInterfacepublic boolean isSupercell()
isSupercell in interface SymmetryInterfacepublic java.lang.String getSymmetryOperationInfo(java.util.Map<java.lang.String,java.lang.Object> sginfo,
int symOp,
java.lang.String drawID,
boolean labelOnly)
getSymmetryOperationInfo in interface SymmetryInterfacepublic java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(ModelSet modelSet, int modelIndex, java.lang.String spaceGroup, int symOp, P3 pt1, P3 pt2, java.lang.String drawID)
getSpaceGroupInfo in interface SymmetryInterfacepublic java.lang.Object getSymmetryInfo(ModelSet modelSet, int iModel, int iAtom, SymmetryInterface uc, java.lang.String xyz, int op, P3 pt, P3 pt2, java.lang.String id, int type)
getSymmetryInfo in interface SymmetryInterfacepublic BS notInCentroid(ModelSet modelSet, BS bsAtoms, int[] minmax)
notInCentroid in interface SymmetryInterfaceprivate boolean isNotCentroid(P3 center, int n, int[] minmax, boolean centroidPacked)
public boolean checkUnitCell(SymmetryInterface uc, P3 cell, P3 ptTemp, boolean isAbsolute)
checkUnitCell in interface SymmetryInterface