public class SpaceGroup
extends java.lang.Object
implements java.io.Serializable
SymoplibParser
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected static double |
DELTA |
Constructor and Description |
---|
SpaceGroup(int id,
int multiplicity,
int primitiveMultiplicity,
java.lang.String shortSymbol,
java.lang.String altShortSymbol,
BravaisLattice bravLattice) |
Modifier and Type | Method and Description |
---|---|
void |
addTransformation(java.lang.String transfAlgebraic) |
boolean |
areInSameAxis(int tId1,
int tId2)
Returns true if both given transform ids belong to the same crystallographic axis (a, b or c)
For two non-rotation transformations (i.e.
|
protected static boolean |
deltaComp(double d1,
double d2,
double delta) |
boolean |
equals(java.lang.Object o) |
static java.lang.String |
getAlgebraicFromMatrix(javax.vecmath.Matrix4d m) |
java.lang.String |
getAltShortSymbol()
Gets the alternative international short name (as sometimes used in PDB),
e.g.
|
int |
getAxisFoldType(int transformId)
Given a transformId returns the type of axis of rotation: 1 (no rotation), 2, 3, 4 or 6 -fold
and for improper rotations: -1, -2, -3, -4 and -6
|
int[] |
getAxisTypes() |
BravaisLattice |
getBravLattice() |
javax.vecmath.Vector3d |
getCellTranslation(int i) |
javax.vecmath.Vector3d[] |
getCellTranslations() |
static java.util.regex.Pattern |
getCoordpat() |
static double |
getDelta() |
int |
getId()
Gets the standard numeric identifier for the space group.
|
static javax.vecmath.Matrix4d |
getMatrixFromAlgebraic(java.lang.String transfAlgebraic) |
int |
getMultiplicity() |
static java.util.regex.Pattern |
getNonenantpat() |
int |
getNumOperators()
Gets the number of symmetry operators corresponding to this SpaceGroup (counting
the identity operator)
|
int |
getPrimitiveMultiplicity() |
static javax.vecmath.AxisAngle4d |
getRotAxisAndAngle(javax.vecmath.Matrix3d m)
Given a rotation matrix calculates the rotation axis and angle for it.
|
javax.vecmath.AxisAngle4d |
getRotAxisAngle(int transformId) |
static int |
getRotAxisType(javax.vecmath.Matrix4d m)
Given a transformation matrix containing a rotation returns the type of rotation:
1 for identity, 2 for 2-fold rotation, 3 for 3-fold rotation, 4 for 4-fold rotation,
6 for 6-fold rotation,
-1 for inversions, -2 for mirror planes, -3 for 3-fold improper rotation,
-4 for 4-fold improper rotation and -6 for 6-fold improper rotation
|
static long |
getSerialversionuid() |
java.lang.String |
getShortSymbol()
Gets the international short name (as used in PDB),
e.g.
|
static java.util.regex.Pattern |
getSplitpat1() |
static java.util.regex.Pattern |
getSplitpat2() |
static java.util.regex.Pattern |
getTranscoefpat() |
java.util.List<java.lang.String> |
getTransfAlgebraic() |
java.lang.String |
getTransfAlgebraic(int i)
Gets a transformation algebraic string given its index.
|
javax.vecmath.Matrix4d |
getTransformation(int i)
Gets a transformation by index expressed in crystal axes basis.
|
java.util.List<javax.vecmath.Matrix4d> |
getTransformations()
Gets all transformations except for the identity in crystal axes basis.
|
protected void |
initializeCellTranslations() |
boolean |
isEnantiomorphic() |
static SpaceGroup |
parseSpaceGroup(java.lang.String shortName)
Get the space group for the given international short name, using
the PDB format, e.g.
|
void |
setAltShortSymbol(java.lang.String altShortSymbol) |
void |
setAxisTypes(int[] axisTypes) |
void |
setBravLattice(BravaisLattice bravLattice) |
void |
setId(int id) |
void |
setMultiplicity(int multiplicity) |
void |
setPrimitiveMultiplicity(int primitiveMultiplicity) |
void |
setShortSymbol(java.lang.String shortSymbol) |
void |
setTransfAlgebraic(java.util.List<java.lang.String> transfAlgebraic) |
java.lang.String |
toString() |
java.lang.String |
toXML() |
protected static final double DELTA
public SpaceGroup(int id, int multiplicity, int primitiveMultiplicity, java.lang.String shortSymbol, java.lang.String altShortSymbol, BravaisLattice bravLattice)
public static SpaceGroup parseSpaceGroup(java.lang.String shortName)
shortName
- SymoplibParser.getSpaceGroup(String)
public void addTransformation(java.lang.String transfAlgebraic)
protected void initializeCellTranslations()
public int getMultiplicity()
public int getPrimitiveMultiplicity()
public javax.vecmath.Vector3d[] getCellTranslations()
public javax.vecmath.Vector3d getCellTranslation(int i)
public static javax.vecmath.Matrix4d getMatrixFromAlgebraic(java.lang.String transfAlgebraic)
public int getId()
public java.lang.String getShortSymbol()
public java.lang.String getAltShortSymbol()
public java.util.List<javax.vecmath.Matrix4d> getTransformations()
public javax.vecmath.AxisAngle4d getRotAxisAngle(int transformId)
public boolean areInSameAxis(int tId1, int tId2)
tId1
- tId2
- public int getAxisFoldType(int transformId)
transformId
- public javax.vecmath.Matrix4d getTransformation(int i)
i
- public java.lang.String getTransfAlgebraic(int i)
i
- public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int getNumOperators()
public static java.lang.String getAlgebraicFromMatrix(javax.vecmath.Matrix4d m)
protected static boolean deltaComp(double d1, double d2, double delta)
public BravaisLattice getBravLattice()
public boolean isEnantiomorphic()
public static javax.vecmath.AxisAngle4d getRotAxisAndAngle(javax.vecmath.Matrix3d m)
m
- java.lang.IllegalArgumentException
- if given matrix is not a rotation matrix (determinant not 1 or -1)public static int getRotAxisType(javax.vecmath.Matrix4d m)
m
- public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toXML()
public java.util.List<java.lang.String> getTransfAlgebraic()
public void setTransfAlgebraic(java.util.List<java.lang.String> transfAlgebraic)
public int[] getAxisTypes()
public void setAxisTypes(int[] axisTypes)
public static long getSerialversionuid()
public static java.util.regex.Pattern getSplitpat1()
public static java.util.regex.Pattern getSplitpat2()
public static java.util.regex.Pattern getCoordpat()
public static java.util.regex.Pattern getTranscoefpat()
public static java.util.regex.Pattern getNonenantpat()
public static double getDelta()
public void setId(int id)
public void setMultiplicity(int multiplicity)
public void setPrimitiveMultiplicity(int primitiveMultiplicity)
public void setShortSymbol(java.lang.String shortSymbol)
public void setAltShortSymbol(java.lang.String altShortSymbol)
public void setBravLattice(BravaisLattice bravLattice)