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 int
ambientOcclusion
boolean
antialiasEnabled
protected boolean
antialiasThisFrame
javajs.api.GenericPlatform
apiPlatform
int
argbCurrent
int
argbNoisyDn
int
argbNoisyUp
protected java.lang.Object
backgroundImage
int
bgcolor
int
bufferSize
protected short[]
changeableColixMap
protected short
colixCurrent
protected javajs.awt.Font
currentFont
boolean
currentlyRendering
int
depth
protected int
displayMaxX
protected int
displayMaxX2
protected int
displayMaxY
protected int
displayMaxY2
protected int
displayMinX
protected int
displayMinX2
protected int
displayMinY
protected int
displayMinY2
static byte
ENDCAPS_FLAT
static byte
ENDCAPS_FLAT_TO_SPHERICAL
static byte
ENDCAPS_HIDDEN
static byte
ENDCAPS_NONE
static byte
ENDCAPS_OPEN_TO_SPHERICAL
static byte
ENDCAPS_SPHERICAL
static int
EXPORT_CARTESIAN
static int
EXPORT_NOT
static int
EXPORT_RAYTRACER
protected java.lang.Object
graphicsForMetrics
int
height
protected int
ht3
static int
HUGE
protected boolean
inGreyscaleMode
boolean
isPass2
protected boolean
newAntialiasing
protected int
newWindowHeight
protected int
newWindowWidth
protected static short
normixCount
Shader
shader
int
slab
protected int
textY
protected javajs.util.V3[]
transformedVectors
boolean
translucentCoverOnly
protected Viewer
vwr
int
width
protected int
windowHeight
protected int
windowWidth
static int
xGT
int
xLast
static int
xLT
static int
yGT
int
yLast
static int
yLT
static int
zGT
static int
zLT
-
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 void
addRenderer(int tok)
void
applyAnaglygh(STER stereoMode, int[] stereoColors)
void
beginRendering(javajs.util.M3 stereoRotationMatrix, boolean translucentMode, boolean isImageWrite, boolean renderLow)
void
changeColixArgb(int id, int argb)
void
clear()
void
clearFontCache()
int
clipCode(int z)
int
clipCode3(int x, int y, int z)
void
destroy()
void
drawQuadrilateralBits(JmolRendererInterface jmolRenderer, short colix, javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.P3 screenD)
void
drawTriangleBits(JmolRendererInterface renderer, javajs.util.P3 screenA, short colixA, javajs.util.P3 screenB, short colixB, javajs.util.P3 screenC, short colixC, int check)
void
endRendering()
int
getAmbientPercent()
boolean
getCel()
int
getCelPower()
short
getChangeableColix(int id, int argb)
int
getColorArgbOrGray(short colix)
int
getDiffusePercent()
javajs.awt.Font
getFont3D(float fontSize)
javajs.awt.Font
getFont3DCurrent()
javajs.awt.Font
getFont3DFS(java.lang.String fontFace, float fontSize)
javajs.awt.Font
getFont3DFSS(java.lang.String fontFace, java.lang.String fontStyle, float fontSize)
javajs.awt.Font
getFont3DScaled(javajs.awt.Font font, float scale)
byte
getFontFid(float fontSize)
byte
getFontFidFS(java.lang.String fontFace, float fontSize)
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 DrawRendererjavajs.util.V3
getLightSource()
int
getPhongExponent()
java.lang.Object
getScreenImage(boolean isImageWrite)
int[]
getShades(short colix)
boolean
getSpecular()
int
getSpecularExponent()
int
getSpecularPercent()
int
getSpecularPower()
int
getTextPosition()
javajs.util.V3[]
getTransformedVertexVectors()
void
initialize(Viewer vwr, javajs.api.GenericPlatform apiPlatform)
boolean
isAntialiased()
is full scene / oversampling antialiasing in effectboolean
isClipped(int x, int y)
boolean
isClipped3(int x, int y, int z)
boolean
isClippedXY(int diameter, int x, int y)
boolean
isClippedZ(int z)
boolean
isDirectedTowardsCamera(short normix)
boolean
isInDisplayRange(int x, int y)
void
plotImage(int x, int y, int z, java.lang.Object image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height)
void
plotText(int x, int y, int z, int colorArgbOrGray, int bgColor, java.lang.String text, javajs.awt.Font font3d, JmolRendererInterface jmolRenderer)
void
releaseScreenImage()
void
renderAllStrings(java.lang.Object jmolRenderer)
void
renderBackground(JmolRendererInterface jmolRenderer)
static int
roundInt(int a)
JavaScript won't really have an integer here after integer division.void
setAmbientOcclusion(int value)
void
setAmbientPercent(int val)
fractional distance from black for ambient colorvoid
setBackgroundArgb(int argb)
sets background color to the specified argb valuevoid
setBackgroundImage(java.lang.Object image)
void
setBackgroundTransparent(boolean TF)
boolean
setC(short colix)
void
setCel(boolean val)
void
setCelPower(int celPower)
void
setColor(int argb)
void
setDepth(int depthValue)
clipping from the front and the backvoid
setDiffusePercent(int val)
df in I = df * (N dot L) + sf * (R dot V)^pvoid
setFont(javajs.awt.Font font3d)
void
setFontFid(byte fid)
void
setGreyscaleMode(boolean greyscaleMode)
controls greyscale renderingvoid
setNewWindowParametersForExport()
boolean
setPass2(boolean antialias)
void
setPhongExponent(int val)
p in I = df * (N dot L) + sf * (R dot V)^pvoid
setSlab(int slabValue)
clipping from the front and the backvoid
setSlabAndZShade(int slab, int depth, int zSlab, int zDepth, int zPower)
void
setSpecular(boolean val)
void
setSpecularExponent(int val)
log_2(p) in I = df * (N dot L) + sf * (R dot V)^p for faster calculation of shadesvoid
setSpecularPercent(int val)
sf in I = df * (N dot L) + sf * (R dot V)^p not a percent of anything, reallyvoid
setSpecularPower(int val)
fractional distance to white for specular dotvoid
setTextPosition(int y)
protected void
setWidthHeight(boolean isAntialiased)
void
setWindowParameters(int width, int height, boolean antialias)
protected void
setWinParams(int width, int height, boolean antialias)
void
snapshotAnaglyphChannelBytes()
-
-
-
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:
setSlab
in interfaceJmolGraphicsInterface
- Parameters:
slabValue
- front clipping percentage [0,100]
-
setSlabAndZShade
public void setSlabAndZShade(int slab, int depth, int zSlab, int zDepth, int zPower)
- Specified by:
setSlabAndZShade
in 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:
isAntialiased
in 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:
isInDisplayRange
in interfaceJmolGraphicsInterface
-
isClippedXY
public boolean isClippedXY(int diameter, int x, int y)
- Specified by:
isClippedXY
in 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:
renderAllStrings
in 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()
-
-