public class MeshSurface
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
Tuple3f[] |
altVertices |
|
BitSet |
bsDisplay |
|
BitSet |
bsPolygons |
|
BitSet |
bsSlabDisplay |
|
BitSet |
bsSlabGhost |
|
short |
colix |
|
short |
colixBack |
|
boolean |
haveQuads |
|
protected int |
iA |
|
protected int |
iB |
|
protected int |
iC |
|
boolean |
isColorSolid |
|
boolean |
isMerged |
|
boolean |
isTriangleSet |
|
Matrix4f |
mat4 |
|
int |
mergePolygonCount0 |
|
int |
mergeVertexCount0 |
|
java.lang.String |
meshType |
|
int |
normalCount |
|
Tuple3f[] |
normals |
|
Vector3f[] |
normalsTemp |
|
int |
normixCount |
|
int |
nSets |
|
Point3f |
offset |
|
short[] |
polygonColixes |
|
int |
polygonCount |
|
int |
polygonCount0 |
|
int[][] |
polygonIndexes |
|
protected static int |
SEED_COUNT |
|
short |
slabColix |
|
int |
slabMeshType |
|
StringXBuilder |
slabOptions |
|
Vector3f[] |
spanningVectors |
|
BitSet[] |
surfaceSet |
|
short[] |
vertexColixes |
|
int |
vertexCount |
|
int |
vertexCount0 |
|
int[] |
vertexSets |
|
int[] |
vertexSource |
|
float[] |
vertexValues |
|
Point3f[] |
vertices |
Constructor | Description |
---|---|
MeshSurface() |
Modifier and Type | Method | Description |
---|---|---|
protected int |
addIntersectionVertex(Point3f vertex,
float value,
int source,
int set,
java.util.Map<java.lang.String,java.lang.Integer> mapEdge,
int i1,
int i2) |
|
protected int |
addPolygonC(int[] polygon,
int color,
BitSet bs) |
|
void |
addQuad(int vertexA,
int vertexB,
int vertexC,
int vertexD) |
|
void |
addTriangle(int vertexA,
int vertexB,
int vertexC) |
|
int |
addTriangleCheck(int vertexA,
int vertexB,
int vertexC,
int check,
int check2,
int color) |
|
int |
addVertexCopy(Point3f vertex) |
|
protected int |
addVertexCopy(Point3f vertex,
float value,
boolean assocNormals,
int iNormal) |
|
int |
addVertexCopyVal(Point3f vertex,
float value) |
|
static java.lang.Object[] |
getCapSlabObject(java.lang.String s,
boolean isCap) |
legacy -- for some scripts with early isosurface slabbing
|
int[][] |
getFaces() |
|
void |
getIntersection(float distance,
Point4f plane,
Point3f[] ptCenters,
java.util.List<Point3f[]> vData,
float[] fData,
BitSet bsSource,
MeshSurface meshSurface,
boolean andCap,
boolean doClean,
int tokType,
boolean isGhost) |
|
java.lang.String |
getSlabColor() |
|
static java.lang.Object[] |
getSlabObject(int tok,
java.lang.Object data,
boolean isCap,
java.lang.Object colorData) |
|
java.lang.String |
getSlabTranslucency() |
|
java.lang.String |
getSlabType() |
|
static java.lang.Object[] |
getSlabWithinRange(float min,
float max) |
|
static MeshSurface |
getSphereData(int lvl) |
Calculates the data (faces, vertices, normals) for a sphere.
|
static float |
getSphericalInterpolationFraction(double r,
double valueA,
double valueB,
double d) |
|
Tuple3f[] |
getVertices() |
|
void |
invalidatePolygons() |
|
static MeshSurface |
newMesh(boolean isAlt,
Tuple3f[] vertices,
int vertexCount,
int[][] polygonIndexes,
Tuple3f[] normals,
int nNormals) |
|
static MeshSurface |
newSlab(Point3f[] vertices,
int vertexCount,
float[] vertexValues,
int[][] polygonIndexes,
int polygonCount,
int checkCount) |
|
void |
resetSlab() |
|
protected boolean |
setABC(int i) |
|
void |
setColix(short colix) |
|
void |
setColixBack(short colix) |
|
void |
setPolygonCount(int polygonCount) |
|
void |
setSlab(BitSet bsDisplay,
BitSet bsGhost,
java.lang.String type,
java.lang.String color,
float translucency) |
|
protected void |
slabBrillouin(Point3f[] unitCellVectors) |
|
boolean |
slabPolygons(java.lang.Object[] slabObject,
boolean allowCap) |
|
void |
slabPolygonsList(java.util.List<java.lang.Object[]> slabInfo,
boolean allowCap) |
protected static final int SEED_COUNT
public Vector3f[] spanningVectors
public java.lang.String meshType
public int vertexCount
public Point3f[] vertices
public float[] vertexValues
public int[] vertexSource
public int polygonCount
public int[][] polygonIndexes
public boolean isTriangleSet
public boolean haveQuads
public short colix
public short colixBack
public boolean isColorSolid
public Point3f offset
public Tuple3f[] altVertices
public short[] polygonColixes
public short[] vertexColixes
public Tuple3f[] normals
public Vector3f[] normalsTemp
public int normalCount
public int normixCount
public BitSet bsPolygons
public Matrix4f mat4
public BitSet[] surfaceSet
public int[] vertexSets
public int nSets
protected int iA
protected int iB
protected int iC
public int polygonCount0
public int vertexCount0
public BitSet bsSlabDisplay
public BitSet bsSlabGhost
public int slabMeshType
public short slabColix
public BitSet bsDisplay
public StringXBuilder slabOptions
public int mergeVertexCount0
public int mergePolygonCount0
public boolean isMerged
public static MeshSurface newMesh(boolean isAlt, Tuple3f[] vertices, int vertexCount, int[][] polygonIndexes, Tuple3f[] normals, int nNormals)
public static MeshSurface newSlab(Point3f[] vertices, int vertexCount, float[] vertexValues, int[][] polygonIndexes, int polygonCount, int checkCount)
public Tuple3f[] getVertices()
public int[][] getFaces()
public void setColix(short colix)
public void setColixBack(short colix)
public int addVertexCopy(Point3f vertex)
public void addTriangle(int vertexA, int vertexB, int vertexC)
public void addQuad(int vertexA, int vertexB, int vertexC, int vertexD)
public void setPolygonCount(int polygonCount)
public int addVertexCopyVal(Point3f vertex, float value)
public int addTriangleCheck(int vertexA, int vertexB, int vertexC, int check, int check2, int color)
protected int addPolygonC(int[] polygon, int color, BitSet bs)
public void invalidatePolygons()
protected boolean setABC(int i)
public void setSlab(BitSet bsDisplay, BitSet bsGhost, java.lang.String type, java.lang.String color, float translucency)
public java.lang.String getSlabColor()
public java.lang.String getSlabTranslucency()
public java.lang.String getSlabType()
public static java.lang.Object[] getSlabWithinRange(float min, float max)
public void resetSlab()
public static java.lang.Object[] getSlabObject(int tok, java.lang.Object data, boolean isCap, java.lang.Object colorData)
public static java.lang.Object[] getCapSlabObject(java.lang.String s, boolean isCap)
s
- isCap
- public void slabPolygonsList(java.util.List<java.lang.Object[]> slabInfo, boolean allowCap)
public boolean slabPolygons(java.lang.Object[] slabObject, boolean allowCap)
protected void slabBrillouin(Point3f[] unitCellVectors)
unitCellVectors
- protected int addIntersectionVertex(Point3f vertex, float value, int source, int set, java.util.Map<java.lang.String,java.lang.Integer> mapEdge, int i1, int i2)
protected int addVertexCopy(Point3f vertex, float value, boolean assocNormals, int iNormal)
vertex
- value
- assocNormals
- iNormal
- public void getIntersection(float distance, Point4f plane, Point3f[] ptCenters, java.util.List<Point3f[]> vData, float[] fData, BitSet 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 trianglespublic static float getSphericalInterpolationFraction(double r, double valueA, double valueB, double d)
public static MeshSurface getSphereData(int lvl)