org.jmol.g3d

Class Normix3D

class Normix3D extends Object

Provides quantization of normalized vectors so that shading for lighting calculations can be handled by a simple index lookup

A 'normix' is a normal index, represented as a short

Author: Miguel, miguel@jmol.org

Field Summary
BitSetbsConsidered
static booleanDEBUG_FACE_VECTORS
static booleanDEBUG_WITH_SEQUENTIAL_SEARCH
static short[][]faceNormixesArrays
static short[][]faceVertexesArrays
byte[]intensities
byte[]intensities2Sided
short[]inverseNormixes
static short[][]neighborVertexesArrays
static intnormixCount
static intNORMIX_GEODESIC_LEVEL
Matrix3frotationMatrix
Vector3f[]transformedVectors
static booleanTIMINGS
static Vector3f[]vertexVectors
Constructor Summary
Normix3D()
Method Summary
short[]calcFaceNormixes(int level)
voidcalculateInverseNormixes()
static doubledist2(Vector3f v1, Vector3f v2)
static doubledist2(Vector3f v1, double x, double y, double z)
short[]getFaceNormixes(int level)
bytegetIntensity(short normix)
shortgetNormix(Vector3f v)
shortgetNormix(double x, double y, double z, int geodesicLevel)
Vector3f[]getTransformedVectors()
Vector3fgetVector(short normix)
booleanisDirectedTowardsCamera(short normix)
voidsetRotationMatrix(Matrix3f rotationMatrix)

Field Detail

bsConsidered

final BitSet bsConsidered

DEBUG_FACE_VECTORS

private static final boolean DEBUG_FACE_VECTORS

DEBUG_WITH_SEQUENTIAL_SEARCH

private static final boolean DEBUG_WITH_SEQUENTIAL_SEARCH

faceNormixesArrays

private static short[][] faceNormixesArrays

faceVertexesArrays

private static final short[][] faceVertexesArrays

intensities

private final byte[] intensities

intensities2Sided

private final byte[] intensities2Sided

inverseNormixes

short[] inverseNormixes

neighborVertexesArrays

private static final short[][] neighborVertexesArrays

normixCount

private static final int normixCount

NORMIX_GEODESIC_LEVEL

static final int NORMIX_GEODESIC_LEVEL

rotationMatrix

private final Matrix3f rotationMatrix

transformedVectors

private final Vector3f[] transformedVectors

TIMINGS

private static final boolean TIMINGS

vertexVectors

private static final Vector3f[] vertexVectors

Constructor Detail

Normix3D

Normix3D()

Method Detail

calcFaceNormixes

private short[] calcFaceNormixes(int level)

calculateInverseNormixes

void calculateInverseNormixes()

dist2

static double dist2(Vector3f v1, Vector3f v2)

dist2

static double dist2(Vector3f v1, double x, double y, double z)

getFaceNormixes

short[] getFaceNormixes(int level)

getIntensity

byte getIntensity(short normix)

getNormix

short getNormix(Vector3f v)

getNormix

short getNormix(double x, double y, double z, int geodesicLevel)

getTransformedVectors

Vector3f[] getTransformedVectors()

getVector

Vector3f getVector(short normix)

isDirectedTowardsCamera

boolean isDirectedTowardsCamera(short normix)

setRotationMatrix

void setRotationMatrix(Matrix3f rotationMatrix)