abstract class BioShapeRenderer extends MeshRenderer
Modifier and Type | Field and Description |
---|---|
private javajs.util.A4 |
aa |
private static int |
ABSOLUTE_MIN_MESH_SIZE |
private float |
aspectRatio |
private BS |
bsRenderMesh |
private BS |
bsTemp |
protected BS |
bsVisible |
protected boolean |
cartoonsFancy |
protected short |
colixBack |
protected short[] |
colixes |
protected short[] |
colixesBack |
private javajs.util.P3[] |
controlHermites |
protected javajs.util.P3[] |
controlPoints |
protected javajs.util.P3i[] |
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 |
protected boolean |
isPass2 |
private boolean |
isTraceAlpha |
protected int[] |
leadAtomIndices |
protected short[] |
mads |
private javajs.util.M3 |
mat |
private Mesh[] |
meshes |
private boolean[] |
meshReady |
private static int |
MIN_MESH_RENDER_SIZE |
private static int |
MODE_ELLIPTICAL |
private static int |
MODE_FLAT |
private static int |
MODE_NONELLIPTICAL |
private static int |
MODE_TUBE |
protected int |
monomerCount |
protected Monomer[] |
monomers |
private javajs.util.V3 |
norm |
private javajs.util.V3 |
norml |
private javajs.util.P3 |
pointT |
private javajs.util.P3 |
pt |
private javajs.util.P3 |
pt1 |
private javajs.util.P3 |
ptNext |
private javajs.util.P3 |
ptPrev |
private javajs.util.P3[] |
radiusHermites |
private BS |
reversed |
private boolean |
ribbonBorder |
protected javajs.util.P3i[] |
ribbonBottomScreens |
protected javajs.util.P3i[] |
ribbonTopScreens |
private javajs.util.P3i |
screenArrowBot |
private javajs.util.P3i |
screenArrowBotPrev |
private javajs.util.P3i |
screenArrowTop |
private javajs.util.P3i |
screenArrowTopPrev |
private float |
sheetSmoothing |
protected STR[] |
structureTypes |
private javajs.util.V3 |
wing |
private javajs.util.V3 |
wing1 |
private javajs.util.V3[] |
wingHermites |
private javajs.util.V3 |
wingT |
protected javajs.util.V3[] |
wingVectors |
protected boolean |
wireframeOnly |
antialias, bsPolygons, bsPolygonsToExport, diameter, exportPass, frontOnly, haveBsDisplay, imageFontScaling, isGhostPass, isTranslucent, isTranslucentInherit, latticeOffset, mesh, meshSlabValue, needTranslucent, normixes, pt1f, pt1i, pt2f, pt2i, pt3i, renderLow, scalePixelsPerMicron, screens, selectedPolyOnly, thePlane, transformedVectors, vertexCount, vertices, volumeRender, width
colix, exportType, g3d, isExport, mad, madBeg, madEnd, madMid, ms, myVisibilityFlag, shape, shapeID, tm, vwr
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(javajs.util.P3 center,
javajs.util.V3 vector,
short mad,
float offset_1000,
javajs.util.P3i screen) |
protected void |
calcScreenControlPoints() |
protected javajs.util.P3i[] |
calcScreens(float offsetFraction,
short[] mads)
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,
float aspectRatio,
int tension)
Cartoon meshes are triangulated objects.
|
private void |
freeTempArrays() |
protected short |
getLeadColix(int i) |
protected short |
getLeadColixBack(int i) |
private boolean |
initializePolymer(BioShape bioShape) |
protected boolean |
render() |
protected abstract void |
renderBioShape(BioShape bioShape) |
protected void |
renderHermiteArrowHead(int i) |
protected void |
renderHermiteConic(int i,
boolean thisTypeOnly,
int tension) |
protected void |
renderHermiteCylinder(javajs.util.P3i[] screens,
int i) |
protected void |
renderHermiteRibbon(boolean doFill,
int i,
boolean thisTypeOnly) |
private void |
renderMeshes() |
private void |
renderShapes() |
protected boolean |
setBioColix(short colix) |
private void |
setGlobals() |
private boolean |
setMads(int i,
boolean thisTypeOnly)
set diameters for a bioshape
|
private void |
setNeighbors(int i) |
private void |
setStructureTypes() |
checkNormals, drawLine, drawTriangle, exportSurface, isPolygonDisplayable, render2, render2b, renderMesh, renderMesh2, renderPoints, renderTriangles, setColix
initRenderer, isVisibleForMe, renderShape, setViewerG3dShapeID
private boolean invalidateMesh
private boolean invalidateSheets
private boolean isHighRes
private boolean isTraceAlpha
private boolean ribbonBorder
private boolean haveControlPointScreens
private float aspectRatio
private int hermiteLevel
private float sheetSmoothing
protected boolean cartoonsFancy
private Mesh[] meshes
private boolean[] meshReady
private BS bsRenderMesh
protected int monomerCount
protected Monomer[] monomers
protected boolean isNucleic
protected boolean isCarbohydrate
protected BS bsVisible
protected javajs.util.P3i[] ribbonTopScreens
protected javajs.util.P3i[] ribbonBottomScreens
protected javajs.util.P3[] controlPoints
protected javajs.util.P3i[] controlPointScreens
protected int[] leadAtomIndices
protected javajs.util.V3[] wingVectors
protected short[] mads
protected short[] colixes
protected short[] colixesBack
protected STR[] structureTypes
protected boolean isPass2
protected boolean wireframeOnly
private final javajs.util.P3 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
protected short colixBack
private BS reversed
private final javajs.util.P3i screenArrowTop
private final javajs.util.P3i screenArrowTopPrev
private final javajs.util.P3i screenArrowBot
private final javajs.util.P3i screenArrowBotPrev
private static final int ABSOLUTE_MIN_MESH_SIZE
private static final int MIN_MESH_RENDER_SIZE
private javajs.util.P3[] controlHermites
private javajs.util.V3[] wingHermites
private javajs.util.P3[] radiusHermites
private javajs.util.V3 norm
private final javajs.util.V3 wing
private final javajs.util.V3 wing1
private final javajs.util.V3 wingT
private final javajs.util.A4 aa
private final javajs.util.P3 pt
private final javajs.util.P3 pt1
private final javajs.util.P3 ptPrev
private final javajs.util.P3 ptNext
private final javajs.util.M3 mat
private static final int MODE_TUBE
private static final int MODE_FLAT
private static final int MODE_ELLIPTICAL
private static final int MODE_NONELLIPTICAL
private BS bsTemp
private final javajs.util.V3 norml
protected abstract void renderBioShape(BioShape bioShape)
protected boolean render()
render
in class MeshRenderer
private void setGlobals()
private void renderShapes()
protected boolean setBioColix(short colix)
private void freeTempArrays()
private boolean initializePolymer(BioShape bioShape)
private void setStructureTypes()
protected void calcScreenControlPoints()
protected javajs.util.P3i[] calcScreens(float offsetFraction, short[] mads)
offsetFraction
- mads
- private void calc1Screen(javajs.util.P3 center, javajs.util.V3 vector, short mad, float offset_1000, javajs.util.P3i screen)
protected short getLeadColix(int i)
protected short getLeadColixBack(int i)
private void setNeighbors(int i)
private boolean setMads(int i, boolean thisTypeOnly)
i
- thisTypeOnly
- true for Cartoon but not MeshRibbonprivate boolean checkDiameter(int d)
protected void renderHermiteCylinder(javajs.util.P3i[] screens, int i)
protected void renderHermiteConic(int i, boolean thisTypeOnly, int tension)
protected void renderHermiteRibbon(boolean doFill, int i, boolean thisTypeOnly)
doFill
- i
- thisTypeOnly
- true for Cartoon but not MeshRibbonprotected void renderHermiteArrowHead(int i)
private boolean createMesh(int i, int madBeg, int madMid, int madEnd, float aspectRatio, int tension)
i
- madBeg
- madMid
- madEnd
- aspectRatio
- tension
- void adjustCartoonSeamNormals(int i, int nPer)
i
- nPer
- private void renderMeshes()