org.jmol.util
Modifier and Type | Field and Description |
---|---|
Tuple3f[] |
altVertices |
BitSet |
bsDisplay |
BitSet |
bsPolygons |
BitSet |
bsSlabDisplay |
BitSet |
bsSlabGhost |
private int |
checkCount |
short |
colix |
private boolean |
doCap |
private boolean |
doClear |
private boolean |
doGhost |
boolean |
haveQuads |
protected int |
iA |
protected int |
iB |
protected int |
iC |
private int |
iD |
private int |
iE |
boolean |
isColorSolid |
boolean |
isMerged |
private short |
lastColix |
private int |
lastColor |
int |
mergePolygonCount0 |
int |
mergeVertexCount0 |
String |
meshType |
int |
normalCount |
Tuple3f[] |
normals |
int |
nSets |
Point3f |
offset |
short[] |
polygonColixes |
int |
polygonCount |
int |
polygonCount0 |
int[][] |
polygonIndexes |
Point3f |
ptOffset |
float |
scale3d |
protected static int |
SEED_COUNT |
short |
slabColix |
int |
slabMeshType |
StringBuffer |
slabOptions |
BitSet[] |
surfaceSet |
short[] |
vertexColixes |
int |
vertexCount |
int |
vertexCount0 |
int[] |
vertexSets |
int[] |
vertexSource |
float[] |
vertexValues |
Point3f[] |
vertices |
Constructor and Description |
---|
MeshSurface() |
MeshSurface(int[][] polygonIndexes,
Tuple3f[] vertices,
int nVertices,
Tuple3f[] normals,
int nNormals) |
MeshSurface(Point3f[] vertices,
float[] vertexValues,
int vertexCount,
int[][] polygonIndexes,
int polygonCount,
int checkCount) |
Modifier and Type | Method and Description |
---|---|
private int |
addIntersectionVertex(Point3f vertex,
float value,
int source,
Map<String,Integer> mapEdge,
int i1,
int i2) |
private int |
addPolygon(int[] polygon,
BitSet bs) |
private int |
addPolygon(int[] polygon,
int color,
BitSet bs) |
private int |
addPolygon(int vertexA,
int vertexB,
int vertexC,
int check,
int check2,
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) |
int |
addVertexCopy(Point3f vertex,
float value) |
private static float |
checkSlab(int tokType,
Point3f v,
float val,
float distance,
Point4f plane,
Point3f[] ptCenters) |
static Object[] |
getCapSlabObject(String s,
boolean isCap)
legacy -- for some scripts with early isosurface slabbing
|
private boolean |
getDE(float[] fracs,
int fD,
int i1,
int i2,
int i3,
boolean toss23) |
int[][] |
getFaces() |
void |
getIntersection(float distance,
Point4f plane,
Point3f[] ptCenters,
List<Point3f[]> vData,
float[] fData,
MeshSurface meshSurface,
boolean andCap,
boolean doClean,
int tokType,
boolean isGhost) |
String |
getSlabColor() |
static Object[] |
getSlabObject(int tok,
Object data,
boolean isCap,
Object colorData) |
String |
getSlabTranslucency() |
String |
getSlabType() |
static Object[] |
getSlabWithinRange(float min,
float max) |
static float |
getSphericalInterpolationFraction(double r,
double valueA,
double valueB,
double d) |
Tuple3f[] |
getVertices() |
private static Point3f |
interpolateFraction(Point3f v1,
Point3f v2,
float f,
float val1,
float val2,
float[] values,
float[] fracs,
int i) |
private static Point3f |
interpolatePoint(Point3f v1,
Point3f v2,
float d1,
float d2,
float val1,
float val2,
float[] values,
float[] fracs,
int i) |
private Point3f |
interpolateSphere(Point3f v1,
Point3f v2,
float d1,
float d2,
double absD,
float val1,
float val2,
float[] values,
float[] fracs,
int i) |
void |
invalidatePolygons() |
private static float |
minDist(Point3f pt,
Point3f[] ptCenters) |
void |
resetSlab() |
protected boolean |
setABC(int i) |
void |
setColix(short colix) |
private static int |
setPoint(float[] fracs,
int i,
int i0,
int i1) |
private void |
setPolygonColix(int index,
short colix) |
void |
setPolygonCount(int polygonCount) |
void |
setSlab(BitSet bsDisplay,
BitSet bsGhost,
String type,
String color,
float translucency) |
void |
slabPolygons(List<Object[]> slabInfo,
boolean allowCap) |
boolean |
slabPolygons(Object[] slabObject,
boolean allowCap) |
protected static final int SEED_COUNT
public String meshType
public int vertexCount
public Point3f[] vertices
public float[] vertexValues
public int[] vertexSource
public int polygonCount
public int[][] polygonIndexes
public boolean haveQuads
public short colix
public boolean isColorSolid
public Point3f offset
public Tuple3f[] altVertices
public short[] polygonColixes
public short[] vertexColixes
public Tuple3f[] normals
public int normalCount
public BitSet bsPolygons
public Point3f ptOffset
public float scale3d
public BitSet[] surfaceSet
public int[] vertexSets
public int nSets
private int checkCount
private int lastColor
private short lastColix
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 StringBuffer slabOptions
private boolean doClear
private boolean doGhost
private boolean doCap
private int iD
private int iE
public int mergeVertexCount0
public int mergePolygonCount0
public boolean isMerged
public MeshSurface()
public MeshSurface(int[][] polygonIndexes, Tuple3f[] vertices, int nVertices, Tuple3f[] normals, int nNormals)
public MeshSurface(Point3f[] vertices, float[] vertexValues, int vertexCount, int[][] polygonIndexes, int polygonCount, int checkCount)
public Tuple3f[] getVertices()
public int[][] getFaces()
public void setColix(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 addVertexCopy(Point3f vertex, float value)
public int addTriangleCheck(int vertexA, int vertexB, int vertexC, int check, int check2, int color)
private int addPolygon(int vertexA, int vertexB, int vertexC, int check, int check2, int color, BitSet bs)
private int addPolygon(int[] polygon, int color, BitSet bs)
private int addPolygon(int[] polygon, BitSet bs)
private void setPolygonColix(int index, short colix)
public void invalidatePolygons()
protected boolean setABC(int i)
public void setSlab(BitSet bsDisplay, BitSet bsGhost, String type, String color, float translucency)
public String getSlabColor()
public String getSlabTranslucency()
public String getSlabType()
public static Object[] getSlabWithinRange(float min, float max)
public void resetSlab()
public static Object[] getSlabObject(int tok, Object data, boolean isCap, Object colorData)
public static Object[] getCapSlabObject(String s, boolean isCap)
s
- isCap
- public boolean slabPolygons(Object[] slabObject, boolean allowCap)
private int addIntersectionVertex(Point3f vertex, float value, int source, Map<String,Integer> mapEdge, int i1, int i2)
public void getIntersection(float distance, Point4f plane, Point3f[] ptCenters, List<Point3f[]> vData, float[] fData, 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 overlaymeshSurface
- 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 static int setPoint(float[] fracs, int i, int i0, int i1)
private boolean getDE(float[] fracs, int fD, int i1, int i2, int i3, boolean toss23)
private static float checkSlab(int tokType, Point3f v, float val, float distance, Point4f plane, Point3f[] ptCenters)
private Point3f interpolateSphere(Point3f v1, Point3f v2, float d1, float d2, double absD, float val1, float val2, float[] values, float[] fracs, int i)
private static Point3f interpolatePoint(Point3f v1, Point3f v2, float d1, float d2, float val1, float val2, float[] values, float[] fracs, int i)
private static Point3f interpolateFraction(Point3f v1, Point3f v2, float f, float val1, float val2, float[] values, float[] fracs, int i)
public static float getSphericalInterpolationFraction(double r, double valueA, double valueB, double d)