Class 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 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
      • unitVectors

        private static final javajs.util.V3[] unitVectors
    • Constructor Detail

      • UnitCell

        private UnitCell()
    • 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()
      • getTensor

        Tensor getTensor​(Viewer vwr,
                         float[] parBorU)
      • 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 conventional
        type - 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