Package org.jmol.symmetry
Class SymmetryDesc
- java.lang.Object
-
- org.jmol.symmetry.SymmetryDesc
-
public class SymmetryDesc extends java.lang.ObjectA class to handle requests for information about space groups and symmetry operations. Two entry points, both from Symmetry: getSymopInfo getSpaceGroupInfo
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]keysprivate ModelSetmodelSetprivate static javajs.util.P3pta01private static javajs.util.P3pta02private static javajs.util.P3ptempprivate static javajs.util.P3ptemp2private static intRET_AXISVECTORprivate static intRET_CIF2private static intRET_COUNTprivate static intRET_CTRANSprivate static intRET_CTRVECTORprivate static intRET_DRAWprivate static intRET_FTRANSprivate static intRET_ID(package private) static intRET_INVARIANTprivate static intRET_INVCTRprivate static intRET_LABEL(package private) static intRET_LISTprivate static intRET_MATRIXprivate static intRET_PLANEprivate static intRET_POINTprivate static intRET_ROTANGLEprivate static intRET_TIMEREVprivate static intRET_TYPEprivate static intRET_UNITTRANSprivate static intRET_XYZprivate static intRET_XYZCANONprivate static intRET_XYZNORMALIZEDprivate static intRET_XYZORIGINALprivate static javajs.util.V3vtempprivate static javajs.util.V3vtrans
-
Constructor Summary
Constructors Constructor Description SymmetryDesc()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static javajs.util.T3approx(javajs.util.T3 pt)private static javajs.util.T3approx0(javajs.util.T3 pt)private java.lang.Object[]createInfoArray(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 ptFrom, javajs.util.P3 ptTarget, java.lang.String id, float scaleFactor, int options, boolean haveTranslation, javajs.util.BS bsInfo)private static voiddrawFrameLine(java.lang.String xyz, javajs.util.P3 pt, javajs.util.V3 v, float width, javajs.util.P3 ptemp, javajs.util.SB draw1, java.lang.String key, java.lang.String color)private static voiddrawLine(javajs.util.SB s, java.lang.String id, float diameter, javajs.util.P3 pt0, javajs.util.P3 pt1, java.lang.String color)private static voiddrawVector(javajs.util.SB draw1, java.lang.String drawid, java.lang.String label, java.lang.String type, javajs.util.T3 pt1, javajs.util.T3 v, java.lang.String color)private javajs.util.BSgetAtom(SymmetryInterface uc, int iModel, int iAtom, javajs.util.T3 sympt)private static java.lang.ObjectgetInfo(java.lang.Object[] io, int type)Return information about a symmetry operator by type: array, angle, axis, center, draw, full, info, label, matrix4f, point, time, plane, translation, unitcell, xyz, all, or a negative number (-length, -1]: { "xyz", etc.private static javajs.util.BSgetInfoBS(int type)private static intgetKeyType(java.lang.String id)(package private) java.util.Map<java.lang.String,java.lang.Object>getSpaceGroupInfo(SymmetryInterface sym, int modelIndex, java.lang.String sgName, int symOp, javajs.util.P3 pt1, javajs.util.P3 pt2, java.lang.String drawID, float scaleFactor, int nth, boolean isFull, boolean isForModel, int options, SymmetryInterface cellInfo, javajs.util.BS bsInfo)private java.lang.ObjectgetSymmetryInfo(SymmetryInterface sym, int iModel, int iatom, SymmetryInterface uc, java.lang.String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, java.lang.String id, int type, float scaleFactor, int nth, int options)multipurpose function handling a variety of tasks, including: processing of "lattice", "list", "atom", "point", and some "draw" output types finding the operator in the given space group creating a temporary space group for an xyz operator(package private) java.lang.ObjectgetSymopInfo(int iAtom, java.lang.String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, java.lang.String id, int type, float scaleFactor, int nth, int options)(package private) java.lang.ObjectgetSymopInfoForPoints(SymmetryInterface sym, int modelIndex, int symOp, javajs.util.P3 translation, javajs.util.P3 pt1, javajs.util.P3 pt2, java.lang.String drawID, java.lang.String stype, float scaleFactor, int nth, int options, javajs.util.BS bsInfo)get information about a symmetry operation relating two specific points or atomsjavajs.util.M4getTransform(UnitCell uc, SymmetryOperation[] ops, javajs.util.P3 fracA, javajs.util.P3 fracB, boolean best)private static intgetType(java.lang.String id)Determine the type of this request.private static java.lang.ObjectnullReturn(int type)private static javajs.util.P3rotTransCart(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 pt00, javajs.util.V3 vtrans)SymmetryDescset(ModelSet modelSet)private static voidsetFractional(SymmetryInterface uc, javajs.util.T3 pt00, javajs.util.P3 pt01, javajs.util.P3 offset)Set pt01 to pt00, possibly adding offset into unit cellprivate static java.lang.StringstrCoord(SymmetryOperation op, javajs.util.T3 p, boolean isBio)
-
-
-
Field Detail
-
modelSet
private ModelSet modelSet
-
RET_XYZ
private static final int RET_XYZ
- See Also:
- Constant Field Values
-
RET_XYZORIGINAL
private static final int RET_XYZORIGINAL
- See Also:
- Constant Field Values
-
RET_LABEL
private static final int RET_LABEL
- See Also:
- Constant Field Values
-
RET_DRAW
private static final int RET_DRAW
- See Also:
- Constant Field Values
-
RET_FTRANS
private static final int RET_FTRANS
- See Also:
- Constant Field Values
-
RET_CTRANS
private static final int RET_CTRANS
- See Also:
- Constant Field Values
-
RET_INVCTR
private static final int RET_INVCTR
- See Also:
- Constant Field Values
-
RET_POINT
private static final int RET_POINT
- See Also:
- Constant Field Values
-
RET_AXISVECTOR
private static final int RET_AXISVECTOR
- See Also:
- Constant Field Values
-
RET_ROTANGLE
private static final int RET_ROTANGLE
- See Also:
- Constant Field Values
-
RET_MATRIX
private static final int RET_MATRIX
- See Also:
- Constant Field Values
-
RET_UNITTRANS
private static final int RET_UNITTRANS
- See Also:
- Constant Field Values
-
RET_CTRVECTOR
private static final int RET_CTRVECTOR
- See Also:
- Constant Field Values
-
RET_TIMEREV
private static final int RET_TIMEREV
- See Also:
- Constant Field Values
-
RET_PLANE
private static final int RET_PLANE
- See Also:
- Constant Field Values
-
RET_TYPE
private static final int RET_TYPE
- See Also:
- Constant Field Values
-
RET_ID
private static final int RET_ID
- See Also:
- Constant Field Values
-
RET_CIF2
private static final int RET_CIF2
- See Also:
- Constant Field Values
-
RET_XYZCANON
private static final int RET_XYZCANON
- See Also:
- Constant Field Values
-
RET_XYZNORMALIZED
private static final int RET_XYZNORMALIZED
- See Also:
- Constant Field Values
-
RET_COUNT
private static final int RET_COUNT
- See Also:
- Constant Field Values
-
RET_LIST
static final int RET_LIST
- See Also:
- Constant Field Values
-
RET_INVARIANT
static final int RET_INVARIANT
- See Also:
- Constant Field Values
-
keys
private static final java.lang.String[] keys
-
vtemp
private static javajs.util.V3 vtemp
-
ptemp
private static javajs.util.P3 ptemp
-
ptemp2
private static javajs.util.P3 ptemp2
-
pta01
private static javajs.util.P3 pta01
-
pta02
private static javajs.util.P3 pta02
-
vtrans
private static javajs.util.V3 vtrans
-
-
Method Detail
-
set
public SymmetryDesc set(ModelSet modelSet)
-
getType
private static int getType(java.lang.String id)
Determine the type of this request. Note that label and xyz will be returned as T.xyz and T.label- Parameters:
id-- Returns:
- a code that identifies this request.
-
getKeyType
private static int getKeyType(java.lang.String id)
-
nullReturn
private static java.lang.Object nullReturn(int type)
-
getInfo
private static java.lang.Object getInfo(java.lang.Object[] io, int type)Return information about a symmetry operator by type: array, angle, axis, center, draw, full, info, label, matrix4f, point, time, plane, translation, unitcell, xyz, all, or a negative number (-length, -1]: { "xyz", etc. } where "all" is the info array itself,- Parameters:
io-type-- Returns:
- object specified
-
getInfoBS
private static javajs.util.BS getInfoBS(int type)
-
createInfoArray
private java.lang.Object[] createInfoArray(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 ptFrom, javajs.util.P3 ptTarget, java.lang.String id, float scaleFactor, int options, boolean haveTranslation, javajs.util.BS bsInfo)
- Parameters:
op-uc-ptFrom- optional initial atom pointptTarget- optional target atom pointid-scaleFactor- scale for rotation vector onlyoptions- 0 or T.offsethaveTranslation- TODObsInfo-- 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 [11] lattice translation [12] centering [13] time reversal [14] plane [15] _type [16] id [17] element [18] invariant
-
drawLine
private static void drawLine(javajs.util.SB s, java.lang.String id, float diameter, javajs.util.P3 pt0, javajs.util.P3 pt1, java.lang.String color)
-
drawFrameLine
private static void drawFrameLine(java.lang.String xyz, javajs.util.P3 pt, javajs.util.V3 v, float width, javajs.util.P3 ptemp, javajs.util.SB draw1, java.lang.String key, java.lang.String color)
-
drawVector
private static void drawVector(javajs.util.SB draw1, java.lang.String drawid, java.lang.String label, java.lang.String type, javajs.util.T3 pt1, javajs.util.T3 v, java.lang.String color)
-
setFractional
private static void setFractional(SymmetryInterface uc, javajs.util.T3 pt00, javajs.util.P3 pt01, javajs.util.P3 offset)
Set pt01 to pt00, possibly adding offset into unit cell- Parameters:
uc-pt00-pt01-offset-
-
rotTransCart
private static javajs.util.P3 rotTransCart(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 pt00, javajs.util.V3 vtrans)
-
strCoord
private static java.lang.String strCoord(SymmetryOperation op, javajs.util.T3 p, boolean isBio)
-
approx0
private static javajs.util.T3 approx0(javajs.util.T3 pt)
-
approx
private static javajs.util.T3 approx(javajs.util.T3 pt)
-
getSymmetryInfo
private java.lang.Object getSymmetryInfo(SymmetryInterface sym, int iModel, int iatom, SymmetryInterface uc, java.lang.String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, java.lang.String id, int type, float scaleFactor, int nth, int options)
multipurpose function handling a variety of tasks, including: processing of "lattice", "list", "atom", "point", and some "draw" output types finding the operator in the given space group creating a temporary space group for an xyz operator- Parameters:
sym-iModel-iatom-uc-xyz-op-translation- [i j k] to be added to operatorpt-pt2- second point or offsetid-type-scaleFactor-nth-options- 0 or T.offset- Returns:
- a string or an Object[] containing information
-
getAtom
private javajs.util.BS getAtom(SymmetryInterface uc, int iModel, int iAtom, javajs.util.T3 sympt)
-
getSymopInfoForPoints
java.lang.Object getSymopInfoForPoints(SymmetryInterface sym, int modelIndex, int symOp, javajs.util.P3 translation, javajs.util.P3 pt1, javajs.util.P3 pt2, java.lang.String drawID, java.lang.String stype, float scaleFactor, int nth, int options, javajs.util.BS bsInfo)
get information about a symmetry operation relating two specific points or atoms- Parameters:
sym-modelIndex-symOp-translation- TODOpt1-pt2-drawID-stype-scaleFactor-nth-options- 0 or T.offsetbsInfo-- Returns:
- Object[] or String or Object[Object[]] (nth = 0, "array")
-
getSymopInfo
java.lang.Object getSymopInfo(int iAtom, java.lang.String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, java.lang.String id, int type, float scaleFactor, int nth, int options)- Parameters:
iAtom-xyz-op-translation- TODOpt-pt2-id-type-scaleFactor-nth-options- 0 or T.offset- Returns:
- "" or a bitset of matching atoms, or
-
getSpaceGroupInfo
java.util.Map<java.lang.String,java.lang.Object> getSpaceGroupInfo(SymmetryInterface sym, int modelIndex, java.lang.String sgName, int symOp, javajs.util.P3 pt1, javajs.util.P3 pt2, java.lang.String drawID, float scaleFactor, int nth, boolean isFull, boolean isForModel, int options, SymmetryInterface cellInfo, javajs.util.BS bsInfo)
-
getTransform
public javajs.util.M4 getTransform(UnitCell uc, SymmetryOperation[] ops, javajs.util.P3 fracA, javajs.util.P3 fracB, boolean best)
-
-