Package org.jmol.util
Class GData
java.lang.Object
org.jmol.util.GData
- All Implemented Interfaces:
JmolGraphicsInterface
- Direct Known Subclasses:
Graphics3D
-
Field Summary
FieldsModifier and TypeFieldDescriptionint
boolean
protected boolean
int
int
int
protected Object
int
int
protected short[]
protected short
protected Font
boolean
int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
protected int
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final int
static final int
static final int
protected Object
int
protected int
static final int
protected boolean
boolean
protected boolean
protected int
protected int
protected static short
int
protected int
protected javajs.util.V3[]
boolean
protected Viewer
int
protected int
protected int
static final int
int
static final int
static final int
int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
int
clipCode
(int z) int
clipCode3
(int x, int y, int z) void
destroy()
void
drawLinePixels
(javajs.util.P3i sA, javajs.util.P3i sB, int z, int zslab) 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
int
boolean
getCel()
int
short
getChangeableColix
(int id, int argb) int
getColorArgbOrGray
(short colix) int
getFont3D
(float fontSize) getFont3DFS
(String fontFace, float fontSize) getFont3DFSS
(String fontFace, String fontStyle, float fontSize) getFont3DScaled
(Font font, float scale) int
getFontFidFS
(String fontFace, float fontSize) int
getFontFidI
(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
int
getScreenImage
(boolean isImageWrite) int[]
getShades
(short colix) boolean
int
int
int
int
javajs.util.V3[]
void
initialize
(Viewer vwr, GenericPlatform apiPlatform) boolean
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, Object image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height) void
plotText
(int x, int y, int z, int colorArgbOrGray, int bgColor, String text, Font font3d, JmolRendererInterface jmolRenderer) void
void
renderAllStrings
(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
(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
void
setFontBold
(String fontFace, float fontSize) void
setGreyscaleMode
(boolean greyscaleMode) controls greyscale renderingvoid
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
-
Field Details
-
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
-
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
-
vwr
-
ENDCAPS_NONE
public static final byte ENDCAPS_NONE- See Also:
-
ENDCAPS_HIDDEN
public static final byte ENDCAPS_HIDDEN- See Also:
-
ENDCAPS_FLAT
public static final byte ENDCAPS_FLAT- See Also:
-
ENDCAPS_SPHERICAL
public static final byte ENDCAPS_SPHERICAL- See Also:
-
ENDCAPS_OPEN_TO_SPHERICAL
public static final byte ENDCAPS_OPEN_TO_SPHERICAL- See Also:
-
ENDCAPS_FLAT_TO_SPHERICAL
public static final byte ENDCAPS_FLAT_TO_SPHERICAL- See Also:
-
graphicsForMetrics
-
EXPORT_RAYTRACER
public static final int EXPORT_RAYTRACER- See Also:
-
EXPORT_CARTESIAN
public static final int EXPORT_CARTESIAN- See Also:
-
EXPORT_NOT
public static final int EXPORT_NOT- See Also:
-
yGT
public static final int yGT- See Also:
-
yLT
public static final int yLT- See Also:
-
xGT
public static final int xGT- See Also:
-
xLT
public static final int xLT- See Also:
-
zGT
public static final int zGT- See Also:
-
zLT
public static final int zLT- See Also:
-
HUGE
public static final int HUGE- See Also:
-
currentFont
-
argbNoisyUp
public int argbNoisyUp -
argbNoisyDn
public int argbNoisyDn -
transformedVectors
protected javajs.util.V3[] transformedVectors -
normixCount
protected static short normixCount
-
-
Constructor Details
-
GData
public GData()It is possible to instantiate this class with no Graphics3D. This will happen in the case of WebGL.
-
-
Method Details
-
initialize
-
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
-
getFont3DFS
-
getFontFidFS
-
getFont3DFSS
-
getFont3DScaled
-
getFontFidI
public int getFontFidI(float fontSize) -
getFont3DCurrent
-
setFont
- Parameters:
font3d
-
-
setFontBold
-
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
-
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
- Parameters:
isImageWrite
-- Returns:
- image object
-
releaseScreenImage
public void releaseScreenImage() -
applyAnaglygh
- 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, 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, String text, Font font3d, JmolRendererInterface jmolRenderer) - Parameters:
x
-y
-z
-colorArgbOrGray
-bgColor
- TODOtext
-font3d
-jmolRenderer
-
-
renderBackground
- Parameters:
jmolRenderer
-
-
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
- 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() -
drawLinePixels
public void drawLinePixels(javajs.util.P3i sA, javajs.util.P3i sB, int z, int zslab) - Specified by:
drawLinePixels
in interfaceJmolGraphicsInterface
-