public final class Graphics3D extends GData implements JmolRendererInterface
A pure software implementation of a 3D graphics engine. No hardware required. Depending upon what you are rendering ... some people say it is pretty fast.
Modifier and Type | Field and Description |
---|---|
private boolean |
aap
add all pixels
|
private byte[] |
anaglyphChannelBytes |
private int |
anaglyphLength |
private boolean |
antialias2 |
private int[] |
aobuf |
private int |
argbNoisyDn |
private int |
argbNoisyUp |
private G3DRenderer |
circle3d |
private javajs.awt.Font |
currentFont |
private boolean |
currentlyRendering |
private int |
currentShadeIndex |
private CylinderRenderer |
cylinder3d |
private boolean |
haveTranslucentObjects |
private G3DRenderer |
hermite3d |
private boolean |
isFullSceneAntialiasingEnabled |
private boolean |
isScreened |
private int |
lastRawColor |
(package private) LineRenderer |
line3d |
private static short |
normixCount |
private static byte |
nullShadeIndex |
protected int[] |
pbuf |
protected int[] |
pbufT |
private Pixelator |
pixel |
(package private) Platform3D |
platform |
private boolean |
renderLow |
private int |
saveAmbient |
private int |
saveDiffuse |
private byte[] |
shadeIndexes |
private byte[] |
shadeIndexes2Sided |
private int[] |
shadesCurrent |
static java.util.Comparator<TextString> |
sort |
private SphereRenderer |
sphere3d |
private int |
stringCount |
private TextString[] |
strings |
private javajs.util.V3[] |
transformedVectors |
private int |
translucencyLog |
protected int |
translucencyMask |
private G3DRenderer |
triangle3d |
private boolean |
twoPass |
private javajs.util.V3 |
vectorAB |
private javajs.util.V3 |
vectorAC |
private javajs.util.V3 |
vectorNormal |
protected int[] |
zbuf |
protected int[] |
zbufT |
protected int |
zMargin |
ambientOcclusion, antialiasEnabled, antialiasThisFrame, apiPlatform, argbCurrent, backgroundImage, bgcolor, bufferSize, changeableColixMap, colixCurrent, depth, displayMaxX, displayMaxY, displayMinX, displayMinY, ENDCAPS_FLAT, ENDCAPS_NONE, ENDCAPS_OPEN, ENDCAPS_OPENEND, ENDCAPS_SPHERICAL, EXPORT_CARTESIAN, EXPORT_NOT, EXPORT_RAYTRACER, graphicsForMetrics, height, inGreyscaleMode, isPass2, newAntialiasing, newWindowHeight, newWindowWidth, shader, slab, translucentCoverOnly, width, windowHeight, windowWidth, xGT, xLast, xLT, yGT, yLast, yLT, zDepth, zGT, zLT, zShadeB, zShadeG, zShadePower, zShadeR, zSlab
Constructor and Description |
---|
Graphics3D() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addPixel(int offset,
int z,
int p) |
void |
addRenderer(int tok)
allows core JavaScript loading to not involve these classes
|
void |
applyAnaglygh(STER stereoMode,
int[] stereoColors) |
void |
applyBlueAnaglyph() |
void |
applyCustomAnaglyph(int[] stereoColors) |
void |
applyCyanAnaglyph() |
void |
applyGreenAnaglyph() |
void |
beginRendering(javajs.util.M3 rotationMatrix,
boolean translucentMode,
boolean isImageWrite,
boolean renderLow) |
boolean |
canDoTriangles() |
boolean |
checkTranslucent(boolean isAlphaTranslucent) |
void |
clear() |
void |
clearFontCache() |
(package private) void |
clearPixel(int offset,
int z) |
boolean |
currentlyRendering() |
void |
destroy() |
private void |
downsampleFullSceneAntialiasing(boolean downsampleZBuffer) |
void |
drawAtom(Atom atom) |
void |
drawBond(javajs.util.P3 atomA,
javajs.util.P3 atomB,
short colixA,
short colixB,
byte endcaps,
short mad,
int bondOrder) |
void |
drawDashedLine(int run,
int rise,
javajs.util.P3i pointA,
javajs.util.P3i pointB) |
void |
drawDottedLine(javajs.util.P3i pointA,
javajs.util.P3i pointB) |
boolean |
drawEllipse(javajs.util.P3 ptAtom,
javajs.util.P3 ptX,
javajs.util.P3 ptY,
boolean fillArc,
boolean wireframeOnly) |
void |
drawFilledCircle(short colixRing,
short colixFill,
int diameter,
int x,
int y,
int z)
draws a ring and filled circle (halos, draw CIRCLE, draw handles)
|
void |
drawHermite4(int tension,
javajs.util.P3i s0,
javajs.util.P3i s1,
javajs.util.P3i s2,
javajs.util.P3i s3) |
void |
drawHermite7(boolean fill,
boolean border,
int tension,
javajs.util.P3i s0,
javajs.util.P3i s1,
javajs.util.P3i s2,
javajs.util.P3i s3,
javajs.util.P3i s4,
javajs.util.P3i s5,
javajs.util.P3i s6,
javajs.util.P3i s7,
int aspectRatio,
short colixBack) |
private void |
drawHLine(int x,
int y,
int z,
int w) |
void |
drawImage(java.lang.Object objImage,
int x,
int y,
int z,
int zSlab,
short bgcolix,
int width,
int height) |
void |
drawLine(short colixA,
short colixB,
int x1,
int y1,
int z1,
int x2,
int y2,
int z2) |
void |
drawLineAB(javajs.util.P3i pointA,
javajs.util.P3i pointB) |
void |
drawLineXYZ(int x1,
int y1,
int z1,
int x2,
int y2,
int z2) |
void |
drawPixel(int x,
int y,
int z) |
void |
drawPoints(int count,
int[] coordinates,
int scale) |
void |
drawQuadrilateral(short colix,
javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3i screenC,
javajs.util.P3i screenD) |
void |
drawRect(int x,
int y,
int z,
int zSlab,
int rWidth,
int rHeight)
draws a rectangle
|
void |
drawString(java.lang.String str,
javajs.awt.Font font3d,
int xBaseline,
int yBaseline,
int z,
int zSlab,
short bgColix)
draws the specified string in the current font.
|
void |
drawStringNoSlab(java.lang.String str,
javajs.awt.Font font3d,
int xBaseline,
int yBaseline,
int z,
short bgColix)
draws the specified string in the current font.
|
void |
drawSurface(MeshSurface meshSurface,
short colix) |
void |
drawTriangle3C(javajs.util.P3i screenA,
short colixA,
javajs.util.P3i screenB,
short colixB,
javajs.util.P3i screenC,
short colixC,
int check) |
void |
drawTriangle3I(javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3i screenC,
int check) |
private void |
drawVLine(int x,
int y,
int z,
int h) |
void |
endRendering() |
void |
fillConeSceen3f(byte endcap,
int screenDiameter,
javajs.util.P3 screenBase,
javajs.util.P3 screenTip) |
void |
fillConeScreen(byte endcap,
int screenDiameter,
javajs.util.P3i screenBase,
javajs.util.P3i screenTip,
boolean isBarb) |
void |
fillCylinder(byte endcaps,
int diameter,
javajs.util.P3i screenA,
javajs.util.P3i screenB) |
void |
fillCylinderBits(byte endcaps,
int diameter,
javajs.util.P3 screenA,
javajs.util.P3 screenB) |
void |
fillCylinderScreen(byte endcaps,
int diameter,
int xA,
int yA,
int zA,
int xB,
int yB,
int zB) |
void |
fillCylinderScreen3I(byte endcaps,
int diameter,
javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3 pt0f,
javajs.util.P3 pt1f,
float radius) |
void |
fillCylinderXYZ(short colixA,
short colixB,
byte endcaps,
int diameter,
int xA,
int yA,
int zA,
int xB,
int yB,
int zB) |
void |
fillEllipsoid(javajs.util.P3 center,
javajs.util.P3[] points,
int x,
int y,
int z,
int diameter,
javajs.util.M3 mToEllipsoidal,
double[] coef,
javajs.util.M4 mDeriv,
int selectedOctant,
javajs.util.P3i[] octantPoints) |
void |
fillHermite(int tension,
int diameterBeg,
int diameterMid,
int diameterEnd,
javajs.util.P3i s0,
javajs.util.P3i s1,
javajs.util.P3i s2,
javajs.util.P3i s3) |
void |
fillQuadrilateral(javajs.util.P3 screenA,
javajs.util.P3 screenB,
javajs.util.P3 screenC,
javajs.util.P3 screenD) |
void |
fillQuadrilateral3i(javajs.util.P3i screenA,
short colixA,
short normixA,
javajs.util.P3i screenB,
short colixB,
short normixB,
javajs.util.P3i screenC,
short colixC,
short normixC,
javajs.util.P3i screenD,
short colixD,
short normixD) |
void |
fillRect(int x,
int y,
int z,
int zSlab,
int widthFill,
int heightFill)
fills background rectangle for label
|
void |
fillSphere(int diameter,
javajs.util.P3 center)
fills a solid sphere
|
void |
fillSphereI(int diameter,
javajs.util.P3i center)
fills a solid sphere
|
void |
fillSphereXYZ(int diameter,
int x,
int y,
int z)
fills a solid sphere
|
void |
fillTriangle(javajs.util.P3i screenA,
short colixA,
short normixA,
javajs.util.P3i screenB,
short colixB,
short normixB,
javajs.util.P3i screenC,
short colixC,
short normixC,
float factor) |
void |
fillTriangle3CN(javajs.util.P3i screenA,
short colixA,
short normixA,
javajs.util.P3i screenB,
short colixB,
short normixB,
javajs.util.P3i screenC,
short colixC,
short normixC) |
void |
fillTriangle3f(javajs.util.P3 screenA,
javajs.util.P3 screenB,
javajs.util.P3 screenC,
boolean setNoisy) |
void |
fillTriangle3i(javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3i screenC,
javajs.util.P3 ptA,
javajs.util.P3 ptB,
javajs.util.P3 ptC) |
void |
fillTriangleTwoSided(short normix,
int xScreenA,
int yScreenA,
int zScreenA,
int xScreenB,
int yScreenB,
int zScreenB,
int xScreenC,
int yScreenC,
int zScreenC) |
java.lang.String |
finalizeOutput() |
java.lang.String |
getExportName() |
int |
getExportType() |
javajs.awt.Font |
getFont3DCurrent() |
GData |
getGData()
underlying GData object handles all general graphics setup.
|
double |
getPrivateKey() |
private G3DRenderer |
getRenderer(java.lang.String type) |
java.lang.Object |
getScreenImage(boolean isImageWrite) |
int |
getShadeIndex(short normix) |
private int |
getShadeIndexP3(javajs.util.P3 screenA,
javajs.util.P3 screenB,
javajs.util.P3 screenC) |
javajs.util.V3[] |
getTransformedVertexVectors() |
boolean |
hasContent() |
boolean |
haveTranslucentObjects() |
void |
initialize(javajs.api.GenericPlatform apiPlatform) |
JmolRendererInterface |
initializeExporter(Viewer vwr,
double privateKey,
GData g3d,
java.util.Map<java.lang.String,java.lang.Object> params) |
boolean |
initializeOutput(Viewer vwr,
double privateKey,
GData gdata,
java.util.Map<java.lang.String,java.lang.Object> params) |
boolean |
isCartesianExport() |
boolean |
isDirectedTowardsCamera(short normix) |
static void |
mergeBufferPixel(int[] pbuf,
int offset,
int argbB,
int bgcolor) |
void |
plotImage(int x,
int y,
int z,
java.lang.Object image,
JmolRendererInterface jmolRenderer,
short bgcolix,
int width,
int height) |
void |
plotImagePixel(int argb,
int x,
int y,
int z,
int shade,
int bgargb) |
(package private) void |
plotPixelClippedArgb(int argb,
int x,
int y,
int z) |
void |
plotPixelClippedP3i(javajs.util.P3i screen) |
(package private) void |
plotPixelClippedScreened(int argb,
boolean isScreened,
int x,
int y,
int z) |
(package private) void |
plotPixelClippedXYZ(int x,
int y,
int z) |
(package private) void |
plotPixelsClipped(int count,
int x,
int y,
int z) |
(package private) void |
plotPixelsClippedRaster(int count,
int x,
int y,
int zAtLeft,
int zPastRight,
Rgb16 rgb16Left,
Rgb16 rgb16Right) |
(package private) void |
plotPixelsUnclippedCount(int count,
int x,
int y,
int z) |
(package private) void |
plotPixelsUnclippedRaster(int count,
int x,
int y,
int zAtLeft,
int zPastRight,
Rgb16 rgb16Left,
Rgb16 rgb16Right) |
(package private) void |
plotPixelUnclipped(int x,
int y,
int z) |
(package private) void |
plotPixelUnclippedArgb(int argb,
int x,
int y,
int z) |
private void |
plotPoints(int count,
int[] coordinates,
int xOffset,
int yOffset) |
void |
plotText(int x,
int y,
int z,
int argb,
int bgargb,
java.lang.String text,
javajs.awt.Font font3d,
JmolRendererInterface jmolRenderer) |
private void |
releaseBuffers() |
void |
releaseScreenImage() |
void |
renderAllStrings(java.lang.Object jmolRenderer) |
void |
renderBackground(JmolRendererInterface jmolRenderer) |
void |
renderCrossHairs(int[] minMax,
int screenWidth,
int screenHeight,
javajs.util.P3 navOffset,
float navDepth) |
void |
setBackgroundTransparent(boolean TF) |
boolean |
setColix(short colix)
sets current color from colix color index
|
void |
setColor(int argb) |
(package private) void |
setColorNoisy(int shadeIndex) |
void |
setFont(javajs.awt.Font font3d) |
void |
setFontFid(byte fid) |
void |
setNoisySurfaceShade(javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3i screenC)
used by CartoonRenderer (DNA surface) and GeoSurfaceRenderer (face) to
assign a noisy shade to the surface it will render
|
boolean |
setPass2(boolean antialiasTranslucent) |
void |
setRotationMatrix(javajs.util.M3 rotationMatrix) |
void |
setTempZSlab(int zSlab) |
private void |
setTriangleColixAndShadeIndex(short colix,
int shadeIndex) |
private boolean |
setTriangleTranslucency(short colixA,
short colixB,
short colixC) |
void |
setWindowParameters(int width,
int height,
boolean antialias) |
(package private) void |
setZMargin(int dz) |
void |
setZShade(boolean zShade,
int zSlab,
int zDepth,
int zShadePower) |
(package private) void |
shadeTextPixel(int offset,
int z,
int argb,
int bgargb,
int shade) |
void |
snapshotAnaglyphChannelBytes() |
void |
volumeRender(boolean TF) |
void |
volumeRender4(int diameter,
int x,
int y,
int z) |
changeColixArgb, clipCode, clipCode3, getAmbientPercent, getBgColixes, getCel, getCelPower, getChangeableColix, getColorArgbOrGray, getDepth, getDiffusePercent, getFont3D, getFont3DFS, getFont3DFSS, getFont3DScaled, getFontFid, getFontFidFS, getFontStyleID, getHermiteList, getLightSource, getPhongExponent, getRenderHeight, getRenderWidth, getScreenOctant, getShades, getSlab, getSpecular, getSpecularExponent, getSpecularPercent, getSpecularPower, getTranslucentCoverOnly, isAntialiased, isClipped, isClipped3, isClippedXY, isClippedZ, isDisplayAntialiased, isInDisplayRange, isPass2, roundInt, setAmbientOcclusion, setAmbientPercent, setBackgroundArgb, setBackgroundImage, setCel, setCelPower, setDepth, setDiffusePercent, setGreyscaleMode, setNewWindowParametersForExport, setPhongExponent, setSlab, setSpecular, setSpecularExponent, setSpecularPercent, setSpecularPower, setTranslucentCoverOnly, setWidthHeight, setWinParams, setZShade2
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBgColixes, getFontFidFS, getTranslucentCoverOnly, isPass2, setTranslucentCoverOnly
getColorArgbOrGray, getDepth, getFont3DScaled, getFontFid, getRenderHeight, getRenderWidth, getSlab, isAntialiased, isClippedXY, isClippedZ, isInDisplayRange, setAmbientOcclusion, setDepth, setSlab
Platform3D platform
LineRenderer line3d
private SphereRenderer sphere3d
private CylinderRenderer cylinder3d
private G3DRenderer triangle3d
private G3DRenderer circle3d
private G3DRenderer hermite3d
private boolean isFullSceneAntialiasingEnabled
private boolean antialias2
private TextString[] strings
private int stringCount
private byte[] anaglyphChannelBytes
private boolean twoPass
private boolean aap
private boolean haveTranslucentObjects
protected int[] pbuf
protected int[] pbufT
protected int[] zbuf
protected int[] zbufT
protected int translucencyMask
private boolean renderLow
private int[] shadesCurrent
private int anaglyphLength
private boolean isScreened
private int argbNoisyUp
private int argbNoisyDn
private javajs.awt.Font currentFont
private Pixelator pixel
protected int zMargin
private int[] aobuf
private int currentShadeIndex
private int lastRawColor
private int translucencyLog
private int saveAmbient
private int saveDiffuse
public static java.util.Comparator<TextString> sort
private boolean currentlyRendering
private final javajs.util.V3 vectorAB
private final javajs.util.V3 vectorAC
private final javajs.util.V3 vectorNormal
private static final short normixCount
private final javajs.util.V3[] transformedVectors
private final byte[] shadeIndexes
private final byte[] shadeIndexes2Sided
private static byte nullShadeIndex
public GData getGData()
getGData
in interface JmolRendererInterface
void setZMargin(int dz)
public void initialize(javajs.api.GenericPlatform apiPlatform)
initialize
in class GData
public void addRenderer(int tok)
addRenderer
in interface JmolRendererInterface
addRenderer
in class GData
tok
- private G3DRenderer getRenderer(java.lang.String type)
public boolean currentlyRendering()
currentlyRendering
in interface JmolRendererInterface
public void setWindowParameters(int width, int height, boolean antialias)
setWindowParameters
in class GData
public boolean checkTranslucent(boolean isAlphaTranslucent)
checkTranslucent
in interface JmolRendererInterface
public void beginRendering(javajs.util.M3 rotationMatrix, boolean translucentMode, boolean isImageWrite, boolean renderLow)
beginRendering
in class GData
renderLow
- TODOpublic void setBackgroundTransparent(boolean TF)
setBackgroundTransparent
in class GData
private void releaseBuffers()
public boolean setPass2(boolean antialiasTranslucent)
public void endRendering()
endRendering
in class GData
public static void mergeBufferPixel(int[] pbuf, int offset, int argbB, int bgcolor)
public java.lang.Object getScreenImage(boolean isImageWrite)
getScreenImage
in class GData
public void applyAnaglygh(STER stereoMode, int[] stereoColors)
applyAnaglygh
in class GData
public void snapshotAnaglyphChannelBytes()
snapshotAnaglyphChannelBytes
in class GData
public void applyCustomAnaglyph(int[] stereoColors)
public void applyGreenAnaglyph()
public void applyBlueAnaglyph()
public void applyCyanAnaglyph()
public void releaseScreenImage()
releaseScreenImage
in class GData
public boolean haveTranslucentObjects()
haveTranslucentObjects
in interface JmolRendererInterface
public void setTempZSlab(int zSlab)
public void setZShade(boolean zShade, int zSlab, int zDepth, int zShadePower)
private void downsampleFullSceneAntialiasing(boolean downsampleZBuffer)
public boolean hasContent()
public void setColor(int argb)
setColor
in interface JmolRendererInterface
setColor
in class GData
public boolean setColix(short colix)
setColix
in interface JmolRendererInterface
setColix
in class GData
colix
- the color indexvoid addPixel(int offset, int z, int p)
void clearPixel(int offset, int z)
public void drawFilledCircle(short colixRing, short colixFill, int diameter, int x, int y, int z)
JmolRendererInterface
drawFilledCircle
in interface JmolRendererInterface
x
- center xy
- center yz
- center zpublic void volumeRender4(int diameter, int x, int y, int z)
volumeRender4
in interface JmolRendererInterface
public void fillSphereXYZ(int diameter, int x, int y, int z)
fillSphereXYZ
in interface JmolRendererInterface
diameter
- pixel countx
- center xy
- center yz
- center zpublic void volumeRender(boolean TF)
volumeRender
in interface JmolRendererInterface
public void fillSphereI(int diameter, javajs.util.P3i center)
fillSphereI
in interface JmolRendererInterface
diameter
- pixel countcenter
- javax.vecmath.Point3i defining the centerpublic void fillSphere(int diameter, javajs.util.P3 center)
fillSphere
in interface JmolRendererInterface
diameter
- pixel countcenter
- a javax.vecmath.Point3f ... floats are casted to intspublic void fillEllipsoid(javajs.util.P3 center, javajs.util.P3[] points, int x, int y, int z, int diameter, javajs.util.M3 mToEllipsoidal, double[] coef, javajs.util.M4 mDeriv, int selectedOctant, javajs.util.P3i[] octantPoints)
fillEllipsoid
in interface JmolRendererInterface
public void drawRect(int x, int y, int z, int zSlab, int rWidth, int rHeight)
drawRect
in interface JmolRendererInterface
x
- upper left xy
- upper left yz
- upper left zzSlab
- z for slab check (for set labelsFront)rWidth
- pixel countrHeight
- pixel countprivate void drawHLine(int x, int y, int z, int w)
private void drawVLine(int x, int y, int z, int h)
public void fillRect(int x, int y, int z, int zSlab, int widthFill, int heightFill)
fillRect
in interface JmolRendererInterface
x
- upper left xy
- upper left yz
- upper left zzSlab
- z value for slabbingwidthFill
- pixel countheightFill
- pixel countpublic void drawString(java.lang.String str, javajs.awt.Font font3d, int xBaseline, int yBaseline, int z, int zSlab, short bgColix)
drawString
in interface JmolRendererInterface
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zzSlab
- z for slab calculationbgColix
- public void drawStringNoSlab(java.lang.String str, javajs.awt.Font font3d, int xBaseline, int yBaseline, int z, short bgColix)
drawStringNoSlab
in interface JmolRendererInterface
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zbgColix
- public void renderAllStrings(java.lang.Object jmolRenderer)
renderAllStrings
in interface JmolGraphicsInterface
renderAllStrings
in class GData
public void plotText(int x, int y, int z, int argb, int bgargb, java.lang.String text, javajs.awt.Font font3d, JmolRendererInterface jmolRenderer)
public void drawImage(java.lang.Object objImage, int x, int y, int z, int zSlab, short bgcolix, int width, int height)
drawImage
in interface JmolRendererInterface
public void plotImage(int x, int y, int z, java.lang.Object image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height)
public void setFontFid(byte fid)
setFontFid
in interface JmolRendererInterface
setFontFid
in class GData
public javajs.awt.Font getFont3DCurrent()
getFont3DCurrent
in interface JmolRendererInterface
getFont3DCurrent
in class GData
public void drawPixel(int x, int y, int z)
drawPixel
in interface JmolRendererInterface
public void drawPoints(int count, int[] coordinates, int scale)
drawPoints
in interface JmolRendererInterface
public void drawDashedLine(int run, int rise, javajs.util.P3i pointA, javajs.util.P3i pointB)
drawDashedLine
in interface JmolRendererInterface
public void drawDottedLine(javajs.util.P3i pointA, javajs.util.P3i pointB)
drawDottedLine
in interface JmolRendererInterface
public void drawLineXYZ(int x1, int y1, int z1, int x2, int y2, int z2)
drawLineXYZ
in interface JmolRendererInterface
public void drawLine(short colixA, short colixB, int x1, int y1, int z1, int x2, int y2, int z2)
drawLine
in interface JmolRendererInterface
public void drawLineAB(javajs.util.P3i pointA, javajs.util.P3i pointB)
drawLineAB
in interface JmolRendererInterface
public void fillCylinderXYZ(short colixA, short colixB, byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)
fillCylinderXYZ
in interface JmolRendererInterface
public void fillCylinderScreen(byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)
fillCylinderScreen
in interface JmolRendererInterface
public void fillCylinderScreen3I(byte endcaps, int diameter, javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3 pt0f, javajs.util.P3 pt1f, float radius)
fillCylinderScreen3I
in interface JmolRendererInterface
public void fillCylinder(byte endcaps, int diameter, javajs.util.P3i screenA, javajs.util.P3i screenB)
fillCylinder
in interface JmolRendererInterface
public void fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 screenA, javajs.util.P3 screenB)
fillCylinderBits
in interface JmolRendererInterface
public void fillConeScreen(byte endcap, int screenDiameter, javajs.util.P3i screenBase, javajs.util.P3i screenTip, boolean isBarb)
fillConeScreen
in interface JmolRendererInterface
public void fillConeSceen3f(byte endcap, int screenDiameter, javajs.util.P3 screenBase, javajs.util.P3 screenTip)
fillConeSceen3f
in interface JmolRendererInterface
public void drawHermite4(int tension, javajs.util.P3i s0, javajs.util.P3i s1, javajs.util.P3i s2, javajs.util.P3i s3)
drawHermite4
in interface JmolRendererInterface
public void drawHermite7(boolean fill, boolean border, int tension, javajs.util.P3i s0, javajs.util.P3i s1, javajs.util.P3i s2, javajs.util.P3i s3, javajs.util.P3i s4, javajs.util.P3i s5, javajs.util.P3i s6, javajs.util.P3i s7, int aspectRatio, short colixBack)
drawHermite7
in interface JmolRendererInterface
public void fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3i s0, javajs.util.P3i s1, javajs.util.P3i s2, javajs.util.P3i s3)
fillHermite
in interface JmolRendererInterface
public void drawTriangle3C(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check)
drawTriangle3C
in interface JmolRendererInterface
public void drawTriangle3I(javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3i screenC, int check)
drawTriangle3I
in interface JmolRendererInterface
public void fillTriangleTwoSided(short normix, int xScreenA, int yScreenA, int zScreenA, int xScreenB, int yScreenB, int zScreenB, int xScreenC, int yScreenC, int zScreenC)
fillTriangleTwoSided
in interface JmolRendererInterface
public void fillTriangle3f(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, boolean setNoisy)
fillTriangle3f
in interface JmolRendererInterface
public void fillTriangle3i(javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3i screenC, javajs.util.P3 ptA, javajs.util.P3 ptB, javajs.util.P3 ptC)
fillTriangle3i
in interface JmolRendererInterface
public void fillTriangle(javajs.util.P3i screenA, short colixA, short normixA, javajs.util.P3i screenB, short colixB, short normixB, javajs.util.P3i screenC, short colixC, short normixC, float factor)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle3CN(javajs.util.P3i screenA, short colixA, short normixA, javajs.util.P3i screenB, short colixB, short normixB, javajs.util.P3i screenC, short colixC, short normixC)
fillTriangle3CN
in interface JmolRendererInterface
private void setTriangleColixAndShadeIndex(short colix, int shadeIndex)
private boolean setTriangleTranslucency(short colixA, short colixB, short colixC)
public void drawQuadrilateral(short colix, javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3i screenC, javajs.util.P3i screenD)
drawQuadrilateral
in interface JmolRendererInterface
public void fillQuadrilateral(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.P3 screenD)
fillQuadrilateral
in interface JmolRendererInterface
public void fillQuadrilateral3i(javajs.util.P3i screenA, short colixA, short normixA, javajs.util.P3i screenB, short colixB, short normixB, javajs.util.P3i screenC, short colixC, short normixC, javajs.util.P3i screenD, short colixD, short normixD)
fillQuadrilateral3i
in interface JmolRendererInterface
public void drawSurface(MeshSurface meshSurface, short colix)
drawSurface
in interface JmolRendererInterface
void plotPixelClippedXYZ(int x, int y, int z)
public void plotPixelClippedP3i(javajs.util.P3i screen)
plotPixelClippedP3i
in interface JmolRendererInterface
void plotPixelClippedArgb(int argb, int x, int y, int z)
public void plotImagePixel(int argb, int x, int y, int z, int shade, int bgargb)
plotImagePixel
in interface JmolRendererInterface
void plotPixelClippedScreened(int argb, boolean isScreened, int x, int y, int z)
void plotPixelUnclipped(int x, int y, int z)
void plotPixelUnclippedArgb(int argb, int x, int y, int z)
void plotPixelsClipped(int count, int x, int y, int z)
void plotPixelsClippedRaster(int count, int x, int y, int zAtLeft, int zPastRight, Rgb16 rgb16Left, Rgb16 rgb16Right)
void plotPixelsUnclippedRaster(int count, int x, int y, int zAtLeft, int zPastRight, Rgb16 rgb16Left, Rgb16 rgb16Right)
void plotPixelsUnclippedCount(int count, int x, int y, int z)
private void plotPoints(int count, int[] coordinates, int xOffset, int yOffset)
void setColorNoisy(int shadeIndex)
public void setNoisySurfaceShade(javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3i screenC)
setNoisySurfaceShade
in interface JmolRendererInterface
setNoisySurfaceShade
in class GData
screenA
- screenB
- screenC
- private int getShadeIndexP3(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC)
public void renderBackground(JmolRendererInterface jmolRenderer)
renderBackground
in interface JmolRendererInterface
renderBackground
in class GData
public void drawAtom(Atom atom)
drawAtom
in interface JmolRendererInterface
public int getExportType()
getExportType
in interface JmolRendererInterface
public java.lang.String getExportName()
getExportName
in interface JmolRendererInterface
public boolean canDoTriangles()
public boolean isCartesianExport()
public JmolRendererInterface initializeExporter(Viewer vwr, double privateKey, GData g3d, java.util.Map<java.lang.String,java.lang.Object> params)
initializeExporter
in interface JmolRendererInterface
public java.lang.String finalizeOutput()
finalizeOutput
in interface JmolRendererInterface
public void drawBond(javajs.util.P3 atomA, javajs.util.P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)
drawBond
in interface JmolRendererInterface
public boolean drawEllipse(javajs.util.P3 ptAtom, javajs.util.P3 ptX, javajs.util.P3 ptY, boolean fillArc, boolean wireframeOnly)
drawEllipse
in interface JmolRendererInterface
public double getPrivateKey()
public void clearFontCache()
clearFontCache
in class GData
public javajs.util.V3[] getTransformedVertexVectors()
getTransformedVertexVectors
in interface JmolRendererInterface
getTransformedVertexVectors
in class GData
public boolean isDirectedTowardsCamera(short normix)
isDirectedTowardsCamera
in interface JmolRendererInterface
isDirectedTowardsCamera
in class GData
public void setRotationMatrix(javajs.util.M3 rotationMatrix)
public int getShadeIndex(short normix)
public void renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, javajs.util.P3 navOffset, float navDepth)
renderCrossHairs
in interface JmolRendererInterface
minMax
- screenWidth
- screenHeight
- navOffset
- navDepth
- public boolean initializeOutput(Viewer vwr, double privateKey, GData gdata, java.util.Map<java.lang.String,java.lang.Object> params)
initializeOutput
in interface JmolRendererInterface
void shadeTextPixel(int offset, int z, int argb, int bgargb, int shade)