org.jmol.symmetry
Class Symmetry

java.lang.Object
  extended by org.jmol.symmetry.Symmetry
All Implemented Interfaces:
SymmetryInterface

public class Symmetry
extends java.lang.Object
implements SymmetryInterface


Field Summary
private  PointGroup pointGroup
           
private  SpaceGroup spaceGroup
           
private  SymmetryInfo symmetryInfo
           
private  UnitCell unitCell
           
 
Constructor Summary
Symmetry()
           
 
Method Summary
 int addSpaceGroupOperation(java.lang.String xyz)
           
 boolean createSpaceGroup(int desiredSpaceGroupIndex, java.lang.String name, float[] notionalUnitCell, boolean doNormalize)
           
 int determineSpaceGroupIndex(java.lang.String name)
           
 javax.vecmath.Point3f getCartesianOffset()
           
 int[] getCellRange()
           
 boolean getCoordinatesAreFractional()
           
 java.lang.Object[] getEllipsoid(float[] parBorU)
           
 javax.vecmath.Point3f getFractionalOffset()
           
 java.lang.Object getLatticeDesignation()
           
 int getModelIndex()
           
 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 pt00, java.lang.String id)
           
 java.lang.String[] getSymmetryOperations()
           
 java.lang.String getUnitCellInfo()
           
 float getUnitCellInfo(int infoType)
           
 javax.vecmath.Point3f[] getUnitCellVertices()
           
 java.lang.String getUnitsymmetryInfo()
           
 float getUnitsymmetryInfo(int infoType)
           
 boolean haveSpaceGroup()
           
 boolean haveUnitCell()
           
 javax.vecmath.Point3f ijkToPoint3f(int nnn)
           
 boolean isPeriodic()
           
 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 setModelIndex(int i)
           
 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.Hashtable modelAuxiliaryInfo)
           
 void setUnitCell(float[] notionalUnitCell)
           
 void setUnitCellOffset(javax.vecmath.Point3f pt)
           
 void toCartesian(javax.vecmath.Point3f pt)
           
 void toFractional(javax.vecmath.Point3f pt)
           
 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
 

Field Detail

pointGroup

private PointGroup pointGroup

spaceGroup

private SpaceGroup spaceGroup

symmetryInfo

private SymmetryInfo symmetryInfo

unitCell

private UnitCell unitCell
Constructor Detail

Symmetry

public Symmetry()
Method Detail

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)
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,
                                boolean doNormalize)
Specified by:
createSpaceGroup in interface SymmetryInterface

haveSpaceGroup

public boolean haveSpaceGroup()
Specified by:
haveSpaceGroup in interface SymmetryInterface

determineSpaceGroupIndex

public int determineSpaceGroupIndex(java.lang.String name)
Specified by:
determineSpaceGroupIndex 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

haveUnitCell

public boolean haveUnitCell()
Specified by:
haveUnitCell in interface SymmetryInterface

getUnitsymmetryInfo

public java.lang.String getUnitsymmetryInfo()

setUnitCell

public void setUnitCell(float[] notionalUnitCell)
Specified by:
setUnitCell in interface SymmetryInterface

toCartesian

public void toCartesian(javax.vecmath.Point3f pt)
Specified by:
toCartesian in interface SymmetryInterface

getEllipsoid

public java.lang.Object[] getEllipsoid(float[] parBorU)
Specified by:
getEllipsoid in interface SymmetryInterface

ijkToPoint3f

public javax.vecmath.Point3f ijkToPoint3f(int nnn)
Specified by:
ijkToPoint3f in interface SymmetryInterface

toFractional

public void toFractional(javax.vecmath.Point3f pt)
Specified by:
toFractional 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

getNotionalUnitCell

public float[] getNotionalUnitCell()
Specified by:
getNotionalUnitCell in interface SymmetryInterface

toUnitCell

public void toUnitCell(javax.vecmath.Point3f pt,
                       javax.vecmath.Point3f offset)
Specified by:
toUnitCell 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

getFractionalOffset

public javax.vecmath.Point3f getFractionalOffset()
Specified by:
getFractionalOffset in interface SymmetryInterface

getUnitsymmetryInfo

public float getUnitsymmetryInfo(int infoType)

getModelIndex

public int getModelIndex()
Specified by:
getModelIndex in interface SymmetryInterface

setModelIndex

public void setModelIndex(int i)
Specified by:
setModelIndex 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.Hashtable modelAuxiliaryInfo)
Specified by:
setSymmetryInfo in interface SymmetryInterface

getUnitCellInfo

public float getUnitCellInfo(int infoType)
Specified by:
getUnitCellInfo in interface SymmetryInterface

getUnitCellInfo

public java.lang.String getUnitCellInfo()
Specified by:
getUnitCellInfo in interface SymmetryInterface

getSymmetryOperationDescription

public java.lang.Object[] getSymmetryOperationDescription(int isym,
                                                          SymmetryInterface cellInfo,
                                                          javax.vecmath.Point3f pt00,
                                                          java.lang.String id)
Specified by:
getSymmetryOperationDescription in interface SymmetryInterface