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 SymmetryInterface
public java.lang.String getPointGroupName()
getPointGroupName
in interface SymmetryInterface
public java.lang.Object getPointGroupInfo(int modelIndex, boolean asDraw, boolean asInfo, java.lang.String type, int index, float scale)
getPointGroupInfo
in interface SymmetryInterface
public void setSpaceGroup(boolean doNormalize)
setSpaceGroup
in interface SymmetryInterface
public int addSpaceGroupOperation(java.lang.String xyz, int opId)
addSpaceGroupOperation
in interface SymmetryInterface
public void addSpaceGroupOperationM(Matrix4f mat)
addSpaceGroupOperationM
in interface SymmetryInterface
public void setLattice(int latt)
SymmetryInterface
setLattice
in interface SymmetryInterface
latt
- SHELX index or character lattice character P I R F A B C S T or \0public java.lang.String getSpaceGroupName()
getSpaceGroupName
in interface SymmetryInterface
public java.lang.Object getSpaceGroup()
getSpaceGroup
in interface SymmetryInterface
public void setSpaceGroupS(SymmetryInterface symmetry)
setSpaceGroupS
in interface SymmetryInterface
public boolean createSpaceGroup(int desiredSpaceGroupIndex, java.lang.String name, float[] notionalUnitCell)
createSpaceGroup
in interface SymmetryInterface
public boolean haveSpaceGroup()
haveSpaceGroup
in interface SymmetryInterface
public java.lang.String getSpaceGroupInfo(java.lang.String name, SymmetryInterface cellInfo)
getSpaceGroupInfo
in interface SymmetryInterface
public java.lang.Object getLatticeDesignation()
getLatticeDesignation
in interface SymmetryInterface
public void setFinalOperations(P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize)
setFinalOperations
in interface SymmetryInterface
public int getSpaceGroupOperationCount()
getSpaceGroupOperationCount
in interface SymmetryInterface
public Matrix4f getSpaceGroupOperation(int i)
getSpaceGroupOperation
in interface SymmetryInterface
public java.lang.String getSpaceGroupXyz(int i, boolean doNormalize)
getSpaceGroupXyz
in interface SymmetryInterface
public void newSpaceGroupPoint(int i, P3 atom1, P3 atom2, int transX, int transY, int transZ)
newSpaceGroupPoint
in interface SymmetryInterface
public V3[] rotateEllipsoid(int i, P3 ptTemp, V3[] axes, P3 ptTemp1, P3 ptTemp2)
rotateEllipsoid
in interface SymmetryInterface
public java.lang.Object[] getSymmetryOperationDescription(int isym, SymmetryInterface cellInfo, P3 pt1, P3 pt2, java.lang.String id)
getSymmetryOperationDescription
in interface SymmetryInterface
public java.lang.String fcoord(Tuple3f p)
fcoord
in interface SymmetryInterface
public java.lang.String getMatrixFromString(java.lang.String xyz, float[] rotTransMatrix, boolean allowScaling)
getMatrixFromString
in interface SymmetryInterface
public P3 ijkToPoint3f(int nnn)
ijkToPoint3f
in interface SymmetryInterface
public boolean getCoordinatesAreFractional()
getCoordinatesAreFractional
in interface SymmetryInterface
public int[] getCellRange()
getCellRange
in interface SymmetryInterface
public java.lang.String getSymmetryInfoString()
getSymmetryInfoString
in interface SymmetryInterface
public java.lang.String[] getSymmetryOperations()
getSymmetryOperations
in interface SymmetryInterface
public boolean isPeriodic()
isPeriodic
in interface SymmetryInterface
public void setSymmetryInfo(int modelIndex, java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo)
setSymmetryInfo
in interface SymmetryInterface
public void setUnitCell(float[] notionalUnitCell)
setUnitCell
in interface SymmetryInterface
public boolean haveUnitCell()
haveUnitCell
in interface SymmetryInterface
public java.lang.String getUnitsymmetryInfo()
public void setUnitCellOrientation(Matrix3f matUnitCellOrientation)
setUnitCellOrientation
in interface SymmetryInterface
public void toUnitCell(P3 pt, P3 offset)
toUnitCell
in interface SymmetryInterface
public void toCartesian(P3 fpt, boolean isAbsolute)
toCartesian
in interface SymmetryInterface
public P3 toSupercell(P3 fpt)
toSupercell
in interface SymmetryInterface
public void toFractional(P3 pt, boolean isAbsolute)
toFractional
in interface SymmetryInterface
public float[] getNotionalUnitCell()
getNotionalUnitCell
in interface SymmetryInterface
public float[] getUnitCellAsArray(boolean vectorsOnly)
getUnitCellAsArray
in interface SymmetryInterface
public Tensor getTensor(float[] parBorU)
getTensor
in interface SymmetryInterface
public P3[] getUnitCellVertices()
getUnitCellVertices
in interface SymmetryInterface
public P3 getCartesianOffset()
getCartesianOffset
in interface SymmetryInterface
public void setCartesianOffset(Tuple3f origin)
setCartesianOffset
in interface SymmetryInterface
public P3 getFractionalOffset()
getFractionalOffset
in interface SymmetryInterface
public void setOffsetPt(P3 pt)
setOffsetPt
in interface SymmetryInterface
public void setOffset(int nnn)
setOffset
in interface SymmetryInterface
public P3 getUnitCellMultiplier()
getUnitCellMultiplier
in interface SymmetryInterface
public P3[] getCanonicalCopy(float scale)
getCanonicalCopy
in interface SymmetryInterface
public float getUnitCellInfoType(int infoType)
getUnitCellInfoType
in interface SymmetryInterface
public java.lang.String getUnitCellInfo()
getUnitCellInfo
in interface SymmetryInterface
public boolean isSlab()
isSlab
in interface SymmetryInterface
public boolean isPolymer()
isPolymer
in interface SymmetryInterface
public void setMinMaxLatticeParameters(P3i minXYZ, P3i maxXYZ)
setMinMaxLatticeParameters
in interface SymmetryInterface
public void setUnitCellAllFractionalRelative(boolean TF)
setUnitCellAllFractionalRelative
in interface SymmetryInterface
public boolean checkDistance(P3 f1, P3 f2, float distance, float dx, int iRange, int jRange, int kRange, P3 ptOffset)
checkDistance
in interface SymmetryInterface
public P3[] getUnitCellVectors()
getUnitCellVectors
in interface SymmetryInterface
public SymmetryInterface getUnitCell(Tuple3f[] points)
getUnitCell
in interface SymmetryInterface
public boolean isSupercell()
isSupercell
in interface SymmetryInterface
public 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 SymmetryInterface
public 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 SymmetryInterface
public 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 SymmetryInterface
public BS notInCentroid(ModelSet modelSet, BS bsAtoms, int[] minmax)
notInCentroid
in interface SymmetryInterface
private 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