org.jmol.shapebio

Class BioShapeRenderer

abstract class BioShapeRenderer extends MeshRenderer

Field Summary
static intABSOLUTE_MIN_MESH_SIZE
AxisAngle4faa
intaspectRatio
protected BitSetbsVisible
protected short[]colixes
Point3f[]controlHermites
protected Point3f[]controlPoints
protected Point3i[]controlPointScreens
intdiameterBeg
intdiameterEnd
intdiameterMid
booleandoCap0
booleandoCap1
booleanhaveControlPointScreens
inthermiteLevel
booleaninvalidateMesh
booleaninvalidateSheets
intiNext
intiNext2
intiNext3
intiPrev
protected booleanisCarbohydrate
booleanisHighRes
protected booleanisNucleic
booleanisTraceAlpha
protected int[]leadAtomIndices
protected short[]mads
Matrix3fmat
Mesh[]meshes
boolean[]meshReady
protected intmonomerCount
protected Monomer[]monomers
static intMIN_MESH_RENDER_SIZE
Vector3fnorm
Point3fpointT
Point3fpt
Point3fpt1
Point3fptNext
Point3fptPrev
Point3f[]radiusHermites
booleanribbonBorder
protected Point3i[]ribbonBottomScreens
protected Point3i[]ribbonTopScreens
Point3iscreenArrowBot
Point3iscreenArrowBotPrev
Point3iscreenArrowTop
Point3iscreenArrowTopPrev
floatsheetSmoothing
protected byte[]structureTypes
Vector3fwing
Vector3fwing0
Vector3fwing1
Vector3f[]wingHermites
Vector3fwingT
protected Vector3f[]wingVectors
Vector3fZ
Method Summary
voidcalc1Screen(Point3f center, Vector3f vector, short mad, float offset_1000, Point3i screen)
protected voidcalcScreenControlPoints()
protected voidcalcScreenControlPoints(Point3f[] points)
protected Point3i[]calcScreens(float offsetFraction)
calculate screen points based on control points and wing positions (cartoon, strand, meshRibbon, and ribbon)
booleancheckDiameter(int d)
booleancreateMeshCylinder(int i, int madBeg, int madMid, int madEnd, int aspectRatio)
voidfreeTempArrays()
protected shortgetLeadColix(int i)
booleaninitializePolymer(BioShape bioShape)
protected booleanisHelix(int i)
protected voidrender()
protected abstract voidrenderBioShape(BioShape bioShape)
protected voidrenderCone(int i, Point3f pointBegin, Point3f pointEnd, Point3f screenPtBegin, Point3f screenPtEnd)
protected voidrenderHermiteArrowHead(int i)
protected voidrenderHermiteConic(int i, boolean thisTypeOnly)
protected voidrenderHermiteCylinder(Point3i[] screens, int i)
protected voidrenderHermiteRibbon(boolean doFill, int i, boolean thisTypeOnly)
booleansetMads(int i, boolean thisTypeOnly)
voidsetNeighbors(int i)
voidsetStructureTypes()

Field Detail

ABSOLUTE_MIN_MESH_SIZE

private static final int ABSOLUTE_MIN_MESH_SIZE

aa

private final AxisAngle4f aa

aspectRatio

private int aspectRatio

bsVisible

protected BitSet bsVisible

colixes

protected short[] colixes

controlHermites

private Point3f[] controlHermites

controlPoints

protected Point3f[] controlPoints

controlPointScreens

protected Point3i[] controlPointScreens

diameterBeg

private int diameterBeg

diameterEnd

private int diameterEnd

diameterMid

private int diameterMid

doCap0

private boolean doCap0

doCap1

private boolean doCap1

haveControlPointScreens

private boolean haveControlPointScreens

hermiteLevel

private int hermiteLevel

invalidateMesh

private boolean invalidateMesh

invalidateSheets

private boolean invalidateSheets

iNext

private int iNext

iNext2

private int iNext2

iNext3

private int iNext3

iPrev

private int iPrev

isCarbohydrate

protected boolean isCarbohydrate

isHighRes

private boolean isHighRes

isNucleic

protected boolean isNucleic

isTraceAlpha

private boolean isTraceAlpha

leadAtomIndices

protected int[] leadAtomIndices

mads

protected short[] mads

mat

private final Matrix3f mat

meshes

private Mesh[] meshes

meshReady

private boolean[] meshReady

monomerCount

protected int monomerCount

monomers

protected Monomer[] monomers

MIN_MESH_RENDER_SIZE

private static final int MIN_MESH_RENDER_SIZE

norm

private Vector3f norm

pointT

private final Point3f pointT

pt

private final Point3f pt

pt1

private final Point3f pt1

ptNext

private final Point3f ptNext

ptPrev

private final Point3f ptPrev

radiusHermites

private Point3f[] radiusHermites

ribbonBorder

private boolean ribbonBorder

ribbonBottomScreens

protected Point3i[] ribbonBottomScreens

ribbonTopScreens

protected Point3i[] ribbonTopScreens

screenArrowBot

private final Point3i screenArrowBot

screenArrowBotPrev

private final Point3i screenArrowBotPrev

screenArrowTop

private final Point3i screenArrowTop

screenArrowTopPrev

private final Point3i screenArrowTopPrev

sheetSmoothing

private float sheetSmoothing

structureTypes

protected byte[] structureTypes

wing

private final Vector3f wing

wing0

private final Vector3f wing0

wing1

private final Vector3f wing1

wingHermites

private Vector3f[] wingHermites

wingT

private final Vector3f wingT

wingVectors

protected Vector3f[] wingVectors

Z

private final Vector3f Z

Method Detail

calc1Screen

private void calc1Screen(Point3f center, Vector3f vector, short mad, float offset_1000, Point3i screen)

calcScreenControlPoints

protected void calcScreenControlPoints()

calcScreenControlPoints

protected void calcScreenControlPoints(Point3f[] points)

calcScreens

protected Point3i[] calcScreens(float offsetFraction)
calculate screen points based on control points and wing positions (cartoon, strand, meshRibbon, and ribbon)

Parameters: offsetFraction

Returns: Point3i array THAT MUST BE LATER FREED

checkDiameter

private boolean checkDiameter(int d)

createMeshCylinder

private boolean createMeshCylinder(int i, int madBeg, int madMid, int madEnd, int aspectRatio)

freeTempArrays

private void freeTempArrays()

getLeadColix

protected short getLeadColix(int i)

initializePolymer

private boolean initializePolymer(BioShape bioShape)

isHelix

protected boolean isHelix(int i)

render

protected void render()

renderBioShape

protected abstract void renderBioShape(BioShape bioShape)

renderCone

protected void renderCone(int i, Point3f pointBegin, Point3f pointEnd, Point3f screenPtBegin, Point3f screenPtEnd)

renderHermiteArrowHead

protected void renderHermiteArrowHead(int i)

renderHermiteConic

protected void renderHermiteConic(int i, boolean thisTypeOnly)

renderHermiteCylinder

protected void renderHermiteCylinder(Point3i[] screens, int i)

renderHermiteRibbon

protected void renderHermiteRibbon(boolean doFill, int i, boolean thisTypeOnly)

setMads

private boolean setMads(int i, boolean thisTypeOnly)

setNeighbors

private void setNeighbors(int i)

setStructureTypes

private void setStructureTypes()