org.jmol.shapebio
abstract class BioShapeRenderer extends MeshRenderer
Modifier and Type | Field and Description |
---|---|
private AxisAngle4f |
aa |
private static int |
ABSOLUTE_MIN_MESH_SIZE |
private int |
aspectRatio |
protected BitSet |
bsVisible |
protected short[] |
colixes |
private Point3f[] |
controlHermites |
protected Point3f[] |
controlPoints |
protected Point3i[] |
controlPointScreens |
private int |
diameterBeg |
private int |
diameterEnd |
private int |
diameterMid |
private boolean |
doCap0 |
private boolean |
doCap1 |
private boolean |
haveControlPointScreens |
private int |
hermiteLevel |
private int |
iNext |
private int |
iNext2 |
private int |
iNext3 |
private boolean |
invalidateMesh |
private boolean |
invalidateSheets |
private int |
iPrev |
protected boolean |
isCarbohydrate |
private boolean |
isHighRes |
protected boolean |
isNucleic |
private boolean |
isTraceAlpha |
protected int[] |
leadAtomIndices |
protected short[] |
mads |
private Matrix3f |
mat |
private Mesh[] |
meshes |
private boolean[] |
meshReady |
private static int |
MIN_MESH_RENDER_SIZE |
protected int |
monomerCount |
protected Monomer[] |
monomers |
private Vector3f |
norm |
private Point3f |
pointT |
private Point3f |
pt |
private Point3f |
pt1 |
private Point3f |
ptNext |
private Point3f |
ptPrev |
private Point3f[] |
radiusHermites |
private boolean |
ribbonBorder |
protected Point3i[] |
ribbonBottomScreens |
protected Point3i[] |
ribbonTopScreens |
private Point3i |
screenArrowBot |
private Point3i |
screenArrowBotPrev |
private Point3i |
screenArrowTop |
private Point3i |
screenArrowTopPrev |
private float |
sheetSmoothing |
protected EnumStructure[] |
structureTypes |
private Vector3f |
wing |
private Vector3f |
wing0 |
private Vector3f |
wing1 |
private Vector3f[] |
wingHermites |
private Vector3f |
wingT |
protected Vector3f[] |
wingVectors |
private Vector3f |
Z |
antialias, bsPolygons, bsSlab, diameter, exportPass, frontOnly, haveBsDisplay, haveBsSlabDisplay, haveBsSlabGhost, imageFontScaling, isTranslucent, latticeOffset, mesh, normixes, pt1f, pt1i, pt2f, pt2i, pt3i, scalePixelsPerMicron, screens, thePlane, transformedVectors, vertexCount, vertices, volumeRender, width
colix, exportType, g3d, isExport, mad, madBeg, madEnd, madMid, modelSet, myVisibilityFlag, shape, shapeID, viewer
Constructor and Description |
---|
BioShapeRenderer() |
Modifier and Type | Method and Description |
---|---|
private void |
calc1Screen(Point3f center,
Vector3f vector,
short mad,
float offset_1000,
Point3i screen) |
protected void |
calcScreenControlPoints() |
protected void |
calcScreenControlPoints(Point3f[] points) |
protected Point3i[] |
calcScreens(float offsetFraction)
calculate screen points based on control points and wing positions
(cartoon, strand, meshRibbon, and ribbon)
|
private boolean |
checkDiameter(int d) |
private boolean |
createMeshCylinder(int i,
int madBeg,
int madMid,
int madEnd,
int aspectRatio) |
private void |
freeTempArrays() |
protected short |
getLeadColix(int i) |
private boolean |
initializePolymer(BioShape bioShape) |
protected boolean |
isHelix(int i) |
protected void |
render() |
protected abstract void |
renderBioShape(BioShape bioShape) |
protected void |
renderCone(int i,
Point3f pointBegin,
Point3f pointEnd,
Point3f screenPtBegin,
Point3f screenPtEnd) |
protected void |
renderHermiteArrowHead(int i) |
protected void |
renderHermiteConic(int i,
boolean thisTypeOnly) |
protected void |
renderHermiteCylinder(Point3i[] screens,
int i) |
protected void |
renderHermiteRibbon(boolean doFill,
int i,
boolean thisTypeOnly) |
private boolean |
setMads(int i,
boolean thisTypeOnly) |
private void |
setNeighbors(int i) |
private void |
setStructureTypes() |
checkNormals, drawLine, exportSurface, isPolygonDisplayable, render1, render2, renderPoints, renderTriangles, setColix
initRenderer, render, setViewerG3dShapeID
private boolean invalidateMesh
private boolean invalidateSheets
private boolean isHighRes
private boolean isTraceAlpha
private boolean ribbonBorder
private boolean haveControlPointScreens
private int aspectRatio
private int hermiteLevel
private float sheetSmoothing
private Mesh[] meshes
private boolean[] meshReady
protected int monomerCount
protected Monomer[] monomers
protected boolean isNucleic
protected boolean isCarbohydrate
protected BitSet bsVisible
protected Point3i[] ribbonTopScreens
protected Point3i[] ribbonBottomScreens
protected Point3f[] controlPoints
protected Point3i[] controlPointScreens
protected int[] leadAtomIndices
protected Vector3f[] wingVectors
protected short[] mads
protected short[] colixes
protected EnumStructure[] structureTypes
private final Point3f pointT
private int iPrev
private int iNext
private int iNext2
private int iNext3
private int diameterBeg
private int diameterMid
private int diameterEnd
private boolean doCap0
private boolean doCap1
private final Point3i screenArrowTop
private final Point3i screenArrowTopPrev
private final Point3i screenArrowBot
private final Point3i screenArrowBotPrev
private static final int ABSOLUTE_MIN_MESH_SIZE
private static final int MIN_MESH_RENDER_SIZE
private Point3f[] controlHermites
private Vector3f[] wingHermites
private Point3f[] radiusHermites
private Vector3f norm
private final Vector3f Z
private final Vector3f wing
private final Vector3f wing0
private final Vector3f wing1
private final Vector3f wingT
private final AxisAngle4f aa
private final Point3f pt
private final Point3f pt1
private final Point3f ptPrev
private final Point3f ptNext
private final Matrix3f mat
protected abstract void renderBioShape(BioShape bioShape)
protected void render()
render
in class MeshRenderer
private void freeTempArrays()
private boolean initializePolymer(BioShape bioShape)
private void setStructureTypes()
protected boolean isHelix(int i)
protected void calcScreenControlPoints()
protected void calcScreenControlPoints(Point3f[] points)
protected Point3i[] calcScreens(float offsetFraction)
offsetFraction
- private void calc1Screen(Point3f center, Vector3f vector, short mad, float offset_1000, Point3i screen)
protected short getLeadColix(int i)
private void setNeighbors(int i)
protected void renderHermiteCylinder(Point3i[] screens, int i)
private boolean setMads(int i, boolean thisTypeOnly)
private boolean checkDiameter(int d)
protected void renderHermiteConic(int i, boolean thisTypeOnly)
protected void renderHermiteRibbon(boolean doFill, int i, boolean thisTypeOnly)
protected void renderHermiteArrowHead(int i)
protected void renderCone(int i, Point3f pointBegin, Point3f pointEnd, Point3f screenPtBegin, Point3f screenPtEnd)
i
- IGNOREDpointBegin
- IGNOREDpointEnd
- IGNOREDscreenPtBegin
- screenPtEnd
- private boolean createMeshCylinder(int i, int madBeg, int madMid, int madEnd, int aspectRatio)