org.jmol.symmetry
Class SymmetryOperation

java.lang.Object
  extended by javax.vecmath.Matrix4f
      extended by org.jmol.symmetry.SymmetryOperation
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

 class SymmetryOperation
extends javax.vecmath.Matrix4f


Field Summary
(package private)  javax.vecmath.Point3f atomTest
           
(package private)  boolean doNormalize
           
(package private)  boolean isFinalized
           
(package private)  int opId
           
private  javax.vecmath.Point3f temp3
           
private static java.lang.String[] twelfths
           
(package private)  java.lang.String xyz
           
(package private)  java.lang.String xyzOriginal
           
 
Fields inherited from class javax.vecmath.Matrix4f
m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33
 
Constructor Summary
SymmetryOperation()
           
SymmetryOperation(boolean doNormalize, int opId)
           
SymmetryOperation(SymmetryOperation op, javax.vecmath.Point3f[] atoms, int atomIndex, int count, boolean doNormalize)
           
 
Method Summary
private static float approx(float f)
           
private static float approx(float f, float n)
           
private static javax.vecmath.Tuple3f approx(javax.vecmath.Tuple3f pt)
           
private static javax.vecmath.Tuple3f approx0(javax.vecmath.Tuple3f pt)
           
(package private)  void doFinalize()
           
private static void drawLine(java.lang.StringBuffer s, java.lang.String id, float diameter, javax.vecmath.Point3f pt0, javax.vecmath.Point3f pt1, java.lang.String color)
           
(package private) static java.lang.String dumpCanonicalSeitz(javax.vecmath.Matrix4f s)
           
(package private)  java.lang.String dumpInfo()
           
(package private) static java.lang.String dumpSeitz(javax.vecmath.Matrix4f s)
           
private static java.lang.String fc(float x)
           
(package private) static java.lang.String fcoord(javax.vecmath.Tuple3f p)
           
 java.lang.Object[] getDescription(SymmetryInterface uc, javax.vecmath.Point3f pt00, javax.vecmath.Point3f ptTarget, java.lang.String id)
           
private static java.lang.Object[] getDescription(SymmetryOperation m, java.lang.String xyzOriginal, SymmetryInterface uc, javax.vecmath.Point3f pt00, javax.vecmath.Point3f ptTarget, java.lang.String id)
           
(package private) static java.lang.String getMatrixFromString(java.lang.String xyz, float[] temp, boolean doNormalize, boolean allowScaling)
           
(package private)  java.lang.String getXyz(boolean normalized)
           
(package private) static java.lang.String getXYZFromMatrix(javax.vecmath.Matrix4f mat, boolean is12ths, boolean allPositive, boolean halfOrLess)
           
(package private)  void newPoint(javax.vecmath.Point3f atom1, javax.vecmath.Point3f atom2, int transX, int transY, int transZ)
           
static void normalizeTranslation(javax.vecmath.Matrix4f operation)
           
private static float normalizeTwelfths(float iValue, boolean doNormalize)
           
(package private)  javax.vecmath.Vector3f[] rotateEllipsoid(javax.vecmath.Point3f cartCenter, javax.vecmath.Vector3f[] vectors, UnitCell unitcell, javax.vecmath.Point3f ptTemp1, javax.vecmath.Point3f ptTemp2)
           
(package private)  boolean setMatrixFromXYZ(java.lang.String xyz)
           
private  void setOffset(javax.vecmath.Point3f[] atoms, int atomIndex, int count)
           
private  void transformCartesian(UnitCell unitcell, javax.vecmath.Point3f pt)
           
private static java.lang.String twelfthsOf(float n12ths)
           
private static java.lang.String xyzFraction(float n12ths, boolean allPositive, boolean halfOrLess)
           
 
Methods inherited from class javax.vecmath.Matrix4f
add, add, add, add, clone, determinant, epsilonEquals, equals, equals, get, get, get, get, get, getColumn, getColumn, getElement, getM00, getM01, getM02, getM03, getM10, getM11, getM12, getM13, getM20, getM21, getM22, getM23, getM30, getM31, getM32, getM33, getRotationScale, getRow, getRow, getScale, hashCode, invert, invert, mul, mul, mul, mul, mulTransposeBoth, mulTransposeLeft, mulTransposeRight, negate, negate, rotX, rotY, rotZ, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, setColumn, setColumn, setColumn, setElement, setIdentity, setM00, setM01, setM02, setM03, setM10, setM11, setM12, setM13, setM20, setM21, setM22, setM23, setM30, setM31, setM32, setM33, setRotation, setRotation, setRotation, setRotation, setRotation, setRotationScale, setRow, setRow, setRow, setScale, setTranslation, setZero, sub, sub, toString, transform, transform, transform, transform, transform, transform, transpose, transpose
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

xyzOriginal

java.lang.String xyzOriginal

xyz

java.lang.String xyz

doNormalize

boolean doNormalize

isFinalized

boolean isFinalized

opId

int opId

temp3

private javax.vecmath.Point3f temp3

twelfths

private static final java.lang.String[] twelfths

atomTest

javax.vecmath.Point3f atomTest
Constructor Detail

SymmetryOperation

SymmetryOperation()

SymmetryOperation

SymmetryOperation(boolean doNormalize,
                  int opId)

SymmetryOperation

SymmetryOperation(SymmetryOperation op,
                  javax.vecmath.Point3f[] atoms,
                  int atomIndex,
                  int count,
                  boolean doNormalize)
Method Detail

doFinalize

void doFinalize()

getXyz

java.lang.String getXyz(boolean normalized)

newPoint

void newPoint(javax.vecmath.Point3f atom1,
              javax.vecmath.Point3f atom2,
              int transX,
              int transY,
              int transZ)

dumpInfo

java.lang.String dumpInfo()

dumpSeitz

static final java.lang.String dumpSeitz(javax.vecmath.Matrix4f s)

dumpCanonicalSeitz

static final java.lang.String dumpCanonicalSeitz(javax.vecmath.Matrix4f s)

setMatrixFromXYZ

boolean setMatrixFromXYZ(java.lang.String xyz)

getMatrixFromString

static java.lang.String getMatrixFromString(java.lang.String xyz,
                                            float[] temp,
                                            boolean doNormalize,
                                            boolean allowScaling)

normalizeTwelfths

private static float normalizeTwelfths(float iValue,
                                       boolean doNormalize)

getXYZFromMatrix

static final java.lang.String getXYZFromMatrix(javax.vecmath.Matrix4f mat,
                                               boolean is12ths,
                                               boolean allPositive,
                                               boolean halfOrLess)

twelfthsOf

private static final java.lang.String twelfthsOf(float n12ths)

xyzFraction

private static final java.lang.String xyzFraction(float n12ths,
                                                  boolean allPositive,
                                                  boolean halfOrLess)

setOffset

private void setOffset(javax.vecmath.Point3f[] atoms,
                       int atomIndex,
                       int count)

transformCartesian

private void transformCartesian(UnitCell unitcell,
                                javax.vecmath.Point3f pt)

rotateEllipsoid

javax.vecmath.Vector3f[] rotateEllipsoid(javax.vecmath.Point3f cartCenter,
                                         javax.vecmath.Vector3f[] vectors,
                                         UnitCell unitcell,
                                         javax.vecmath.Point3f ptTemp1,
                                         javax.vecmath.Point3f ptTemp2)

getDescription

public java.lang.Object[] getDescription(SymmetryInterface uc,
                                         javax.vecmath.Point3f pt00,
                                         javax.vecmath.Point3f ptTarget,
                                         java.lang.String id)
Parameters:
uc -
pt00 -
ptTarget -
id -
Returns:
Object[] containing: [0] xyz (Jones-Faithful calculated from matrix) [1] xyzOriginal (Provided by calling method) [2] info ("C2 axis", for example) [3] draw commands [4] translation vector (fractional) [5] translation vector (Cartesian) [6] inversion point [7] axis point [8] axis vector (defines plane if angle = 0 [9] angle of rotation [10] matrix representation

getDescription

private static java.lang.Object[] getDescription(SymmetryOperation m,
                                                 java.lang.String xyzOriginal,
                                                 SymmetryInterface uc,
                                                 javax.vecmath.Point3f pt00,
                                                 javax.vecmath.Point3f ptTarget,
                                                 java.lang.String id)

drawLine

private static void drawLine(java.lang.StringBuffer s,
                             java.lang.String id,
                             float diameter,
                             javax.vecmath.Point3f pt0,
                             javax.vecmath.Point3f pt1,
                             java.lang.String color)

fcoord

static java.lang.String fcoord(javax.vecmath.Tuple3f p)

fc

private static java.lang.String fc(float x)

approx0

private static javax.vecmath.Tuple3f approx0(javax.vecmath.Tuple3f pt)

approx

private static javax.vecmath.Tuple3f approx(javax.vecmath.Tuple3f pt)

approx

private static float approx(float f)

approx

private static float approx(float f,
                            float n)

normalizeTranslation

public static void normalizeTranslation(javax.vecmath.Matrix4f operation)