Package org.jmol.symmetry
Class SymmetryDesc
java.lang.Object
org.jmol.symmetry.SymmetryDesc
A class to handle requests for information about space groups and symmetry
operations.
Two entry points, both from Symmetry:
getSymopInfo
getSpaceGroupInfo
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String[]
private ModelSet
private static javajs.util.P3
private static javajs.util.P3
private static javajs.util.P3
private static javajs.util.P3
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
(package private) static final int
private static final int
private static final int
(package private) static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final String
private static final String
private static javajs.util.V3
private static javajs.util.V3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static javajs.util.T3
approx
(javajs.util.T3 pt) private static javajs.util.T3
approx0
(javajs.util.T3 pt) private static float
approx0f
(float x) private Object[]
createInfoArray
(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 ptFrom, javajs.util.P3 ptTarget, String id, float scaleFactor, int options, boolean haveTranslation, javajs.util.BS bsInfo) private static void
drawFrameLine
(String xyz, javajs.util.P3 pt, javajs.util.V3 v, float width, javajs.util.P3 ptemp, javajs.util.SB draw1, String key, String color) private static void
drawLine
(javajs.util.SB s, String id, float diameter, javajs.util.P3 pt0, javajs.util.P3 pt1, String color) private static void
drawVector
(javajs.util.SB draw1, String drawid, String label, String type, String d, javajs.util.T3 pt1, javajs.util.T3 v, String color) private javajs.util.BS
getAtom
(SymmetryInterface uc, int iModel, int iAtom, javajs.util.T3 sympt) private static Object
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.BS
getInfoBS
(int type) private static int
getKeyType
(String id) getSpaceGroupInfo
(SymmetryInterface sym, int modelIndex, String sgName, int symOp, javajs.util.P3 pt1, javajs.util.P3 pt2, String drawID, float scaleFactor, int nth, boolean isFull, boolean isForModel, int options, SymmetryInterface cellInfo, javajs.util.BS bsInfo) private Object
getSymmetryInfo
(SymmetryInterface sym, int iModel, int iatom, SymmetryInterface uc, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, 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) Object
getSymopInfo
(int iAtom, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, String id, int type, float scaleFactor, int nth, int options) (package private) Object
getSymopInfoForPoints
(SymmetryInterface sym, int modelIndex, int symOp, javajs.util.P3 translation, javajs.util.P3 pt1, javajs.util.P3 pt2, String drawID, 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.M4
getTransform
(UnitCell uc, SymmetryOperation[] ops, javajs.util.P3 fracA, javajs.util.P3 fracB, boolean best) private static int
Determine the type of this request.private static Object
nullReturn
(int type) private static javajs.util.P3
rotTransCart
(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 pt00, javajs.util.V3 vtrans) 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 cellprivate static String
strCoord
(SymmetryOperation op, javajs.util.T3 p, boolean isBio)
-
Field Details
-
modelSet
-
THIN_LINE
- See Also:
-
THICK_LINE
- See Also:
-
RET_XYZ
private static final int RET_XYZ- See Also:
-
RET_XYZORIGINAL
private static final int RET_XYZORIGINAL- See Also:
-
RET_LABEL
private static final int RET_LABEL- See Also:
-
RET_DRAW
private static final int RET_DRAW- See Also:
-
RET_FTRANS
private static final int RET_FTRANS- See Also:
-
RET_CTRANS
private static final int RET_CTRANS- See Also:
-
RET_INVCTR
private static final int RET_INVCTR- See Also:
-
RET_POINT
private static final int RET_POINT- See Also:
-
RET_AXISVECTOR
private static final int RET_AXISVECTOR- See Also:
-
RET_ROTANGLE
private static final int RET_ROTANGLE- See Also:
-
RET_MATRIX
private static final int RET_MATRIX- See Also:
-
RET_UNITTRANS
private static final int RET_UNITTRANS- See Also:
-
RET_CTRVECTOR
private static final int RET_CTRVECTOR- See Also:
-
RET_TIMEREV
private static final int RET_TIMEREV- See Also:
-
RET_PLANE
private static final int RET_PLANE- See Also:
-
RET_TYPE
private static final int RET_TYPE- See Also:
-
RET_ID
private static final int RET_ID- See Also:
-
RET_CIF2
private static final int RET_CIF2- See Also:
-
RET_XYZCANON
private static final int RET_XYZCANON- See Also:
-
RET_XYZNORMALIZED
private static final int RET_XYZNORMALIZED- See Also:
-
RET_COUNT
private static final int RET_COUNT- See Also:
-
RET_LIST
static final int RET_LIST- See Also:
-
RET_INVARIANT
static final int RET_INVARIANT- See Also:
-
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
-
-
Constructor Details
-
SymmetryDesc
public SymmetryDesc()
-
-
Method Details
-
set
-
getType
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
-
nullReturn
-
getInfo
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 Object[] createInfoArray(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 ptFrom, javajs.util.P3 ptTarget, 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
-
drawFrameLine
-
drawVector
-
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
-
approx0
private static javajs.util.T3 approx0(javajs.util.T3 pt) -
approx0f
private static float approx0f(float x) -
approx
private static javajs.util.T3 approx(javajs.util.T3 pt) -
getSymmetryInfo
private Object getSymmetryInfo(SymmetryInterface sym, int iModel, int iatom, SymmetryInterface uc, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, 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
-
getSymopInfoForPoints
Object getSymopInfoForPoints(SymmetryInterface sym, int modelIndex, int symOp, javajs.util.P3 translation, javajs.util.P3 pt1, javajs.util.P3 pt2, String drawID, 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
Object getSymopInfo(int iAtom, String xyz, int op, javajs.util.P3 translation, javajs.util.P3 pt, javajs.util.P3 pt2, 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
Map<String,Object> getSpaceGroupInfo(SymmetryInterface sym, int modelIndex, String sgName, int symOp, javajs.util.P3 pt1, javajs.util.P3 pt2, 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)
-