abstract class BioShapeRenderer extends MeshRenderer
Modifier and Type | Field and Description |
---|---|
private javax.vecmath.AxisAngle4f |
aa |
private static int |
ABSOLUTE_MIN_MESH_SIZE |
private int |
aspectRatio |
private java.util.BitSet |
bsRenderMesh |
private java.util.BitSet |
bsTemp |
protected java.util.BitSet |
bsVisible |
protected short[] |
colixes |
private javax.vecmath.Point3f[] |
controlHermites |
protected javax.vecmath.Point3f[] |
controlPoints |
protected javax.vecmath.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 javax.vecmath.Matrix3f |
mat |
private Mesh[] |
meshes |
private boolean[] |
meshReady |
private static int |
MIN_MESH_RENDER_SIZE |
protected int |
monomerCount |
protected Monomer[] |
monomers |
private javax.vecmath.Vector3f |
norm |
private javax.vecmath.Vector3f |
norml |
private javax.vecmath.Point3f |
pointT |
private javax.vecmath.Point3f |
pt |
private javax.vecmath.Point3f |
pt1 |
private javax.vecmath.Point3f |
ptNext |
private javax.vecmath.Point3f |
ptPrev |
private javax.vecmath.Point3f[] |
radiusHermites |
private boolean |
ribbonBorder |
protected javax.vecmath.Point3i[] |
ribbonBottomScreens |
protected javax.vecmath.Point3i[] |
ribbonTopScreens |
private javax.vecmath.Point3i |
screenArrowBot |
private javax.vecmath.Point3i |
screenArrowBotPrev |
private javax.vecmath.Point3i |
screenArrowTop |
private javax.vecmath.Point3i |
screenArrowTopPrev |
private float |
sheetSmoothing |
protected EnumStructure[] |
structureTypes |
private javax.vecmath.Vector3f |
wing |
private javax.vecmath.Vector3f |
wing1 |
private javax.vecmath.Vector3f[] |
wingHermites |
private javax.vecmath.Vector3f |
wingT |
protected javax.vecmath.Vector3f[] |
wingVectors |
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 |
---|---|
(package private) void |
adjustCartoonSeamNormals(int i,
int nPer)
Matches normals for adjacent mesh sections to create a seamless overall
mesh.
|
private void |
calc1Screen(javax.vecmath.Point3f center,
javax.vecmath.Vector3f vector,
short mad,
float offset_1000,
javax.vecmath.Point3i screen) |
protected void |
calcScreenControlPoints() |
protected void |
calcScreenControlPoints(javax.vecmath.Point3f[] points) |
protected javax.vecmath.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 |
createMesh(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,
javax.vecmath.Point3f pointBegin,
javax.vecmath.Point3f pointEnd,
javax.vecmath.Point3f screenPtBegin,
javax.vecmath.Point3f screenPtEnd) |
protected void |
renderHermiteArrowHead(int i) |
protected void |
renderHermiteConic(int i,
boolean thisTypeOnly) |
protected void |
renderHermiteCylinder(javax.vecmath.Point3i[] screens,
int i) |
protected void |
renderHermiteRibbon(boolean doFill,
int i,
boolean thisTypeOnly) |
private void |
renderMeshes() |
private boolean |
setMads(int i,
boolean thisTypeOnly) |
private void |
setNeighbors(int i) |
private void |
setStructureTypes() |
checkNormals, drawLine, drawTriangle, 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
private java.util.BitSet bsRenderMesh
protected int monomerCount
protected Monomer[] monomers
protected boolean isNucleic
protected boolean isCarbohydrate
protected java.util.BitSet bsVisible
protected javax.vecmath.Point3i[] ribbonTopScreens
protected javax.vecmath.Point3i[] ribbonBottomScreens
protected javax.vecmath.Point3f[] controlPoints
protected javax.vecmath.Point3i[] controlPointScreens
protected int[] leadAtomIndices
protected javax.vecmath.Vector3f[] wingVectors
protected short[] mads
protected short[] colixes
protected EnumStructure[] structureTypes
private final javax.vecmath.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 javax.vecmath.Point3i screenArrowTop
private final javax.vecmath.Point3i screenArrowTopPrev
private final javax.vecmath.Point3i screenArrowBot
private final javax.vecmath.Point3i screenArrowBotPrev
private static final int ABSOLUTE_MIN_MESH_SIZE
private static final int MIN_MESH_RENDER_SIZE
private javax.vecmath.Point3f[] controlHermites
private javax.vecmath.Vector3f[] wingHermites
private javax.vecmath.Point3f[] radiusHermites
private javax.vecmath.Vector3f norm
private final javax.vecmath.Vector3f wing
private final javax.vecmath.Vector3f wing1
private final javax.vecmath.Vector3f wingT
private final javax.vecmath.AxisAngle4f aa
private final javax.vecmath.Point3f pt
private final javax.vecmath.Point3f pt1
private final javax.vecmath.Point3f ptPrev
private final javax.vecmath.Point3f ptNext
private final javax.vecmath.Matrix3f mat
private java.util.BitSet bsTemp
private final javax.vecmath.Vector3f norml
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(javax.vecmath.Point3f[] points)
protected javax.vecmath.Point3i[] calcScreens(float offsetFraction)
offsetFraction
- private void calc1Screen(javax.vecmath.Point3f center, javax.vecmath.Vector3f vector, short mad, float offset_1000, javax.vecmath.Point3i screen)
protected short getLeadColix(int i)
private void setNeighbors(int i)
protected void renderHermiteCylinder(javax.vecmath.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, javax.vecmath.Point3f pointBegin, javax.vecmath.Point3f pointEnd, javax.vecmath.Point3f screenPtBegin, javax.vecmath.Point3f screenPtEnd)
i
- IGNOREDpointBegin
- IGNOREDpointEnd
- IGNOREDscreenPtBegin
- screenPtEnd
- private boolean createMesh(int i, int madBeg, int madMid, int madEnd, int aspectRatio)
void adjustCartoonSeamNormals(int i, int nPer)
i
- nPer
- private void renderMeshes()