Package org.jmol.symmetry
Class UnitCell
- java.lang.Object
-
- org.jmol.util.SimpleUnitCell
-
- org.jmol.symmetry.UnitCell
-
class UnitCell extends SimpleUnitCell
a class private to the org.jmol.symmetry package to be accessed only through the SymmetryInterface API adds vertices and offsets orientation, and a variety of additional calculations that in principle could be put in SimpleUnitCell if desired, but for now are in this optional package.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allFractionalRelative
protected javajs.util.P3
cartesianOffset
private javajs.util.P3
fractionalOffset
javajs.util.Lst<java.lang.String>
moreInfo
java.lang.String
name
private static double
twoP2
protected javajs.util.P3
unitCellMultiplier
private static javajs.util.V3[]
unitVectors
private javajs.util.P3[]
vertices
-
Fields inherited from class org.jmol.util.SimpleUnitCell
a, a_, alpha, b, b_, beta, c, c_, cA_, cB_, cosAlpha, cosBeta, cosGamma, dimension, gamma, INFO_A, INFO_ALPHA, INFO_B, INFO_BETA, INFO_C, INFO_DIMENSIONS, INFO_GAMMA, matrixCartesianToFractional, matrixCtoFANoOffset, matrixFractionalToCartesian, matrixFtoCNoOffset, sinAlpha, sinBeta, sinGamma, SLOP, toRadians, unitCellParams, volume
-
-
Constructor Summary
Constructors Modifier Constructor Description private
UnitCell()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset)
(package private) java.lang.String
dumpInfo(boolean isFull)
private float
fix(float x)
(package private) javajs.util.P3[]
getCanonicalCopy(float scale, boolean withOffset)
(package private) javajs.util.P3
getCartesianOffset()
(package private) javajs.util.P3
getFractionalOffset()
javajs.util.Quat
getQuaternionRotation(java.lang.String abc)
Returns a quaternion that will take the standard frame to a view down a particular axis, expressed as its counterparts.java.lang.String
getState()
(package private) Tensor
getTensor(Viewer vwr, float[] parBorU)
javajs.util.P3
getUnitCellMultiplier()
javajs.util.P3[]
getUnitCellVectors()
javajs.util.T3[]
getV0abc(java.lang.Object def)
(package private) javajs.util.P3[]
getVertices()
boolean
hasOffset()
(package private) void
initOrientation(javajs.util.M3 mat)
private void
initUnitcellVertices()
boolean
isSameAs(UnitCell uc)
static UnitCell
newA(float[] params, boolean setRelative)
(package private) static UnitCell
newP(javajs.util.T3[] points, boolean setRelative)
A special constructor for spacially defined unit cells.void
reset()
private void
setCartesianOffset(javajs.util.T3 origin)
(package private) void
setMinMaxLatticeParameters(javajs.util.P3i minXYZ, javajs.util.P3i maxXYZ)
(package private) void
setOffset(javajs.util.T3 pt)
private static float
toFractionalX(float x)
boolean
toFromPrimitive(boolean toPrimitive, char type, javajs.util.T3[] uc)
(package private) void
toUnitCell(javajs.util.T3 pt, javajs.util.T3 offset)
when offset is null, use the current cell, otherwise use the original unit cellvoid
unitize(javajs.util.T3 pt)
-
Methods inherited from class org.jmol.util.SimpleUnitCell
getCellWeight, getFractionalOrigin, getInfo, getReciprocal, getUnitCellAsArray, getUnitCellParams, ijkToPoint3f, init, isPolymer, isSlab, isSupercell, isValid, newA, setOabc, toCartesian, toFractional, toFractionalM, toSupercell
-
-
-
-
Field Detail
-
vertices
private javajs.util.P3[] vertices
-
fractionalOffset
private javajs.util.P3 fractionalOffset
-
allFractionalRelative
private boolean allFractionalRelative
-
cartesianOffset
protected final javajs.util.P3 cartesianOffset
-
unitCellMultiplier
protected javajs.util.P3 unitCellMultiplier
-
moreInfo
public javajs.util.Lst<java.lang.String> moreInfo
-
name
public java.lang.String name
-
twoP2
private static final double twoP2
- See Also:
- Constant Field Values
-
unitVectors
private static final javajs.util.V3[] unitVectors
-
-
Method Detail
-
newP
static UnitCell newP(javajs.util.T3[] points, boolean setRelative)
A special constructor for spacially defined unit cells. Not used by readers.- Parameters:
points
- [origin, a, b, c]setRelative
-- Returns:
- new unit cell
-
newA
public static UnitCell newA(float[] params, boolean setRelative)
-
initOrientation
void initOrientation(javajs.util.M3 mat)
-
toUnitCell
final void toUnitCell(javajs.util.T3 pt, javajs.util.T3 offset)
when offset is null, use the current cell, otherwise use the original unit cell- Parameters:
pt
-offset
-
-
unitize
public void unitize(javajs.util.T3 pt)
-
reset
public void reset()
-
setOffset
void setOffset(javajs.util.T3 pt)
-
setCartesianOffset
private void setCartesianOffset(javajs.util.T3 origin)
-
setMinMaxLatticeParameters
void setMinMaxLatticeParameters(javajs.util.P3i minXYZ, javajs.util.P3i maxXYZ)
-
dumpInfo
final java.lang.String dumpInfo(boolean isFull)
-
getVertices
javajs.util.P3[] getVertices()
-
getCartesianOffset
javajs.util.P3 getCartesianOffset()
-
getFractionalOffset
javajs.util.P3 getFractionalOffset()
-
getCanonicalCopy
javajs.util.P3[] getCanonicalCopy(float scale, boolean withOffset)
-
toFractionalX
private static float toFractionalX(float x)
-
initUnitcellVertices
private void initUnitcellVertices()
-
checkDistance
public boolean checkDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset)
- Parameters:
f1
-f2
-distance
-dx
-iRange
-jRange
-kRange
-ptOffset
- TODO- Returns:
- TRUE if pt has been set.
-
getUnitCellMultiplier
public javajs.util.P3 getUnitCellMultiplier()
-
getUnitCellVectors
public javajs.util.P3[] getUnitCellVectors()
-
fix
private float fix(float x)
-
isSameAs
public boolean isSameAs(UnitCell uc)
-
hasOffset
public boolean hasOffset()
-
getState
public java.lang.String getState()
-
getQuaternionRotation
public javajs.util.Quat getQuaternionRotation(java.lang.String abc)
Returns a quaternion that will take the standard frame to a view down a particular axis, expressed as its counterparts.- Parameters:
abc
- ab bc ca- Returns:
- quaternion
-
getV0abc
public javajs.util.T3[] getV0abc(java.lang.Object def)
-
toFromPrimitive
public boolean toFromPrimitive(boolean toPrimitive, char type, javajs.util.T3[] uc)
- Parameters:
toPrimitive
- or assumed conventionaltype
- P, R, A, B, C, I(BCC), or F(FCC)uc
- either [origin, va, vb, vc] or just [va, vb, vc]- Returns:
- true if successful
-
-