Package org.jmol.util

Class BoxInfo


  • public class BoxInfo
    extends java.lang.Object
    The BoxInfo class holds critical information about boundboxes. These are simple tetragonal spaces lined up with x,y,z.
    • Field Detail

      • bbCorner0

        public final javajs.util.P3 bbCorner0
      • bbCorner1

        public final javajs.util.P3 bbCorner1
      • bbCenter

        private final javajs.util.P3 bbCenter
      • bbVector

        private final javajs.util.V3 bbVector
      • bbVertices

        private final Point3fi[] bbVertices
        The ordering of these vertices is given below. Do not mess with that.
      • isScaleSet

        private boolean isScaleSet
      • margin

        private float margin
      • bbcageTickEdges

        public static char[] bbcageTickEdges
      • uccageTickEdges

        public static char[] uccageTickEdges
      • edges

        public static final byte[] edges
      • unitCubePoints

        public static final javajs.util.P3[] unitCubePoints
      • facePoints

        public static final int[][] facePoints
      • toCanonical

        private static final int[] toCanonical
      • unitBboxPoints

        private static final javajs.util.P3[] unitBboxPoints
    • Constructor Detail

      • BoxInfo

        public BoxInfo()
    • Method Detail

      • reset

        public void reset()
      • scaleBox

        public static void scaleBox​(javajs.util.P3[] pts,
                                    float scale)
      • getVerticesFromOABC

        public static final javajs.util.P3[] getVerticesFromOABC​(javajs.util.T3[] oabc)
        Parameters:
        oabc - [center a b c]
        Returns:
        all eight vertices
      • getCanonicalCopy

        public static final javajs.util.P3[] getCanonicalCopy​(javajs.util.P3[] boxPoints,
                                                              float scale)
        Change points references to canonical form used in Triangulator, while also scaling. Box Pt to canonical:
            0 to 0 
            1 to 3
            2 to 4
            3 to 7
            4 to 1
            5 to 2
            6 to 5
            7 to 6
             
        Parameters:
        boxPoints -
        scale -
        Returns:
        canonical P3 array
      • toOABC

        public static final javajs.util.P3[] toOABC​(javajs.util.P3[] bbVertices,
                                                    javajs.util.T3 offset)
        Delivers [center a b c] for generation of unit cells from a boundbox
        Parameters:
        bbVertices -
        offset -
        Returns:
        [center a b c]
      • getBoundBoxCenter

        public javajs.util.P3 getBoundBoxCenter()
      • getBoundBoxCornerVector

        public javajs.util.V3 getBoundBoxCornerVector()
      • getBoundBoxPoints

        public javajs.util.P3[] getBoundBoxPoints​(boolean isAll)
        Return basic info on boundbox in the form of an array.
        Parameters:
        isAll - to include center and diagonal
        Returns:
        isAll: [(0.5 0.5 0.5), diagonal, (0 0 0), (1 1 1)], otherwise just [(0 0 0), (1 1 1)]
      • getBoundBoxVertices

        public Point3fi[] getBoundBoxVertices()
      • setBoundBoxFromOABC

        public void setBoundBoxFromOABC​(javajs.util.T3[] points)
      • setBoundBox

        public void setBoundBox​(javajs.util.T3 pt1,
                                javajs.util.T3 pt2,
                                boolean byCorner,
                                float scale)
      • setMargin

        public void setMargin​(float m)
      • addBoundBoxPoint

        public void addBoundBoxPoint​(javajs.util.T3 pt)
      • addPoint

        public static void addPoint​(javajs.util.T3 pt,
                                    javajs.util.T3 xyzMin,
                                    javajs.util.T3 xyzMax,
                                    float margin)
      • addPointXYZ

        public static void addPointXYZ​(float x,
                                       float y,
                                       float z,
                                       javajs.util.P3 xyzMin,
                                       javajs.util.P3 xyzMax,
                                       float margin)
      • setBbcage

        public void setBbcage​(float scale)
      • isWithin

        public boolean isWithin​(javajs.util.P3 pt)
      • getMaxDim

        public float getMaxDim()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object