public class MeshSlicer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private MeshCapper |
capper |
private boolean |
doCap |
private boolean |
doClear |
private boolean |
doGhost |
private float |
dPlane |
(package private) float[] |
fracs |
private int |
iD |
private int |
iE |
protected MeshSurface |
m |
(package private) javajs.util.V3 |
norm |
private javajs.util.P3[] |
pts |
private int[] |
sources |
(package private) float[] |
values |
private float |
wPlane |
Constructor and Description |
---|
MeshSlicer() |
Modifier and Type | Method and Description |
---|---|
(package private) int |
addIntersectionVertex(javajs.util.T3 vertex,
float value,
int source,
int set,
java.util.Map<java.lang.String,java.lang.Integer> mapEdge,
int i1,
int i2) |
(package private) void |
addTriangle(int ipt1,
int ipt2,
int ipt3)
from MeshCapper
|
private float |
checkSlab(int tokType,
javajs.util.T3 v,
float val,
float distance,
BS bs) |
private boolean |
getDE(float[] fracs,
int fD,
int i1,
int i2,
int i3,
boolean toss23) |
void |
getIntersection(float distance,
javajs.util.P4 plane,
javajs.util.P3[] ptCenters,
javajs.util.Lst<javajs.util.P3[]> vData,
float[] fData,
BS bsSource,
MeshSurface meshSurface,
boolean andCap,
boolean doClean,
int tokType,
boolean isGhost) |
(package private) java.lang.String |
getKey(int i1,
int i2) |
private javajs.util.P3 |
interpolateFraction(javajs.util.T3 v1,
javajs.util.T3 v2,
float f,
float val1,
float val2,
int i) |
private javajs.util.P3 |
interpolatePoint(javajs.util.T3 v1,
javajs.util.T3 v2,
float d1,
float d2,
float val1,
float val2,
int i) |
private javajs.util.P3 |
interpolateSphere(javajs.util.T3 v1,
javajs.util.T3 v2,
float d1,
float d2,
double absD,
float val1,
float val2,
int i) |
(package private) MeshSlicer |
set(MeshSurface meshSurface) |
private static int |
setPoint(float[] fracs,
int i,
int i0,
int i1) |
protected void |
slabBrillouin(javajs.util.P3[] unitCellPoints)
"slabs" an isosurface into the first Brillouin zone moving points as
necessary.
|
boolean |
slabPolygons(java.lang.Object[] slabObject,
boolean allowCap) |
protected MeshSurface m
private boolean doCap
private boolean doClear
private boolean doGhost
private int iD
private int iE
private int[] sources
private javajs.util.P3[] pts
javajs.util.V3 norm
private float dPlane
float[] values
float[] fracs
private MeshCapper capper
private float wPlane
MeshSlicer set(MeshSurface meshSurface)
public boolean slabPolygons(java.lang.Object[] slabObject, boolean allowCap)
slabObject
- [0] Integer type,
[1] object,
[2] andCap,
[3] colorDataallowCap
- public void getIntersection(float distance, javajs.util.P4 plane, javajs.util.P3[] ptCenters, javajs.util.Lst<javajs.util.P3[]> vData, float[] fData, BS bsSource, MeshSurface meshSurface, boolean andCap, boolean doClean, int tokType, boolean isGhost)
distance
- a distance from a plane or pointplane
- a slabbing planeptCenters
- a set of atoms to measure distance fromvData
- when not null, this is a query, not an actual slabbingfData
- vertex values or other data to overlaybsSource
- TODOmeshSurface
- second surface; not implemented -- still some problems thereandCap
- to cap this off, crudely onlydoClean
- compact set - draw onlytokType
- type of slabisGhost
- translucent slab, so we mark slabbed trianglesprivate boolean getDE(float[] fracs, int fD, int i1, int i2, int i3, boolean toss23)
private static int setPoint(float[] fracs, int i, int i0, int i1)
private float checkSlab(int tokType, javajs.util.T3 v, float val, float distance, BS bs)
private javajs.util.P3 interpolateSphere(javajs.util.T3 v1, javajs.util.T3 v2, float d1, float d2, double absD, float val1, float val2, int i)
private javajs.util.P3 interpolatePoint(javajs.util.T3 v1, javajs.util.T3 v2, float d1, float d2, float val1, float val2, int i)
private javajs.util.P3 interpolateFraction(javajs.util.T3 v1, javajs.util.T3 v2, float f, float val1, float val2, int i)
protected void slabBrillouin(javajs.util.P3[] unitCellPoints)
unitCellPoints
- int addIntersectionVertex(javajs.util.T3 vertex, float value, int source, int set, java.util.Map<java.lang.String,java.lang.Integer> mapEdge, int i1, int i2)
java.lang.String getKey(int i1, int i2)
void addTriangle(int ipt1, int ipt2, int ipt3)
ipt1
- ipt2
- ipt3
-