Package org.jmol.util

Class BoxInfo

java.lang.Object
org.jmol.util.BoxInfo

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

    • X

      public static final int X
      See Also:
    • Y

      public static final int Y
      See Also:
    • Z

      public static final int Z
      See Also:
    • XYZ

      public static final int XYZ
      See Also:
    • 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 Details

    • BoxInfo

      public BoxInfo()
  • Method Details

    • 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 String toString()
      Overrides:
      toString in class Object