org.jmol.symmetry
Class Symmetry
java.lang.Object
org.jmol.symmetry.Symmetry
- All Implemented Interfaces:
- SymmetryInterface
public class Symmetry
- extends java.lang.Object
- implements SymmetryInterface
Method Summary |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
pointGroup
private PointGroup pointGroup
spaceGroup
private SpaceGroup spaceGroup
symmetryInfo
private SymmetryInfo symmetryInfo
unitCell
private UnitCell unitCell
Symmetry
public Symmetry()
setPointGroup
public SymmetryInterface setPointGroup(SymmetryInterface siLast,
Atom[] atomset,
java.util.BitSet bsAtoms,
boolean haveVibration,
float distanceTolerance,
float linearTolerance)
- Specified by:
setPointGroup
in interface SymmetryInterface
getPointGroupName
public java.lang.String getPointGroupName()
- Specified by:
getPointGroupName
in interface SymmetryInterface
getPointGroupInfo
public java.lang.Object getPointGroupInfo(int modelIndex,
boolean asDraw,
boolean asInfo,
java.lang.String type,
int index,
float scale)
- Specified by:
getPointGroupInfo
in interface SymmetryInterface
setSpaceGroup
public void setSpaceGroup(boolean doNormalize)
- Specified by:
setSpaceGroup
in interface SymmetryInterface
addSpaceGroupOperation
public int addSpaceGroupOperation(java.lang.String xyz,
int opId)
- Specified by:
addSpaceGroupOperation
in interface SymmetryInterface
addSpaceGroupOperation
public void addSpaceGroupOperation(javax.vecmath.Matrix4f mat)
- Specified by:
addSpaceGroupOperation
in interface SymmetryInterface
setLattice
public void setLattice(int latt)
- Description copied from interface:
SymmetryInterface
- set symmetry lattice type using Hall rotations
- Specified by:
setLattice
in interface SymmetryInterface
- Parameters:
latt
- SHELX index or character lattice character P I R F A B C S T or \0
getSpaceGroupName
public java.lang.String getSpaceGroupName()
- Specified by:
getSpaceGroupName
in interface SymmetryInterface
getSpaceGroup
public java.lang.Object getSpaceGroup()
- Specified by:
getSpaceGroup
in interface SymmetryInterface
setSpaceGroup
public void setSpaceGroup(SymmetryInterface symmetry)
- Specified by:
setSpaceGroup
in interface SymmetryInterface
createSpaceGroup
public boolean createSpaceGroup(int desiredSpaceGroupIndex,
java.lang.String name,
float[] notionalUnitCell)
- Specified by:
createSpaceGroup
in interface SymmetryInterface
haveSpaceGroup
public boolean haveSpaceGroup()
- Specified by:
haveSpaceGroup
in interface SymmetryInterface
getSpaceGroupInfo
public java.lang.String getSpaceGroupInfo(java.lang.String name,
SymmetryInterface cellInfo)
- Specified by:
getSpaceGroupInfo
in interface SymmetryInterface
getLatticeDesignation
public java.lang.Object getLatticeDesignation()
- Specified by:
getLatticeDesignation
in interface SymmetryInterface
setFinalOperations
public void setFinalOperations(javax.vecmath.Point3f[] atoms,
int iAtomFirst,
int noSymmetryCount,
boolean doNormalize)
- Specified by:
setFinalOperations
in interface SymmetryInterface
getSpaceGroupOperationCount
public int getSpaceGroupOperationCount()
- Specified by:
getSpaceGroupOperationCount
in interface SymmetryInterface
getSpaceGroupOperation
public javax.vecmath.Matrix4f getSpaceGroupOperation(int i)
- Specified by:
getSpaceGroupOperation
in interface SymmetryInterface
getSpaceGroupXyz
public java.lang.String getSpaceGroupXyz(int i,
boolean doNormalize)
- Specified by:
getSpaceGroupXyz
in interface SymmetryInterface
newSpaceGroupPoint
public void newSpaceGroupPoint(int i,
javax.vecmath.Point3f atom1,
javax.vecmath.Point3f atom2,
int transX,
int transY,
int transZ)
- Specified by:
newSpaceGroupPoint
in interface SymmetryInterface
rotateEllipsoid
public java.lang.Object rotateEllipsoid(int i,
javax.vecmath.Point3f ptTemp,
javax.vecmath.Vector3f[] axes,
javax.vecmath.Point3f ptTemp1,
javax.vecmath.Point3f ptTemp2)
- Specified by:
rotateEllipsoid
in interface SymmetryInterface
getSymmetryOperationDescription
public java.lang.Object[] getSymmetryOperationDescription(int isym,
SymmetryInterface cellInfo,
javax.vecmath.Point3f pt1,
javax.vecmath.Point3f pt2,
java.lang.String id)
- Specified by:
getSymmetryOperationDescription
in interface SymmetryInterface
fcoord
public java.lang.String fcoord(javax.vecmath.Tuple3f p)
- Specified by:
fcoord
in interface SymmetryInterface
getMatrixFromString
public java.lang.String getMatrixFromString(java.lang.String xyz,
float[] temp,
boolean allowScaling)
- Specified by:
getMatrixFromString
in interface SymmetryInterface
ijkToPoint3f
public javax.vecmath.Point3f ijkToPoint3f(int nnn)
- Specified by:
ijkToPoint3f
in interface SymmetryInterface
getCoordinatesAreFractional
public boolean getCoordinatesAreFractional()
- Specified by:
getCoordinatesAreFractional
in interface SymmetryInterface
getCellRange
public int[] getCellRange()
- Specified by:
getCellRange
in interface SymmetryInterface
getSymmetryInfoString
public java.lang.String getSymmetryInfoString()
- Specified by:
getSymmetryInfoString
in interface SymmetryInterface
getSymmetryOperations
public java.lang.String[] getSymmetryOperations()
- Specified by:
getSymmetryOperations
in interface SymmetryInterface
isPeriodic
public boolean isPeriodic()
- Specified by:
isPeriodic
in interface SymmetryInterface
setSymmetryInfo
public void setSymmetryInfo(int modelIndex,
java.util.Map<java.lang.String,java.lang.Object> modelAuxiliaryInfo)
- Specified by:
setSymmetryInfo
in interface SymmetryInterface
setUnitCell
public void setUnitCell(float[] notionalUnitCell)
- Specified by:
setUnitCell
in interface SymmetryInterface
haveUnitCell
public boolean haveUnitCell()
- Specified by:
haveUnitCell
in interface SymmetryInterface
getUnitsymmetryInfo
public java.lang.String getUnitsymmetryInfo()
setUnitCellOrientation
public void setUnitCellOrientation(javax.vecmath.Matrix3f matUnitCellOrientation)
- Specified by:
setUnitCellOrientation
in interface SymmetryInterface
toUnitCell
public void toUnitCell(javax.vecmath.Point3f pt,
javax.vecmath.Point3f offset)
- Specified by:
toUnitCell
in interface SymmetryInterface
toCartesian
public void toCartesian(javax.vecmath.Point3f fpt,
boolean isAbsolute)
- Specified by:
toCartesian
in interface SymmetryInterface
toFractional
public void toFractional(javax.vecmath.Point3f pt,
boolean isAbsolute)
- Specified by:
toFractional
in interface SymmetryInterface
getNotionalUnitCell
public float[] getNotionalUnitCell()
- Specified by:
getNotionalUnitCell
in interface SymmetryInterface
getUnitCellAsArray
public float[] getUnitCellAsArray(boolean vectorsOnly)
- Specified by:
getUnitCellAsArray
in interface SymmetryInterface
getEllipsoid
public java.lang.Object[] getEllipsoid(float[] parBorU)
- Specified by:
getEllipsoid
in interface SymmetryInterface
getEllipsoid
public java.lang.Object[] getEllipsoid(javax.vecmath.Vector3f[] vectors,
float a,
float b,
float c)
- Specified by:
getEllipsoid
in interface SymmetryInterface
getUnitCellVertices
public javax.vecmath.Point3f[] getUnitCellVertices()
- Specified by:
getUnitCellVertices
in interface SymmetryInterface
getCartesianOffset
public javax.vecmath.Point3f getCartesianOffset()
- Specified by:
getCartesianOffset
in interface SymmetryInterface
getFractionalOffset
public javax.vecmath.Point3f getFractionalOffset()
- Specified by:
getFractionalOffset
in interface SymmetryInterface
setUnitCellOffset
public void setUnitCellOffset(javax.vecmath.Point3f pt)
- Specified by:
setUnitCellOffset
in interface SymmetryInterface
setOffset
public void setOffset(int nnn)
- Specified by:
setOffset
in interface SymmetryInterface
getUnitCellMultiplier
public javax.vecmath.Point3f getUnitCellMultiplier()
- Specified by:
getUnitCellMultiplier
in interface SymmetryInterface
getCanonicalCopy
public javax.vecmath.Point3f[] getCanonicalCopy(float scale)
- Specified by:
getCanonicalCopy
in interface SymmetryInterface
getUnitsymmetryInfo
public float getUnitsymmetryInfo(int infoType)
getUnitCellInfo
public float getUnitCellInfo(int infoType)
- Specified by:
getUnitCellInfo
in interface SymmetryInterface
getUnitCellInfo
public java.lang.String getUnitCellInfo()
- Specified by:
getUnitCellInfo
in interface SymmetryInterface
isSlab
public boolean isSlab()
- Specified by:
isSlab
in interface SymmetryInterface
isPolymer
public boolean isPolymer()
- Specified by:
isPolymer
in interface SymmetryInterface
setMinMaxLatticeParameters
public void setMinMaxLatticeParameters(javax.vecmath.Point3i minXYZ,
javax.vecmath.Point3i maxXYZ)
- Specified by:
setMinMaxLatticeParameters
in interface SymmetryInterface
setUnitCellAllFractionalRelative
public void setUnitCellAllFractionalRelative(boolean TF)
- Specified by:
setUnitCellAllFractionalRelative
in interface SymmetryInterface
checkDistance
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)
- Specified by:
checkDistance
in interface SymmetryInterface