# Class EnvelopeCalculation

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

All Implemented Interfaces:
  `JmolEnvCalc`

public final class EnvelopeCalculation extends Object implements JmolEnvCalc

## Constructor Summary

Constructors
Constructor
Description
`EnvelopeCalculation()`

## Method Summary

Modifier and Type
Method
Description
`void`
`allocDotsConvexMaps(int max)`
`void`
`calculate(RadiusData rd, float maxRadius, BS bsSelected, BS bsIgnore, boolean disregardNeighbors, boolean onlySelectedDots, boolean isSurface, boolean multiModel)`
`void`
`deleteAtoms(int firstAtomDeleted, int nAtomsDeleted)`
`float`
`getAppropriateRadius(int atomIndex)`
`BS`
`getBsSurfaceClone()`
`BS[]`
`getDotsConvexMaps()`
`int`
`getDotsConvexMax()`
`P3[]`
`getPoints()`
`float`
`getRadius(int atomIndex)`
`void`
`newSet()`
`void`
`reCalculate(BS bs, M3 m)`
problem prior to 12.3.18 was that dots once on the deodesic were not being moved.
`EnvelopeCalculation`
`set(AtomDataServer vwr, int ac, short[] mads)`
`void`
`setFromBits(int index, BS bs)`
`void`
`setMads(short[] mads)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### EnvelopeCalculation

public EnvelopeCalculation()

## Method Details

### set

public EnvelopeCalculation set(AtomDataServer vwr, int ac, short[] mads)

Specified by:
  `set` in interface `JmolEnvCalc`
Parameters:
  `vwr` -
  `ac` -
  `mads` -
Returns:
  this

### getDotsConvexMaps

public BS[] getDotsConvexMaps()

### getDotsConvexMax

public int getDotsConvexMax()

### allocDotsConvexMaps

public void allocDotsConvexMaps(int max)

### getBsSurfaceClone

public BS getBsSurfaceClone()

Specified by:
  `getBsSurfaceClone` in interface `JmolEnvCalc`

### setMads

public void setMads(short[] mads)

### setFromBits

public void setFromBits(int index, BS bs)

### newSet

public void newSet()

### reCalculate

public void reCalculate(BS bs, M3 m)
problem prior to 12.3.18 was that dots once on the deodesic were not being moved. this isn't perfect, but it's reasonably good. Mostly, you should recreate dots after rotateSelected. This isn't a problem until after a state is saved and reloaded, since only then with atomData.radiusData be null.

Parameters:
  `bs` -
  `m` -

### calculate

public void calculate(RadiusData rd, float maxRadius, BS bsSelected, BS bsIgnore, boolean disregardNeighbors, boolean onlySelectedDots, boolean isSurface, boolean multiModel)

Specified by:
  `calculate` in interface `JmolEnvCalc`
Parameters:
  `rd` -
  `maxRadius` -
  `bsSelected` -
  `bsIgnore` -
  `disregardNeighbors` -
  `onlySelectedDots` -
  `isSurface` -
  `multiModel` -

### getRadius

public float getRadius(int atomIndex)

### getPoints

public P3[] getPoints()

Specified by:
  `getPoints` in interface `JmolEnvCalc`

### getAppropriateRadius

public float getAppropriateRadius(int atomIndex)

### deleteAtoms

public void deleteAtoms(int firstAtomDeleted, int nAtomsDeleted)

Parameters:
  `firstAtomDeleted` -
  `nAtomsDeleted` -