org.jmol.g3d

Class Cylinder3D

class Cylinder3D extends Object

Draws shaded cylinders in 3D.

Cylinders are used to draw bonds.

Author: Miguel, miguel@jmol.org

Field Summary
intargbEndcap
shortcolixA
shortcolixB
shortcolixEndcap
floatcosPhi
floatcosTheta
intdiameter
booleandrawBackside
intdxB
floatdxBf
intdyB
floatdyBf
intdzB
floatdzBf
byteendcaps
int[]fp8IntensityUp
Graphics3Dg3d
intintensityEndcap
booleanisScreenedA
booleanisScreenedB
Line3Dline3d
booleannotClipped
floatradius
floatradius2
intrasterCount
int[]shadesA
int[]shadesB
floatsinPhi
booleantEndcapOpen
booleantEvenDiameter
float[]tRaster
float[]txRaster
float[]tyRaster
float[]tzRaster
intxA
floatxAf
intxEndcap
intxMax
intxMin
int[]xRaster
floatxTip
intyA
floatyAf
intyEndcap
intyMax
intyMin
int[]yRaster
floatyTip
intzA
floatzAf
intzEndcap
int[]zRaster
intzShift
floatzTip
intzXMax
intzXMin
Constructor Summary
Cylinder3D(Graphics3D g3d)
Method Summary
intallocRaster(boolean isPrecision)
voidcalcArgbEndcap(boolean tCylinder, boolean isFloat)
voidcalcRotatedPoint(float t, int i, boolean isPrecision)
voidfindMinMaxX(int y)
voidfindMinMaxY()
voidgenerateBaseEllipse()
voidgenerateBaseEllipsePrecisely()
voidinterpolate(int iLower, int iUpper)
voidinterpolatePrecisely(int iLower, int iUpper)
voidplotRaster(int i)
voidplotRasterBits(int i)
voidplotRasterCone(int i, boolean doFill)
int[]realloc(int[] a)
float[]realloc(float[] a)
voidrender(short colixA, short colixB, boolean isScreenedA, boolean isScreenedB, byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)
voidrenderBits(short colixA, short colixB, boolean isScreenedA, boolean isScreenedB, byte endcaps, int diameter, float xA, float yA, float zA, float xB, float yB, float zB)
voidrenderCone(short colix, boolean isScreened, byte endcap, int diameter, float xA, float yA, float zA, float xTip, float yTip, float zTip, boolean doFill)
voidrenderFlatEndcap(boolean tCylinder)
voidrenderFlatEndcapPrecisely(boolean tCylinder)
voidrenderSphericalEndcaps()

Field Detail

argbEndcap

private int argbEndcap

colixA

private short colixA

colixB

private short colixB

colixEndcap

private short colixEndcap

cosPhi

private float cosPhi

cosTheta

private float cosTheta

diameter

private int diameter

drawBackside

private boolean drawBackside

dxB

private int dxB

dxBf

private float dxBf

dyB

private int dyB

dyBf

private float dyBf

dzB

private int dzB

dzBf

private float dzBf

endcaps

private byte endcaps

fp8IntensityUp

int[] fp8IntensityUp

g3d

final Graphics3D g3d

intensityEndcap

private int intensityEndcap

isScreenedA

private boolean isScreenedA

isScreenedB

private boolean isScreenedB

line3d

final Line3D line3d

notClipped

boolean notClipped

radius

private float radius

radius2

private float radius2

rasterCount

int rasterCount

shadesA

private int[] shadesA

shadesB

private int[] shadesB

sinPhi

private float sinPhi

tEndcapOpen

private boolean tEndcapOpen

tEvenDiameter

private boolean tEvenDiameter

tRaster

float[] tRaster

txRaster

float[] txRaster

tyRaster

float[] tyRaster

tzRaster

float[] tzRaster

xA

private int xA

xAf

private float xAf

xEndcap

private int xEndcap

xMax

int xMax

xMin

int xMin

xRaster

int[] xRaster

xTip

float xTip

yA

private int yA

yAf

private float yAf

yEndcap

private int yEndcap

yMax

int yMax

yMin

int yMin

yRaster

int[] yRaster

yTip

float yTip

zA

private int zA

zAf

private float zAf

zEndcap

private int zEndcap

zRaster

int[] zRaster

zShift

private int zShift

zTip

float zTip

zXMax

int zXMax

zXMin

int zXMin

Constructor Detail

Cylinder3D

Cylinder3D(Graphics3D g3d)

Method Detail

allocRaster

private int allocRaster(boolean isPrecision)

calcArgbEndcap

private void calcArgbEndcap(boolean tCylinder, boolean isFloat)

calcRotatedPoint

private void calcRotatedPoint(float t, int i, boolean isPrecision)

findMinMaxX

private void findMinMaxX(int y)

findMinMaxY

private void findMinMaxY()

generateBaseEllipse

private void generateBaseEllipse()

generateBaseEllipsePrecisely

private void generateBaseEllipsePrecisely()

interpolate

private void interpolate(int iLower, int iUpper)

interpolatePrecisely

private void interpolatePrecisely(int iLower, int iUpper)

plotRaster

private void plotRaster(int i)

plotRasterBits

private void plotRasterBits(int i)

plotRasterCone

private void plotRasterCone(int i, boolean doFill)

realloc

private int[] realloc(int[] a)

realloc

private float[] realloc(float[] a)

render

void render(short colixA, short colixB, boolean isScreenedA, boolean isScreenedB, byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)

renderBits

void renderBits(short colixA, short colixB, boolean isScreenedA, boolean isScreenedB, byte endcaps, int diameter, float xA, float yA, float zA, float xB, float yB, float zB)

renderCone

void renderCone(short colix, boolean isScreened, byte endcap, int diameter, float xA, float yA, float zA, float xTip, float yTip, float zTip, boolean doFill)

renderFlatEndcap

private void renderFlatEndcap(boolean tCylinder)

renderFlatEndcapPrecisely

private void renderFlatEndcapPrecisely(boolean tCylinder)

renderSphericalEndcaps

private void renderSphericalEndcaps()