class Cylinder3D
extends java.lang.Object
Draws shaded cylinders in 3D.
Cylinders are used to draw bonds.
Modifier and Type | Field and Description |
---|---|
private int |
argbEndcap |
(package private) boolean |
clipped |
private short |
colixA |
private short |
colixB |
private short |
colixEndcap |
private float |
cosPhi |
private float |
cosTheta |
private int |
diameter |
private boolean |
drawBackside |
private int |
dxB |
private float |
dxBf |
private int |
dyB |
private float |
dyBf |
private int |
dzB |
private float |
dzBf |
private byte |
endcaps |
private int |
endcapShadeIndex |
(package private) int[] |
fp8ShadeIndexUp |
(package private) Graphics3D |
g3d |
private boolean |
isScreenedA |
private boolean |
isScreenedB |
(package private) Line3D |
line3d |
private float |
radius |
private float |
radius2 |
(package private) int |
rasterCount |
private int[] |
shadesA |
private int[] |
shadesB |
private float |
sinPhi |
private boolean |
tEndcapOpen |
private boolean |
tEvenDiameter |
(package private) float[] |
tRaster |
(package private) float[] |
txRaster |
(package private) float[] |
tyRaster |
(package private) float[] |
tzRaster |
private int |
xA |
private float |
xAf |
private int |
xEndcap |
(package private) int |
xMax |
(package private) int |
xMin |
(package private) int[] |
xRaster |
(package private) float |
xTip |
private int |
yA |
private float |
yAf |
private int |
yEndcap |
(package private) int |
yMax |
(package private) int |
yMin |
(package private) int[] |
yRaster |
(package private) float |
yTip |
private int |
zA |
private float |
zAf |
private int |
zEndcap |
(package private) int[] |
zRaster |
(package private) float |
zTip |
(package private) int |
zXMax |
(package private) int |
zXMin |
Constructor and Description |
---|
Cylinder3D(Graphics3D g3d) |
Modifier and Type | Method and Description |
---|---|
private int |
allocRaster(boolean isPrecision) |
private void |
calcArgbEndcap(boolean tCylinder,
boolean isFloat) |
private void |
calcRotatedPoint(float t,
int i,
boolean isPrecision) |
private void |
findMinMaxX(int y) |
private void |
findMinMaxY() |
private void |
generateBaseEllipse() |
private void |
generateBaseEllipsePrecisely() |
private void |
interpolate(int iLower,
int iUpper) |
private void |
interpolatePrecisely(int iLower,
int iUpper) |
private void |
plotRaster(int i) |
private void |
plotRasterBits(int i) |
private void |
plotRasterCone(int i,
boolean doFill) |
private float[] |
realloc(float[] a) |
private int[] |
realloc(int[] a) |
(package private) 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) |
(package private) 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) |
(package private) void |
renderCone(short colix,
boolean isScreened,
byte endcap,
int diameter,
float xA,
float yA,
float zA,
float xTip,
float yTip,
float zTip,
boolean doFill) |
private void |
renderFlatEndcap(boolean tCylinder) |
private void |
renderFlatEndcapPrecisely(boolean tCylinder) |
private void |
renderSphericalEndcaps() |
final Graphics3D g3d
final Line3D line3d
private short colixA
private short colixB
private int[] shadesA
private boolean isScreenedA
private int[] shadesB
private boolean isScreenedB
private int xA
private int yA
private int zA
private int dxB
private int dyB
private int dzB
private float xAf
private float yAf
private float zAf
private float dxBf
private float dyBf
private float dzBf
private boolean tEvenDiameter
private int diameter
private byte endcaps
private boolean tEndcapOpen
private int xEndcap
private int yEndcap
private int zEndcap
private int argbEndcap
private short colixEndcap
private int endcapShadeIndex
private float radius
private float radius2
private float cosTheta
private float cosPhi
private float sinPhi
boolean clipped
private boolean drawBackside
float xTip
float yTip
float zTip
int rasterCount
float[] tRaster
float[] txRaster
float[] tyRaster
float[] tzRaster
int[] xRaster
int[] yRaster
int[] zRaster
int[] fp8ShadeIndexUp
int yMin
int yMax
int xMin
int xMax
int zXMin
int zXMax
Cylinder3D(Graphics3D g3d)
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)
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)
private void plotRasterBits(int i)
void renderCone(short colix, boolean isScreened, byte endcap, int diameter, float xA, float yA, float zA, float xTip, float yTip, float zTip, boolean doFill)
private void generateBaseEllipse()
private void generateBaseEllipsePrecisely()
private void calcRotatedPoint(float t, int i, boolean isPrecision)
private void interpolate(int iLower, int iUpper)
private void interpolatePrecisely(int iLower, int iUpper)
private void plotRaster(int i)
private int[] realloc(int[] a)
private float[] realloc(float[] a)
private int allocRaster(boolean isPrecision)
private void findMinMaxY()
private void findMinMaxX(int y)
private void renderFlatEndcap(boolean tCylinder)
private void renderFlatEndcapPrecisely(boolean tCylinder)
private void renderSphericalEndcaps()
private void plotRasterCone(int i, boolean doFill)
private void calcArgbEndcap(boolean tCylinder, boolean isFloat)