Class SymmetryDesc


  • public class SymmetryDesc
    extends java.lang.Object
    A 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 int KEY_DRAW  
      private static int KEY_POINT  
      private static java.lang.String[] keys  
      private ModelSet modelSet  
    • 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.T3 approx​(javajs.util.T3 pt)  
      private static javajs.util.T3 approx0​(javajs.util.T3 pt)  
      private java.lang.Object[] createInfoArray​(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 pta00, javajs.util.P3 ptTarget, java.lang.String id, float scaleFactor, int options, boolean haveTranslation)  
      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)  
      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)  
      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)  
      private javajs.util.BS getAtom​(Symmetry uc, int iModel, int iAtom, javajs.util.T3 sympt)  
      private static java.lang.Object getInfo​(java.lang.Object[] info, 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 int getKeyType​(java.lang.String id)  
      (package private) java.util.Map<java.lang.String,​java.lang.Object> getSpaceGroupInfo​(Symmetry 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)  
      private java.lang.Object getSymmetryInfo​(Symmetry sym, int iModel, int iatom, Symmetry 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.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)  
      private java.lang.Object getSymopInfoForPoints​(Symmetry 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, boolean asString, int options)
      get information about a symmetry operation relating two specific points or atoms
      private static int getType​(java.lang.String id)
      Determine the type of this request.
      private static java.lang.Object nullReturn​(int type)  
      private static javajs.util.P3 rotTransCart​(SymmetryOperation op, SymmetryInterface uc, javajs.util.P3 pt00, javajs.util.V3 vtrans)  
      SymmetryDesc set​(ModelSet modelSet)  
      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
      private static java.lang.String strCoord​(SymmetryOperation op, javajs.util.T3 p, boolean isBio)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SymmetryDesc

        public SymmetryDesc()
    • Method Detail

      • 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 - TODO
        pt -
        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​(Symmetry 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)
      • 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.xys 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[] info,
                                                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:
        info -
        type -
        Returns:
        object specified
      • createInfoArray

        private java.lang.Object[] createInfoArray​(SymmetryOperation op,
                                                   SymmetryInterface uc,
                                                   javajs.util.P3 pta00,
                                                   javajs.util.P3 ptTarget,
                                                   java.lang.String id,
                                                   float scaleFactor,
                                                   int options,
                                                   boolean haveTranslation)
        Parameters:
        op -
        uc -
        pta00 - optional initial atom point
        ptTarget - optional target atom point
        id -
        scaleFactor - scale for rotation vector only
        options - 0 or T.offset
        haveTranslation - TODO
        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
      • 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 -
      • 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​(Symmetry sym,
                                                 int iModel,
                                                 int iatom,
                                                 Symmetry 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 operator
        pt -
        pt2 - second point or offset
        id -
        type -
        scaleFactor -
        nth -
        options - 0 or T.offset
        Returns:
        a string or an Object[] containing information
      • getAtom

        private javajs.util.BS getAtom​(Symmetry uc,
                                       int iModel,
                                       int iAtom,
                                       javajs.util.T3 sympt)
      • getSymopInfoForPoints

        private java.lang.Object getSymopInfoForPoints​(Symmetry 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,
                                                       boolean asString,
                                                       int options)
        get information about a symmetry operation relating two specific points or atoms
        Parameters:
        sym -
        modelIndex -
        symOp -
        translation - TODO
        pt1 -
        pt2 -
        drawID -
        stype -
        scaleFactor -
        nth -
        asString -
        options - 0 or T.offset
        Returns:
        Object[] or String or Object[Object[]] (nth = 0, "array")