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 |
---|---|
void |
addSpaceGroupOperation(javax.vecmath.Matrix4f mat) |
int |
addSpaceGroupOperation(java.lang.String xyz,
int opId) |
boolean |
checkDistance(javax.vecmath.Point3f f1,
javax.vecmath.Point3f f2,
float distance,
float dx,
int iRange,
int jRange,
int kRange,
javax.vecmath.Point3f ptOffset) |
boolean |
createSpaceGroup(int desiredSpaceGroupIndex,
java.lang.String name,
float[] notionalUnitCell) |
java.lang.String |
fcoord(javax.vecmath.Tuple3f p) |
javax.vecmath.Point3f[] |
getCanonicalCopy(float scale) |
javax.vecmath.Point3f |
getCartesianOffset() |
int[] |
getCellRange() |
boolean |
getCoordinatesAreFractional() |
java.lang.Object[] |
getEllipsoid(float[] parBorU) |
java.lang.Object[] |
getEllipsoid(javax.vecmath.Vector3f[] vectors,
float a,
float b,
float c) |
javax.vecmath.Point3f |
getFractionalOffset() |
java.lang.Object |
getLatticeDesignation() |
java.lang.String |
getMatrixFromString(java.lang.String xyz,
float[] temp,
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.lang.String |
getSpaceGroupInfo(java.lang.String name,
SymmetryInterface cellInfo) |
java.lang.String |
getSpaceGroupName() |
javax.vecmath.Matrix4f |
getSpaceGroupOperation(int i) |
int |
getSpaceGroupOperationCount() |
java.lang.String |
getSpaceGroupXyz(int i,
boolean doNormalize) |
java.lang.String |
getSymmetryInfoString() |
java.lang.Object[] |
getSymmetryOperationDescription(int isym,
SymmetryInterface cellInfo,
javax.vecmath.Point3f pt1,
javax.vecmath.Point3f pt2,
java.lang.String id) |
java.lang.String[] |
getSymmetryOperations() |
float[] |
getUnitCellAsArray(boolean vectorsOnly) |
java.lang.String |
getUnitCellInfo() |
float |
getUnitCellInfo(int infoType) |
javax.vecmath.Point3f |
getUnitCellMultiplier() |
javax.vecmath.Point3f[] |
getUnitCellVertices() |
java.lang.String |
getUnitsymmetryInfo() |
float |
getUnitsymmetryInfo(int infoType) |
boolean |
haveSpaceGroup() |
boolean |
haveUnitCell() |
javax.vecmath.Point3f |
ijkToPoint3f(int nnn) |
boolean |
isPeriodic() |
boolean |
isPolymer() |
boolean |
isSlab() |
void |
newSpaceGroupPoint(int i,
javax.vecmath.Point3f atom1,
javax.vecmath.Point3f atom2,
int transX,
int transY,
int transZ) |
java.lang.Object |
rotateEllipsoid(int i,
javax.vecmath.Point3f ptTemp,
javax.vecmath.Vector3f[] axes,
javax.vecmath.Point3f ptTemp1,
javax.vecmath.Point3f ptTemp2) |
void |
setFinalOperations(javax.vecmath.Point3f[] atoms,
int iAtomFirst,
int noSymmetryCount,
boolean doNormalize) |
void |
setLattice(int latt)
set symmetry lattice type using Hall rotations
|
void |
setMinMaxLatticeParameters(javax.vecmath.Point3i minXYZ,
javax.vecmath.Point3i maxXYZ) |
void |
setOffset(int nnn) |
SymmetryInterface |
setPointGroup(SymmetryInterface siLast,
Atom[] atomset,
java.util.BitSet bsAtoms,
boolean haveVibration,
float distanceTolerance,
float linearTolerance) |
void |
setSpaceGroup(boolean doNormalize) |
void |
setSpaceGroup(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 |
setUnitCellOffset(javax.vecmath.Point3f pt) |
void |
setUnitCellOrientation(javax.vecmath.Matrix3f matUnitCellOrientation) |
void |
toCartesian(javax.vecmath.Point3f fpt,
boolean isAbsolute) |
void |
toFractional(javax.vecmath.Point3f pt,
boolean isAbsolute) |
void |
toUnitCell(javax.vecmath.Point3f pt,
javax.vecmath.Point3f offset) |
private PointGroup pointGroup
private SpaceGroup spaceGroup
private SymmetryInfo symmetryInfo
private UnitCell unitCell
public SymmetryInterface setPointGroup(SymmetryInterface siLast, Atom[] atomset, java.util.BitSet 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 addSpaceGroupOperation(javax.vecmath.Matrix4f mat)
addSpaceGroupOperation
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 setSpaceGroup(SymmetryInterface symmetry)
setSpaceGroup
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(javax.vecmath.Point3f[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize)
setFinalOperations
in interface SymmetryInterface
public int getSpaceGroupOperationCount()
getSpaceGroupOperationCount
in interface SymmetryInterface
public javax.vecmath.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, javax.vecmath.Point3f atom1, javax.vecmath.Point3f atom2, int transX, int transY, int transZ)
newSpaceGroupPoint
in interface SymmetryInterface
public java.lang.Object rotateEllipsoid(int i, javax.vecmath.Point3f ptTemp, javax.vecmath.Vector3f[] axes, javax.vecmath.Point3f ptTemp1, javax.vecmath.Point3f ptTemp2)
rotateEllipsoid
in interface SymmetryInterface
public java.lang.Object[] getSymmetryOperationDescription(int isym, SymmetryInterface cellInfo, javax.vecmath.Point3f pt1, javax.vecmath.Point3f pt2, java.lang.String id)
getSymmetryOperationDescription
in interface SymmetryInterface
public java.lang.String fcoord(javax.vecmath.Tuple3f p)
fcoord
in interface SymmetryInterface
public java.lang.String getMatrixFromString(java.lang.String xyz, float[] temp, boolean allowScaling)
getMatrixFromString
in interface SymmetryInterface
public javax.vecmath.Point3f 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(javax.vecmath.Matrix3f matUnitCellOrientation)
setUnitCellOrientation
in interface SymmetryInterface
public void toUnitCell(javax.vecmath.Point3f pt, javax.vecmath.Point3f offset)
toUnitCell
in interface SymmetryInterface
public void toCartesian(javax.vecmath.Point3f fpt, boolean isAbsolute)
toCartesian
in interface SymmetryInterface
public void toFractional(javax.vecmath.Point3f pt, boolean isAbsolute)
toFractional
in interface SymmetryInterface
public float[] getNotionalUnitCell()
getNotionalUnitCell
in interface SymmetryInterface
public float[] getUnitCellAsArray(boolean vectorsOnly)
getUnitCellAsArray
in interface SymmetryInterface
public java.lang.Object[] getEllipsoid(float[] parBorU)
getEllipsoid
in interface SymmetryInterface
public java.lang.Object[] getEllipsoid(javax.vecmath.Vector3f[] vectors, float a, float b, float c)
getEllipsoid
in interface SymmetryInterface
public javax.vecmath.Point3f[] getUnitCellVertices()
getUnitCellVertices
in interface SymmetryInterface
public javax.vecmath.Point3f getCartesianOffset()
getCartesianOffset
in interface SymmetryInterface
public javax.vecmath.Point3f getFractionalOffset()
getFractionalOffset
in interface SymmetryInterface
public void setUnitCellOffset(javax.vecmath.Point3f pt)
setUnitCellOffset
in interface SymmetryInterface
public void setOffset(int nnn)
setOffset
in interface SymmetryInterface
public javax.vecmath.Point3f getUnitCellMultiplier()
getUnitCellMultiplier
in interface SymmetryInterface
public javax.vecmath.Point3f[] getCanonicalCopy(float scale)
getCanonicalCopy
in interface SymmetryInterface
public float getUnitsymmetryInfo(int infoType)
public float getUnitCellInfo(int infoType)
getUnitCellInfo
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(javax.vecmath.Point3i minXYZ, javax.vecmath.Point3i maxXYZ)
setMinMaxLatticeParameters
in interface SymmetryInterface
public void setUnitCellAllFractionalRelative(boolean TF)
setUnitCellAllFractionalRelative
in interface SymmetryInterface
public boolean checkDistance(javax.vecmath.Point3f f1, javax.vecmath.Point3f f2, float distance, float dx, int iRange, int jRange, int kRange, javax.vecmath.Point3f ptOffset)
checkDistance
in interface SymmetryInterface