# Class ShapeManager

java.lang.Object
org.jmol.viewer.ShapeManager

public class ShapeManager extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`final BS`
`bsRenderableAtoms`
`final BS`
`bsSlabbedInternal`
`Shape[]`
`shapes`
`Viewer`
`vwr`

## Constructor Summary

Constructors
Constructor
Description
`ShapeManager(Viewer vwr)`

## Method Summary

Modifier and Type
Method
Description
`void`
`checkInheritedShapes()`
starting with Jmol 13.1.13, isosurfaces can use "property color" to inherit the color of the underlying atoms.
`void`
`deleteShapeAtoms(Object[] value, BS bs)`
`int[]`
`finalizeAtoms(BS bsTranslateSelected, boolean finalizeParams)`
`void`
`findNearestShapeAtomIndex(int x, int y, Atom[] closest, BS bsNot)`
`float`
`getAtomShapeValue(int tok, Group group, int atomIndex)`
`Shape`
`getShape(int i)`
`int`
`getShapeIdFromObjectName(String objectName)`
Returns the shape type index for a shape object given the object name.
`boolean`
`getShapePropertyData(int shapeID, String propertyName, Object[] data)`
`Object`
`getShapePropertyIndex(int shapeID, String propertyName, int index)`
`void`
`loadDefaultShapes(ModelSet newModelSet)`
`Shape`
`loadShape(int shapeID)`
`void`
`notifyAtomPositionsChanged(int baseModel, BS bs, M4 mat)`
`void`
`notifyAtoms(String prop, BS[] atomsAndModels)`
`void`
`releaseShape(int shapeID)`
`void`
`replaceGroup(Group g0, Group g1)`
`void`
`resetBioshapes(BS bsAllAtoms)`
`void`
`resetShapes(boolean cacheScale)`
`void`
`restrictSelected(boolean isBond, boolean doInvert)`
`void`
`setAtomLabel(String strLabel, int i)`
`void`
`setLabel(Object strLabel, BS bsSelection)`
`void`
`setModelSet(ModelSet modelSet)`
`void`
`setParallel()`
`void`
`setScale()`
`void`
`setShapeProperties(int shapeID, Object[]... values)`
`void`
`setShapePropertyBs(int shapeID, String propertyName, Object value, BS bsSelected)`
`void`
`setShapeSizeBs(int shapeID, int size, RadiusData rd, BS bsSelected)`

### Methods inherited from class Object

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

## Field Details

### shapes

public Shape[] shapes

### vwr

public Viewer vwr

### bsRenderableAtoms

public final BS bsRenderableAtoms

### bsSlabbedInternal

public final BS bsSlabbedInternal

## Constructor Details

### ShapeManager

public ShapeManager(Viewer vwr)

## Method Details

### setParallel

public void setParallel()

### findNearestShapeAtomIndex

public void findNearestShapeAtomIndex(int x, int y, Atom[] closest, BS bsNot)

### getShapePropertyIndex

public Object getShapePropertyIndex(int shapeID, String propertyName, int index)

### getShapePropertyData

public boolean getShapePropertyData(int shapeID, String propertyName, Object[] data)

### getShapeIdFromObjectName

public int getShapeIdFromObjectName(String objectName)
Returns the shape type index for a shape object given the object name.

Parameters:
  `objectName` - (string) string name of object
Returns:
  shapeType (int) integer corresponding to the shape type index see ShapeManager.shapes[].

### loadDefaultShapes

public void loadDefaultShapes(ModelSet newModelSet)

### loadShape

public Shape loadShape(int shapeID)

### notifyAtomPositionsChanged

public void notifyAtomPositionsChanged(int baseModel, BS bs, M4 mat)

### releaseShape

public void releaseShape(int shapeID)

### setScale

public void setScale()

### resetShapes

public void resetShapes(boolean cacheScale)

### setShapeProperties

public void setShapeProperties(int shapeID, Object[]... values)

### setShapeSizeBs

public void setShapeSizeBs(int shapeID, int size, RadiusData rd, BS bsSelected)

Parameters:
  `shapeID` -
  `size` - in milliangstroms
  `rd` -
  `bsSelected` -

### setLabel

public void setLabel(Object strLabel, BS bsSelection)

### setShapePropertyBs

public void setShapePropertyBs(int shapeID, String propertyName, Object value, BS bsSelected)

### deleteShapeAtoms

public void deleteShapeAtoms(Object[] value, BS bs)

### notifyAtoms

public void notifyAtoms(String prop, BS[] atomsAndModels)

### getAtomShapeValue

public float getAtomShapeValue(int tok, Group group, int atomIndex)

### replaceGroup

public void replaceGroup(Group g0, Group g1)

### getShape

public Shape getShape(int i)

### resetBioshapes

public void resetBioshapes(BS bsAllAtoms)

### setAtomLabel

public void setAtomLabel(String strLabel, int i)

### finalizeAtoms

public int[] finalizeAtoms(BS bsTranslateSelected, boolean finalizeParams)

### setModelSet

public void setModelSet(ModelSet modelSet)

### checkInheritedShapes

public void checkInheritedShapes()
starting with Jmol 13.1.13, isosurfaces can use "property color" to inherit the color of the underlying atoms. This is then dynamic

### restrictSelected

public void restrictSelected(boolean isBond, boolean doInvert)