public class VoronoiCell extends BaseVoronoiCell
Computing a Voronoi Cell
Atom, Faces, Radical, Volume
Constructor and Description |
---|
VoronoiCell(Atom atom,
boolean radical) |
Modifier and Type | Method and Description |
---|---|
void |
computeCell(java.util.List<AtomImage> images)
Compute the Voronoi cell, given list of images
|
void |
computeCell(PairDistanceAnalysis imageFinder,
double cutoff)
Compute cell, given ability to generate images
|
protected java.util.List<VoronoiFace> |
computeDirectNeighbors(java.util.List<VoronoiFace> faces)
Compute list of neighbors for the direct polyhedron and those that could
contribute to the Voronoi polyhedron.
|
protected java.util.List<VoronoiFace> |
computeFaces(java.util.List<AtomImage> images)
Compute the center of the face corresponding to each neighbor
|
boolean |
computeIntersection(VoronoiFace newFace)
Compute intersection between a potential face and this cell
|
protected java.util.List<VoronoiFace> |
computePossibleIndirectNeighbors(java.util.List<VoronoiFace> possibleFaces)
Get list of faces that might possibly be indirect.
|
void |
removeFace(VoronoiFace toRemove)
Remove a face from this cell
|
geometryIsValid, getAtom, getCoordinationShellShape, getExtendedFaces, getFaces, getMaximumVertexDistance, getMinimumVertexDistance, getNeighborDistances, getNeighbors, getNeighborsByWalks, getNeighborShell, getNeighborShells, getNeighborTypes, getNumberSharedBonds, getPolyhedronShape, getSurfaceArea, getVertices, getVolume, nFaces
public VoronoiCell(Atom atom, boolean radical)
public void computeCell(PairDistanceAnalysis imageFinder, double cutoff) throws java.lang.Exception
imageFinder
- Tool to find images within a cutoffcutoff
- Initial cutoff. Will be increased if too smalljava.lang.Exception
public void computeCell(java.util.List<AtomImage> images) throws java.lang.Exception
images
- [in] List of images to consider, where key is the atomID
and value is the distancejava.lang.Exception
protected java.util.List<VoronoiFace> computeFaces(java.util.List<AtomImage> images)
images
- List of all images of this atomprotected java.util.List<VoronoiFace> computeDirectNeighbors(java.util.List<VoronoiFace> faces)
See page 85 of Brostow, Dessault, Fox. JCP (1978)
faces
- [in/out] List of faces to consider. After this operation,
any faces that are on the direct polyhedron will be removed and the list
will be sorted by distance from the center.protected java.util.List<VoronoiFace> computePossibleIndirectNeighbors(java.util.List<VoronoiFace> possibleFaces)
possibleFaces
- [in] List of all possible non-direct faces sorted
in ascending order. This probably has already been computed by
computeDirectNeighbors(java.util.List)public boolean computeIntersection(VoronoiFace newFace)
newFace
- Potential new facepublic void removeFace(VoronoiFace toRemove) throws java.lang.Exception
toRemove
- Face to removejava.lang.Exception