# Class BZone

java.lang.Object
org.jmol.util.BZone

public class BZone extends Object
A class to represent and produce Brillouin zone polyhedra and Wigner-Seitz cells. initially implemented in JavaScript https://chemapps.stolaf.edu/jmol/jsmol/spt/ext/xtal/bz.spt based on the algorithm worked out by Jake LaNasa and Bob Hanson in 2015 and described in /_documents/brillouin-zones-laNasa.pdf or https://sourceforge.net/p/jmol/code/HEAD/tree/trunk/Jmol/_documents/brillouin-zones-laNasa.pdf Created by POLYHEDRON BRILLOUIN or POLYHEDRON BRILLOUIN n // where 1 invalid input: '<'= n invalid input: '<'= 8 or POLYHEDRON offset x.x BRILLOUIN n // where x.x is an "explosive" offset of subzones from the center For example: zap; modelkit spacegroup; polyhedron offset 0.8 brillouin 4; Contains to static subclasses, BZ and BZPoint.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected org.jmol.util.BZone.BZ`
`bz`
overall object
`protected P3`
`center`
`protected String`
`color`
`protected String`
`id`
`protected int`
`index`
`protected Lst<org.jmol.util.BZone.BZPoint>`
`newLatticePts`
`protected Lst<P4>`
`newPlanes`
`protected Lst<org.jmol.util.BZone.Subzone>`
`subzones`
`protected float`
`volume`

## Constructor Summary

Constructors
Constructor
Description
`BZone()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`create(BZone zonePrev)`
`void`
`createBZ(Viewer vwr, int n, Object[] array, boolean isK, String id, float scale, float foffset, P3 offset)`
Create a Brillouin zone.
`void`
`drawHKL(Viewer vwr, String id, P4 plane, P3[] pts)`
`protected static Lst<P3>`
`within(float radius, P3 center, Lst<P3> pts)`

### Methods inherited from class Object

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

## Field Details

### bz

protected org.jmol.util.BZone.BZ bz
overall object

### id

protected String id

### index

protected int index

### color

protected String color

### center

protected P3 center

### subzones

protected Lst<org.jmol.util.BZone.Subzone> subzones

### newLatticePts

protected Lst<org.jmol.util.BZone.BZPoint> newLatticePts

### newPlanes

protected Lst<P4> newPlanes

### volume

protected float volume

## Constructor Details

### BZone

public BZone()

## Method Details

### createBZ

public void createBZ(Viewer vwr, int n, Object[] array, boolean isK, String id, float scale, float foffset, P3 offset)
Create a Brillouin zone. The single public method in this class.

Parameters:
  `vwr` -
  `n` -
  `array` -
  `isK` -
  `id` -
  `scale` -
  `foffset` -
  `offset` -

### create

protected void create(BZone zonePrev)

### within

protected static Lst<P3> within(float radius, P3 center, Lst<P3> pts)

Parameters:
  `radius` -
  `center` -
  `pts` -
Returns:
  list of points within radius of center

### drawHKL

public void drawHKL(Viewer vwr, String id, P4 plane, P3[] pts)