org.jmol.g3d
Class Cylinder3D

java.lang.Object
  extended by org.jmol.g3d.Cylinder3D

 class Cylinder3D
extends java.lang.Object

Draws shaded cylinders in 3D.

Cylinders are used to draw bonds.

Author:
Miguel, miguel@jmol.org

Field Summary
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 Summary
Cylinder3D(Graphics3D g3d)
           
 
Method Summary
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(boolean isBarb)
           
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, boolean isBarb)
           
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, boolean isBarb)
           
private  void renderFlatEndcap(boolean tCylinder)
           
private  void renderFlatEndcapPrecisely(boolean tCylinder)
           
private  void renderSphericalEndcaps()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

g3d

final Graphics3D g3d

line3d

final Line3D line3d

colixA

private short colixA

colixB

private short colixB

shadesA

private int[] shadesA

isScreenedA

private boolean isScreenedA

shadesB

private int[] shadesB

isScreenedB

private boolean isScreenedB

xA

private int xA

yA

private int yA

zA

private int zA

dxB

private int dxB

dyB

private int dyB

dzB

private int dzB

xAf

private float xAf

yAf

private float yAf

zAf

private float zAf

dxBf

private float dxBf

dyBf

private float dyBf

dzBf

private float dzBf

tEvenDiameter

private boolean tEvenDiameter

diameter

private int diameter

endcaps

private byte endcaps

tEndcapOpen

private boolean tEndcapOpen

xEndcap

private int xEndcap

yEndcap

private int yEndcap

zEndcap

private int zEndcap

argbEndcap

private int argbEndcap

colixEndcap

private short colixEndcap

endcapShadeIndex

private int endcapShadeIndex

radius

private float radius

radius2

private float radius2

cosTheta

private float cosTheta

cosPhi

private float cosPhi

sinPhi

private float sinPhi

clipped

boolean clipped

drawBackside

private boolean drawBackside

xTip

float xTip

yTip

float yTip

zTip

float zTip

rasterCount

int rasterCount

tRaster

float[] tRaster

txRaster

float[] txRaster

tyRaster

float[] tyRaster

tzRaster

float[] tzRaster

xRaster

int[] xRaster

yRaster

int[] yRaster

zRaster

int[] zRaster

fp8ShadeIndexUp

int[] fp8ShadeIndexUp

yMin

int yMin

yMax

int yMax

xMin

int xMin

xMax

int xMax

zXMin

int zXMin

zXMax

int zXMax
Constructor Detail

Cylinder3D

Cylinder3D(Graphics3D g3d)
Method Detail

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)

plotRasterBits

private void plotRasterBits(int i)

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,
                boolean isBarb)

generateBaseEllipse

private void generateBaseEllipse()

generateBaseEllipsePrecisely

private void generateBaseEllipsePrecisely(boolean isBarb)

calcRotatedPoint

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

interpolate

private void interpolate(int iLower,
                         int iUpper)

interpolatePrecisely

private void interpolatePrecisely(int iLower,
                                  int iUpper)

plotRaster

private void plotRaster(int i)

realloc

private int[] realloc(int[] a)

realloc

private float[] realloc(float[] a)

allocRaster

private int allocRaster(boolean isPrecision)

findMinMaxY

private void findMinMaxY()

findMinMaxX

private void findMinMaxX(int y)

renderFlatEndcap

private void renderFlatEndcap(boolean tCylinder)

renderFlatEndcapPrecisely

private void renderFlatEndcapPrecisely(boolean tCylinder)

renderSphericalEndcaps

private void renderSphericalEndcaps()

plotRasterCone

private void plotRasterCone(int i,
                            boolean doFill,
                            boolean isBarb)

calcArgbEndcap

private void calcArgbEndcap(boolean tCylinder,
                            boolean isFloat)