org.jmol.geodesic
Class EnvelopeCalculation

java.lang.Object
  extended by org.jmol.geodesic.EnvelopeCalculation

public final class EnvelopeCalculation
extends java.lang.Object


Field Summary
private  float addRadius
           
private  int atomCount
           
private  AtomData atomData
           
private  java.util.BitSet bsMySelected
           
private  java.util.BitSet bsSurface
           
private  javax.vecmath.Point3f centerI
           
private  javax.vecmath.Point3f centerT
           
private  javax.vecmath.Point3f[] currentPoints
           
private  float diameterP
           
private  boolean disregardNeighbors
           
private  int[][] dotsConvexMaps
           
private  int dotsConvexMax
           
private  int geodesicCount
           
private  int[] geodesicMap
           
private  int indexI
           
private  short[] mads
           
private static int[] mapNull
           
private  int[] mapT
           
static int MAX_LEVEL
           
private  float maxRadius
           
private  boolean modelZeroBased
           
private  javax.vecmath.Point3f[] neighborCenters
           
private  int neighborCount
           
private  int[] neighborIndices
           
private  float[] neighborPlusProbeRadii2
           
private  float[] neighborRadii2
           
private  javax.vecmath.Point3f pointT
           
private static int[] power4
           
private  float radiiIP2
           
private  float radiusI
           
private  float radiusP
           
private  float scale
           
private  float setRadius
           
static float SURFACE_DISTANCE_FOR_CALCULATION
           
private  javax.vecmath.Point3f[] vertexTest
           
private  AtomDataServer viewer
           
 
Constructor Summary
EnvelopeCalculation(AtomDataServer viewer, int atomCount, short[] mads)
           
 
Method Summary
private  void addIncompleteFaces(int[] points)
           
private static int[] allocateBitmap(int count)
           
 void allocDotsConvexMaps(int max)
           
private  void calcConvexBits()
           
private  void calcConvexMap(boolean isSurface)
           
 void calculate(float addRadius, float setRadius, float scale, float maxRadius, java.util.BitSet bsSelected, java.util.BitSet bsIgnore, boolean useVanderwaalsRadius, boolean disregardNeighbors, boolean onlySelectedDots, boolean isSurface, boolean multiModel)
           
private static void clearBit(int[] bitmap, int i)
           
private static void clearBitmap(int[] bitmap)
           
 void deleteAtoms(int firstAtomDeleted, int nAtomsDeleted, java.util.BitSet bsAtoms)
           
 float getAppropriateRadius(int atomIndex)
           
static boolean getBit(int[] bitmap, int i)
           
 java.util.BitSet getBsSurfaceClone()
           
 int[][] getDotsConvexMaps()
           
 int getDotsConvexMax()
           
private  int getMapStorageCount(int[] map)
           
private  void getNeighbors()
           
private  int getPointCount(int[] visibilityMap, int dotCount)
           
 javax.vecmath.Point3f[] getPoints()
           
 float getRadius()
           
 void newSet()
           
private static void setAllBits(int[] bitmap, int count)
           
private  void setAtomI(int indexI)
           
private static void setBit(int[] bitmap, int i)
           
private  void setDotsConvexMax()
           
 void setFromBits(int index, java.util.BitSet bs)
           
 void setMads(short[] mads)
           
private  void setRadii(boolean useVanderwaalsRadius)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mads

private short[] mads

atomData

private AtomData atomData

viewer

private AtomDataServer viewer

atomCount

private int atomCount

SURFACE_DISTANCE_FOR_CALCULATION

public static final float SURFACE_DISTANCE_FOR_CALCULATION
See Also:
Constant Field Values

MAX_LEVEL

public static final int MAX_LEVEL
See Also:
Constant Field Values

maxRadius

private float maxRadius

scale

private float scale

setRadius

private float setRadius

addRadius

private float addRadius

modelZeroBased

private boolean modelZeroBased

dotsConvexMaps

private int[][] dotsConvexMaps

dotsConvexMax

private int dotsConvexMax

geodesicCount

private int geodesicCount

geodesicMap

private int[] geodesicMap

mapT

private int[] mapT

mapNull

private static final int[] mapNull

bsSurface

private java.util.BitSet bsSurface

disregardNeighbors

private boolean disregardNeighbors

bsMySelected

private java.util.BitSet bsMySelected

radiusP

private float radiusP

diameterP

private float diameterP

currentPoints

private javax.vecmath.Point3f[] currentPoints

indexI

private int indexI

centerI

private javax.vecmath.Point3f centerI

radiusI

private float radiusI

radiiIP2

private float radiiIP2

pointT

private final javax.vecmath.Point3f pointT

centerT

private javax.vecmath.Point3f centerT

vertexTest

private final javax.vecmath.Point3f[] vertexTest

power4

private static int[] power4

neighborCount

private int neighborCount

neighborIndices

private int[] neighborIndices

neighborCenters

private javax.vecmath.Point3f[] neighborCenters

neighborPlusProbeRadii2

private float[] neighborPlusProbeRadii2

neighborRadii2

private float[] neighborRadii2
Constructor Detail

EnvelopeCalculation

public EnvelopeCalculation(AtomDataServer viewer,
                           int atomCount,
                           short[] mads)
Method Detail

getDotsConvexMaps

public int[][] getDotsConvexMaps()

getDotsConvexMax

public int getDotsConvexMax()

allocDotsConvexMaps

public void allocDotsConvexMaps(int max)

getBsSurfaceClone

public java.util.BitSet getBsSurfaceClone()

setMads

public void setMads(short[] mads)

setFromBits

public void setFromBits(int index,
                        java.util.BitSet bs)

getRadius

public float getRadius()

newSet

public void newSet()

calculate

public void calculate(float addRadius,
                      float setRadius,
                      float scale,
                      float maxRadius,
                      java.util.BitSet bsSelected,
                      java.util.BitSet bsIgnore,
                      boolean useVanderwaalsRadius,
                      boolean disregardNeighbors,
                      boolean onlySelectedDots,
                      boolean isSurface,
                      boolean multiModel)

setRadii

private void setRadii(boolean useVanderwaalsRadius)

getPoints

public javax.vecmath.Point3f[] getPoints()

getBit

public static final boolean getBit(int[] bitmap,
                                   int i)

getPointCount

private int getPointCount(int[] visibilityMap,
                          int dotCount)

setDotsConvexMax

private void setDotsConvexMax()

getAppropriateRadius

public float getAppropriateRadius(int atomIndex)

setAtomI

private void setAtomI(int indexI)

calcConvexMap

private void calcConvexMap(boolean isSurface)

getMapStorageCount

private int getMapStorageCount(int[] map)

addIncompleteFaces

private void addIncompleteFaces(int[] points)

calcConvexBits

private void calcConvexBits()

getNeighbors

private void getNeighbors()

allocateBitmap

private static final int[] allocateBitmap(int count)

setBit

private static final void setBit(int[] bitmap,
                                 int i)

clearBit

private static final void clearBit(int[] bitmap,
                                   int i)

setAllBits

private static final void setAllBits(int[] bitmap,
                                     int count)

clearBitmap

private static final void clearBitmap(int[] bitmap)

deleteAtoms

public void deleteAtoms(int firstAtomDeleted,
                        int nAtomsDeleted,
                        java.util.BitSet bsAtoms)