# Class MeshSlicer

java.lang.Object
org.jmol.util.MeshSlicer

public class MeshSlicer extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`protected MeshSurface`
`m`

## Constructor Summary

Constructors
Constructor
Description
`MeshSlicer()`

## Method Summary

Modifier and Type
Method
Description
`void`
`getIntersection(float distance, P4 plane, P3[] ptCenters, Lst<P3[]> vData, float[] fData, BS bsSource, MeshSurface meshSurface, boolean andCap, boolean doClean, int tokType, boolean isGhost)`
`protected void`
`slabBrillouin(P3[] unitCellPoints)`
"slabs" an isosurface into the first Brillouin zone moving points as necessary.
`boolean`
`slabPolygons(Object[] slabObject, boolean allowCap)`

### Methods inherited from class Object

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

## Field Details

### m

protected MeshSurface m

## Constructor Details

### MeshSlicer

public MeshSlicer()

## Method Details

### slabPolygons

public boolean slabPolygons(Object[] slabObject, boolean allowCap)

Parameters:
  `slabObject` - [0] Integer type, [1] object, [2] andCap, [3] colorData
  `allowCap` -
Returns:
  true if successful

### getIntersection

public void getIntersection(float distance, P4 plane, P3[] ptCenters, Lst<P3[]> vData, float[] fData, BS bsSource, MeshSurface meshSurface, boolean andCap, boolean doClean, int tokType, boolean isGhost)

Parameters:
  `distance` - a distance from a plane or point
  `plane` - a slabbing plane
  `ptCenters` - a set of atoms to measure distance from
  `vData` - when not null, this is a query, not an actual slabbing
  `fData` - vertex values or other data to overlay
  `bsSource` - TODO
  `meshSurface` - second surface; not implemented -- still some problems there
  `andCap` - to cap this off, crudely only
  `doClean` - compact set - draw only
  `tokType` - type of slab
  `isGhost` - translucent slab, so we mark slabbed triangles

### slabBrillouin

protected void slabBrillouin(P3[] unitCellPoints)
"slabs" an isosurface into the first Brillouin zone moving points as necessary.

Parameters:
  `unitCellPoints` -