Package org.jmol.util
Class GData
- java.lang.Object
-
- org.jmol.util.GData
-
- All Implemented Interfaces:
JmolGraphicsInterface
- Direct Known Subclasses:
Graphics3D
public class GData extends java.lang.Object implements JmolGraphicsInterface
-
-
Field Summary
Fields Modifier and Type Field Description intambientOcclusionbooleanantialiasEnabledprotected booleanantialiasThisFramejavajs.api.GenericPlatformapiPlatformintargbCurrentintargbNoisyDnintargbNoisyUpprotected java.lang.ObjectbackgroundImageintbgcolorintbufferSizeprotected short[]changeableColixMapprotected shortcolixCurrentprotected javajs.awt.FontcurrentFontbooleancurrentlyRenderingintdepthprotected intdisplayMaxXprotected intdisplayMaxX2protected intdisplayMaxYprotected intdisplayMaxY2protected intdisplayMinXprotected intdisplayMinX2protected intdisplayMinYprotected intdisplayMinY2static byteENDCAPS_FLATstatic byteENDCAPS_FLAT_TO_SPHERICALstatic byteENDCAPS_HIDDENstatic byteENDCAPS_NONEstatic byteENDCAPS_OPEN_TO_SPHERICALstatic byteENDCAPS_SPHERICALstatic intEXPORT_CARTESIANstatic intEXPORT_NOTstatic intEXPORT_RAYTRACERprotected java.lang.ObjectgraphicsForMetricsintheightprotected intht3static intHUGEprotected booleaninGreyscaleModebooleanisPass2protected booleannewAntialiasingprotected intnewWindowHeightprotected intnewWindowWidthprotected static shortnormixCountShadershaderintslabprotected inttextYprotected javajs.util.V3[]transformedVectorsbooleantranslucentCoverOnlyprotected Viewervwrintwidthprotected intwindowHeightprotected intwindowWidthstatic intxGTintxLaststatic intxLTstatic intyGTintyLaststatic intyLTstatic intzGTstatic intzLT
-
Constructor Summary
Constructors Constructor Description GData()It is possible to instantiate this class with no Graphics3D.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRenderer(int tok)voidapplyAnaglygh(STER stereoMode, int[] stereoColors)voidbeginRendering(javajs.util.M3 stereoRotationMatrix, boolean translucentMode, boolean isImageWrite, boolean renderLow)voidchangeColixArgb(int id, int argb)voidclear()voidclearFontCache()intclipCode(int z)intclipCode3(int x, int y, int z)voiddestroy()voiddrawQuadrilateralBits(JmolRendererInterface jmolRenderer, short colix, javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.P3 screenD)voiddrawTriangleBits(JmolRendererInterface renderer, javajs.util.P3 screenA, short colixA, javajs.util.P3 screenB, short colixB, javajs.util.P3 screenC, short colixC, int check)voidendRendering()intgetAmbientPercent()booleangetCel()intgetCelPower()shortgetChangeableColix(int id, int argb)intgetColorArgbOrGray(short colix)intgetDiffusePercent()javajs.awt.FontgetFont3D(float fontSize)javajs.awt.FontgetFont3DCurrent()javajs.awt.FontgetFont3DFS(java.lang.String fontFace, float fontSize)javajs.awt.FontgetFont3DFSS(java.lang.String fontFace, java.lang.String fontStyle, float fontSize)javajs.awt.FontgetFont3DScaled(javajs.awt.Font font, float scale)bytegetFontFid(float fontSize)bytegetFontFidFS(java.lang.String fontFace, float fontSize)static voidgetHermiteList(int tension, javajs.util.T3 p0, javajs.util.T3 p1, javajs.util.T3 p2, javajs.util.T3 p3, javajs.util.T3 p4, javajs.util.T3[] list, int index0, int n, boolean isPt)Used by Navigator, BioShapeRenderer, and DrawRendererjavajs.util.V3getLightSource()intgetPhongExponent()java.lang.ObjectgetScreenImage(boolean isImageWrite)int[]getShades(short colix)booleangetSpecular()intgetSpecularExponent()intgetSpecularPercent()intgetSpecularPower()intgetTextPosition()javajs.util.V3[]getTransformedVertexVectors()voidinitialize(Viewer vwr, javajs.api.GenericPlatform apiPlatform)booleanisAntialiased()is full scene / oversampling antialiasing in effectbooleanisClipped(int x, int y)booleanisClipped3(int x, int y, int z)booleanisClippedXY(int diameter, int x, int y)booleanisClippedZ(int z)booleanisDirectedTowardsCamera(short normix)booleanisInDisplayRange(int x, int y)voidplotImage(int x, int y, int z, java.lang.Object image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height)voidplotText(int x, int y, int z, int colorArgbOrGray, int bgColor, java.lang.String text, javajs.awt.Font font3d, JmolRendererInterface jmolRenderer)voidreleaseScreenImage()voidrenderAllStrings(java.lang.Object jmolRenderer)voidrenderBackground(JmolRendererInterface jmolRenderer)static introundInt(int a)JavaScript won't really have an integer here after integer division.voidsetAmbientOcclusion(int value)voidsetAmbientPercent(int val)fractional distance from black for ambient colorvoidsetBackgroundArgb(int argb)sets background color to the specified argb valuevoidsetBackgroundImage(java.lang.Object image)voidsetBackgroundTransparent(boolean TF)booleansetC(short colix)voidsetCel(boolean val)voidsetCelPower(int celPower)voidsetColor(int argb)voidsetDepth(int depthValue)clipping from the front and the backvoidsetDiffusePercent(int val)df in I = df * (N dot L) + sf * (R dot V)^pvoidsetFont(javajs.awt.Font font3d)voidsetFontFid(byte fid)voidsetGreyscaleMode(boolean greyscaleMode)controls greyscale renderingvoidsetNewWindowParametersForExport()booleansetPass2(boolean antialias)voidsetPhongExponent(int val)p in I = df * (N dot L) + sf * (R dot V)^pvoidsetSlab(int slabValue)clipping from the front and the backvoidsetSlabAndZShade(int slab, int depth, int zSlab, int zDepth, int zPower)voidsetSpecular(boolean val)voidsetSpecularExponent(int val)log_2(p) in I = df * (N dot L) + sf * (R dot V)^p for faster calculation of shadesvoidsetSpecularPercent(int val)sf in I = df * (N dot L) + sf * (R dot V)^p not a percent of anything, reallyvoidsetSpecularPower(int val)fractional distance to white for specular dotvoidsetTextPosition(int y)protected voidsetWidthHeight(boolean isAntialiased)voidsetWindowParameters(int width, int height, boolean antialias)protected voidsetWinParams(int width, int height, boolean antialias)voidsnapshotAnaglyphChannelBytes()
-
-
-
Field Detail
-
apiPlatform
public javajs.api.GenericPlatform apiPlatform
-
translucentCoverOnly
public boolean translucentCoverOnly
-
currentlyRendering
public boolean currentlyRendering
-
antialiasEnabled
public boolean antialiasEnabled
-
windowWidth
protected int windowWidth
-
windowHeight
protected int windowHeight
-
displayMinX
protected int displayMinX
-
displayMaxX
protected int displayMaxX
-
displayMinY
protected int displayMinY
-
displayMaxY
protected int displayMaxY
-
displayMinX2
protected int displayMinX2
-
displayMaxX2
protected int displayMaxX2
-
displayMinY2
protected int displayMinY2
-
displayMaxY2
protected int displayMaxY2
-
antialiasThisFrame
protected boolean antialiasThisFrame
-
inGreyscaleMode
protected boolean inGreyscaleMode
-
changeableColixMap
protected short[] changeableColixMap
-
backgroundImage
protected java.lang.Object backgroundImage
-
newWindowWidth
protected int newWindowWidth
-
newWindowHeight
protected int newWindowHeight
-
newAntialiasing
protected boolean newAntialiasing
-
bgcolor
public int bgcolor
-
xLast
public int xLast
-
yLast
public int yLast
-
slab
public int slab
-
depth
public int depth
-
width
public int width
-
height
public int height
-
ambientOcclusion
public int ambientOcclusion
-
colixCurrent
protected short colixCurrent
-
argbCurrent
public int argbCurrent
-
ht3
protected int ht3
-
isPass2
public boolean isPass2
-
textY
protected int textY
-
bufferSize
public int bufferSize
-
shader
public Shader shader
-
vwr
protected Viewer vwr
-
ENDCAPS_NONE
public static final byte ENDCAPS_NONE
- See Also:
- Constant Field Values
-
ENDCAPS_HIDDEN
public static final byte ENDCAPS_HIDDEN
- See Also:
- Constant Field Values
-
ENDCAPS_FLAT
public static final byte ENDCAPS_FLAT
- See Also:
- Constant Field Values
-
ENDCAPS_SPHERICAL
public static final byte ENDCAPS_SPHERICAL
- See Also:
- Constant Field Values
-
ENDCAPS_OPEN_TO_SPHERICAL
public static final byte ENDCAPS_OPEN_TO_SPHERICAL
- See Also:
- Constant Field Values
-
ENDCAPS_FLAT_TO_SPHERICAL
public static final byte ENDCAPS_FLAT_TO_SPHERICAL
- See Also:
- Constant Field Values
-
graphicsForMetrics
protected java.lang.Object graphicsForMetrics
-
EXPORT_RAYTRACER
public static final int EXPORT_RAYTRACER
- See Also:
- Constant Field Values
-
EXPORT_CARTESIAN
public static final int EXPORT_CARTESIAN
- See Also:
- Constant Field Values
-
EXPORT_NOT
public static final int EXPORT_NOT
- See Also:
- Constant Field Values
-
yGT
public static final int yGT
- See Also:
- Constant Field Values
-
yLT
public static final int yLT
- See Also:
- Constant Field Values
-
xGT
public static final int xGT
- See Also:
- Constant Field Values
-
xLT
public static final int xLT
- See Also:
- Constant Field Values
-
zGT
public static final int zGT
- See Also:
- Constant Field Values
-
zLT
public static final int zLT
- See Also:
- Constant Field Values
-
HUGE
public static final int HUGE
- See Also:
- Constant Field Values
-
argbNoisyUp
public int argbNoisyUp
-
argbNoisyDn
public int argbNoisyDn
-
transformedVectors
protected javajs.util.V3[] transformedVectors
-
normixCount
protected static short normixCount
-
currentFont
protected javajs.awt.Font currentFont
-
-
Method Detail
-
initialize
public void initialize(Viewer vwr, javajs.api.GenericPlatform apiPlatform)
-
setDepth
public void setDepth(int depthValue)
clipping from the front and the backthe plane is defined as a percentage from the back of the image to the front
for depth values:
- 0 means 100% is shown
- 25 means the back 25% is not shown
- 50 means the back half is not shown
- 100 means that nothing is shown
- Parameters:
depthValue- rear clipping percentage [0,100]
-
setSlab
public void setSlab(int slabValue)
clipping from the front and the backthe plane is defined as a percentage from the back of the image to the front
For slab values:
- 100 means 100% is shown
- 75 means the back 75% is shown
- 50 means the back half is shown
- 0 means that nothing is shown
- Specified by:
setSlabin interfaceJmolGraphicsInterface- Parameters:
slabValue- front clipping percentage [0,100]
-
setSlabAndZShade
public void setSlabAndZShade(int slab, int depth, int zSlab, int zDepth, int zPower)- Specified by:
setSlabAndZShadein interfaceJmolGraphicsInterface- Parameters:
zSlab- for zShadezDepth- for zShadezPower-
-
setAmbientOcclusion
public void setAmbientOcclusion(int value)
-
isAntialiased
public boolean isAntialiased()
is full scene / oversampling antialiasing in effect- Specified by:
isAntialiasedin interfaceJmolGraphicsInterface- Returns:
- the answer
-
getChangeableColix
public short getChangeableColix(int id, int argb)
-
changeColixArgb
public void changeColixArgb(int id, int argb)
-
getColorArgbOrGray
public int getColorArgbOrGray(short colix)
-
getShades
public int[] getShades(short colix)
-
setGreyscaleMode
public void setGreyscaleMode(boolean greyscaleMode)
controls greyscale rendering- Parameters:
greyscaleMode- Flag for greyscale rendering
-
getSpecularPower
public int getSpecularPower()
-
setSpecularPower
public void setSpecularPower(int val)
fractional distance to white for specular dot- Parameters:
val-
-
getSpecularPercent
public int getSpecularPercent()
-
setSpecularPercent
public void setSpecularPercent(int val)
sf in I = df * (N dot L) + sf * (R dot V)^p not a percent of anything, really- Parameters:
val-
-
getSpecularExponent
public int getSpecularExponent()
-
setSpecularExponent
public void setSpecularExponent(int val)
log_2(p) in I = df * (N dot L) + sf * (R dot V)^p for faster calculation of shades- Parameters:
val-
-
getPhongExponent
public int getPhongExponent()
-
setPhongExponent
public void setPhongExponent(int val)
p in I = df * (N dot L) + sf * (R dot V)^p- Parameters:
val-
-
getDiffusePercent
public int getDiffusePercent()
-
setDiffusePercent
public void setDiffusePercent(int val)
df in I = df * (N dot L) + sf * (R dot V)^p- Parameters:
val-
-
getAmbientPercent
public int getAmbientPercent()
-
setAmbientPercent
public void setAmbientPercent(int val)
fractional distance from black for ambient color- Parameters:
val-
-
getSpecular
public boolean getSpecular()
-
setSpecular
public void setSpecular(boolean val)
-
setCel
public void setCel(boolean val)
-
getCel
public boolean getCel()
-
getCelPower
public int getCelPower()
-
setCelPower
public void setCelPower(int celPower)
-
getLightSource
public javajs.util.V3 getLightSource()
-
isClipped3
public boolean isClipped3(int x, int y, int z)
-
isClipped
public boolean isClipped(int x, int y)
-
isInDisplayRange
public boolean isInDisplayRange(int x, int y)- Specified by:
isInDisplayRangein interfaceJmolGraphicsInterface
-
isClippedXY
public boolean isClippedXY(int diameter, int x, int y)- Specified by:
isClippedXYin interfaceJmolGraphicsInterface
-
isClippedZ
public boolean isClippedZ(int z)
-
clipCode3
public int clipCode3(int x, int y, int z)
-
clipCode
public int clipCode(int z)
-
getFont3D
public javajs.awt.Font getFont3D(float fontSize)
-
getFont3DFS
public javajs.awt.Font getFont3DFS(java.lang.String fontFace, float fontSize)
-
getFontFidFS
public byte getFontFidFS(java.lang.String fontFace, float fontSize)
-
getFont3DFSS
public javajs.awt.Font getFont3DFSS(java.lang.String fontFace, java.lang.String fontStyle, float fontSize)
-
getFont3DScaled
public javajs.awt.Font getFont3DScaled(javajs.awt.Font font, float scale)
-
getFontFid
public byte getFontFid(float fontSize)
-
setBackgroundTransparent
public void setBackgroundTransparent(boolean TF)
- Parameters:
TF-
-
setBackgroundArgb
public void setBackgroundArgb(int argb)
sets background color to the specified argb value- Parameters:
argb- an argb value with alpha channel
-
setBackgroundImage
public void setBackgroundImage(java.lang.Object image)
-
setWindowParameters
public void setWindowParameters(int width, int height, boolean antialias)
-
setWinParams
protected void setWinParams(int width, int height, boolean antialias)
-
setNewWindowParametersForExport
public void setNewWindowParametersForExport()
-
setWidthHeight
protected void setWidthHeight(boolean isAntialiased)
-
beginRendering
public void beginRendering(javajs.util.M3 stereoRotationMatrix, boolean translucentMode, boolean isImageWrite, boolean renderLow)- Parameters:
stereoRotationMatrix-translucentMode-isImageWrite-renderLow- TODO
-
endRendering
public void endRendering()
-
snapshotAnaglyphChannelBytes
public void snapshotAnaglyphChannelBytes()
-
getScreenImage
public java.lang.Object getScreenImage(boolean isImageWrite)
- Parameters:
isImageWrite-- Returns:
- image object
-
releaseScreenImage
public void releaseScreenImage()
-
applyAnaglygh
public void applyAnaglygh(STER stereoMode, int[] stereoColors)
- Parameters:
stereoMode-stereoColors-
-
setPass2
public boolean setPass2(boolean antialias)
- Parameters:
antialias-- Returns:
- true if need a second (translucent) pass
-
destroy
public void destroy()
-
clearFontCache
public void clearFontCache()
-
drawQuadrilateralBits
public void drawQuadrilateralBits(JmolRendererInterface jmolRenderer, short colix, javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.P3 screenD)
-
drawTriangleBits
public void drawTriangleBits(JmolRendererInterface renderer, javajs.util.P3 screenA, short colixA, javajs.util.P3 screenB, short colixB, javajs.util.P3 screenC, short colixC, int check)
-
plotImage
public void plotImage(int x, int y, int z, java.lang.Object image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height)- Parameters:
x-y-z-image-jmolRenderer-bgcolix-width-height-
-
plotText
public void plotText(int x, int y, int z, int colorArgbOrGray, int bgColor, java.lang.String text, javajs.awt.Font font3d, JmolRendererInterface jmolRenderer)- Parameters:
x-y-z-colorArgbOrGray-bgColor- TODOtext-font3d-jmolRenderer-
-
renderBackground
public void renderBackground(JmolRendererInterface jmolRenderer)
- Parameters:
jmolRenderer-
-
setFont
public void setFont(javajs.awt.Font font3d)
- Parameters:
font3d-
-
setFontFid
public void setFontFid(byte fid)
- Parameters:
fid-
-
setColor
public void setColor(int argb)
-
setC
public boolean setC(short colix)
- Parameters:
colix-- Returns:
- TRUE if correct pass (translucent or opaque)
-
isDirectedTowardsCamera
public boolean isDirectedTowardsCamera(short normix)
- Parameters:
normix-- Returns:
- true if front
-
roundInt
public static int roundInt(int a)
JavaScript won't really have an integer here after integer division. So we need to round it to the integer between it and zero.- Parameters:
a-- Returns:
- number closest to zero
-
clear
public void clear()
-
renderAllStrings
public void renderAllStrings(java.lang.Object jmolRenderer)
- Specified by:
renderAllStringsin interfaceJmolGraphicsInterface
-
addRenderer
public void addRenderer(int tok)
- Parameters:
tok-
-
getHermiteList
public static void getHermiteList(int tension, javajs.util.T3 p0, javajs.util.T3 p1, javajs.util.T3 p2, javajs.util.T3 p3, javajs.util.T3 p4, javajs.util.T3[] list, int index0, int n, boolean isPt)Used by Navigator, BioShapeRenderer, and DrawRenderer- Parameters:
tension-p0-p1-p2-p3-p4-list-index0-n-isPt-
-
setTextPosition
public void setTextPosition(int y)
-
getTextPosition
public int getTextPosition()
-
getTransformedVertexVectors
public javajs.util.V3[] getTransformedVertexVectors()
-
getFont3DCurrent
public javajs.awt.Font getFont3DCurrent()
-
-