org.jmol.util
Class Quaternion

java.lang.Object
  extended by org.jmol.util.Quaternion

public class Quaternion
extends java.lang.Object


Field Summary
 javax.vecmath.Matrix3f mat
           
 float q0
           
 float q1
           
 float q2
           
 float q3
           
private static Quaternion qTemp
           
 
Constructor Summary
private Quaternion(float q0, float q1, float q2, float q3)
           
  Quaternion(javax.vecmath.Matrix3f mat)
           
  Quaternion(javax.vecmath.Point4f pt)
           
  Quaternion(Quaternion q)
           
  Quaternion(javax.vecmath.Tuple3f pt, float theta)
           
 
Method Summary
 Quaternion add(float x)
           
 Quaternion div(Quaternion p)
           
 Quaternion divLeft(Quaternion p)
           
 float dot(Quaternion q)
           
private  void fixQ(Quaternion qNew)
           
 java.lang.String getInfo()
           
 javax.vecmath.Matrix3f getMatrix()
           
 javax.vecmath.Vector3f getNormal()
           
static Quaternion getQuaternionFrame(javax.vecmath.Vector3f vA, javax.vecmath.Vector3f vB, javax.vecmath.Vector3f vC)
           
 float getTheta()
           
 void getThetaDirected(javax.vecmath.Point4f axisAngle)
           
 javax.vecmath.Vector3f getVector(int i)
           
 Quaternion inv()
           
 Quaternion leftDifference(Quaternion q2)
           
 Quaternion mul(float x)
           
 Quaternion mul(Quaternion p)
           
 Quaternion negate()
           
 Quaternion rightDifference(Quaternion q2)
           
private  void setMatrix()
           
 void setRef(Quaternion qref)
           
 javax.vecmath.AxisAngle4f toAxisAngle4f()
           
 javax.vecmath.Point4f toPoint4f()
           
 java.lang.String toString()
           
 javax.vecmath.Point3f transform(javax.vecmath.Point3f pt)
           
 void transform(javax.vecmath.Point3f pt, javax.vecmath.Point3f ptNew)
           
 javax.vecmath.Vector3f transform(javax.vecmath.Vector3f v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

q0

public float q0

q1

public float q1

q2

public float q2

q3

public float q3

mat

public javax.vecmath.Matrix3f mat

qTemp

private static final Quaternion qTemp
Constructor Detail

Quaternion

public Quaternion(Quaternion q)

Quaternion

private Quaternion(float q0,
                   float q1,
                   float q2,
                   float q3)

Quaternion

public Quaternion(javax.vecmath.Point4f pt)

Quaternion

public Quaternion(javax.vecmath.Tuple3f pt,
                  float theta)

Quaternion

public Quaternion(javax.vecmath.Matrix3f mat)
Method Detail

setRef

public void setRef(Quaternion qref)

getQuaternionFrame

public static final Quaternion getQuaternionFrame(javax.vecmath.Vector3f vA,
                                                  javax.vecmath.Vector3f vB,
                                                  javax.vecmath.Vector3f vC)

getMatrix

public javax.vecmath.Matrix3f getMatrix()

setMatrix

private void setMatrix()

add

public Quaternion add(float x)

mul

public Quaternion mul(float x)

mul

public Quaternion mul(Quaternion p)

div

public Quaternion div(Quaternion p)

divLeft

public Quaternion divLeft(Quaternion p)

dot

public float dot(Quaternion q)

inv

public Quaternion inv()

negate

public Quaternion negate()

fixQ

private void fixQ(Quaternion qNew)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getVector

public javax.vecmath.Vector3f getVector(int i)

getNormal

public javax.vecmath.Vector3f getNormal()

getTheta

public float getTheta()

getThetaDirected

public void getThetaDirected(javax.vecmath.Point4f axisAngle)

toPoint4f

public javax.vecmath.Point4f toPoint4f()

toAxisAngle4f

public javax.vecmath.AxisAngle4f toAxisAngle4f()

transform

public javax.vecmath.Point3f transform(javax.vecmath.Point3f pt)

transform

public void transform(javax.vecmath.Point3f pt,
                      javax.vecmath.Point3f ptNew)

transform

public javax.vecmath.Vector3f transform(javax.vecmath.Vector3f v)

leftDifference

public Quaternion leftDifference(Quaternion q2)

rightDifference

public Quaternion rightDifference(Quaternion q2)

getInfo

public java.lang.String getInfo()