|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jmol.g3d.Graphics3D
public final class Graphics3D
Provides high-level graphics primitives for 3D visualization.
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.
Field Summary | |
---|---|
(package private) boolean |
addAllPixels
|
private static int |
ALPHA_SHIFT
|
(package private) byte[] |
anaglyphChannelBytes
|
(package private) int |
anaglyphLength
|
private boolean |
antialias2
|
private boolean |
antialiasEnabled
|
private boolean |
antialiasThisFrame
|
(package private) int |
argbCurrent
|
(package private) int |
argbNoisyDn
|
(package private) int |
argbNoisyUp
|
java.awt.Image |
backgroundImage
|
int |
bgcolor
|
static short |
BLACK
|
static short |
BLUE
|
(package private) int |
bufferSize
|
private static short |
CHANGEABLE_MASK
|
private short[] |
changeableColixMap
changeable colixes give me a short ID and a color, and I will give you a colix later, you can reassign the color if you want Used only for colorManager coloring of elements |
(package private) Circle3D |
circle3d
|
(package private) short |
colixCurrent
|
private static int[] |
colorArgbs
|
private static java.lang.String[] |
colorNames
|
private int |
currentIntensity
|
(package private) boolean |
currentlyRendering
|
static short |
CYAN
|
(package private) Cylinder3D |
cylinder3d
|
(package private) int |
depth
|
(package private) int |
displayMaxX
|
(package private) int |
displayMaxY
|
(package private) int |
displayMinX
|
(package private) int |
displayMinY
|
static byte |
ENDCAPS_FLAT
|
static byte |
ENDCAPS_NONE
|
static byte |
ENDCAPS_OPEN
|
static byte |
ENDCAPS_OPENEND
|
static byte |
ENDCAPS_SPHERICAL
|
(package private) Font3D |
font3dCurrent
|
static short |
GOLD
|
static short |
GRAY
|
static short |
GREEN
|
(package private) boolean |
haveTranslucentObjects
|
(package private) int |
height
|
(package private) Hermite3D |
hermite3d
|
static short |
HOTPINK
|
(package private) boolean |
inGreyscaleMode
|
static short |
INHERIT_ALL
|
private static short |
INHERIT_COLOR
|
static byte |
intensitySpecularSurfaceLimit
|
(package private) boolean |
isFullSceneAntialiasingEnabled
|
(package private) boolean |
isPass2
|
(package private) boolean |
isScreened
|
(package private) boolean |
isTranslucent
|
(package private) static float[] |
lighting
|
static short |
LIME
|
(package private) Line3D |
line3d
|
static short |
MAGENTA
|
private static java.util.Hashtable |
mapJavaScriptColors
|
static short |
MAROON
|
static short |
NAVY
|
(package private) boolean |
newAntialiasing
|
(package private) int |
newWindowHeight
|
(package private) int |
newWindowWidth
|
(package private) Normix3D |
normix3d
|
static short |
OLIVE
|
static short |
OPAQUE_MASK
|
static short |
ORANGE
|
private int[] |
pbuf
|
private int[] |
pbufT
|
static short |
PINK
|
(package private) Platform3D |
platform
|
static short |
PURPLE
|
static short |
RED
|
static byte |
shadeLast
|
static byte |
shadeMax
|
static byte |
shadeNormal
|
(package private) int[] |
shadesCurrent
|
static short |
SILVER
|
(package private) int |
slab
|
(package private) static short |
SPECIAL_COLIX_MAX
|
(package private) Sphere3D |
sphere3d
|
static short |
TEAL
|
(package private) int |
translucencyMask
|
(package private) static int |
TRANSLUCENT_50
|
private static int |
TRANSLUCENT_MASK
|
private static int |
TRANSLUCENT_SCREENED
|
private static int |
TRANSLUCENT_SHIFT
|
private static int |
TRANSPARENT
|
(package private) Triangle3D |
triangle3d
|
(package private) boolean |
twoPass
|
private static short |
UNMASK_CHANGEABLE_TRANSLUCENT
|
(package private) static short |
UNUSED_OPTION3
|
static short |
USE_PALETTE
|
private javax.vecmath.Vector3f |
vectorAB
|
private javax.vecmath.Vector3f |
vectorAC
|
private javax.vecmath.Vector3f |
vectorNormal
|
static short |
WHITE
|
(package private) int |
width
|
(package private) int |
windowHeight
|
(package private) int |
windowWidth
|
(package private) int |
xLast
|
static short |
YELLOW
|
(package private) int |
yLast
|
(package private) int[] |
zbuf
|
private int[] |
zbufT
|
(package private) int |
zMargin
|
(package private) boolean |
zShade
|
Constructor Summary | |
---|---|
Graphics3D(java.awt.Component awtComponent)
Allocates a g3d object |
Method Summary | |
---|---|
(package private) void |
addPixel(int offset,
int z,
int p)
|
(package private) static void |
addPixelT(int offset,
int z,
int p,
int[] zbuf,
int[] pbuf,
int[] zbufT,
int[] pbufT,
int translucencyMask,
boolean isPass2,
int zMargin,
int bgcolor)
|
void |
applyBlueAnaglyph()
|
private static short |
applyColorTranslucencyLevel(short colix,
float translucentLevel)
|
void |
applyCustomAnaglyph(int[] stereoColors)
|
void |
applyCyanAnaglyph()
|
void |
applyGreenAnaglyph()
|
(package private) static void |
averageBufferPixel(int[] pIn,
int[] pOut,
int pt,
int dp)
|
void |
beginRendering(javax.vecmath.Matrix3f rotationMatrix)
|
static void |
calcAveragePoint(javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
javax.vecmath.Point3f pointC)
|
static void |
calcAveragePointN(javax.vecmath.Point3f[] points,
int nPoints,
javax.vecmath.Point3f averagePoint)
|
static void |
calcBestAxisThroughPoints(javax.vecmath.Point3f[] points,
javax.vecmath.Point3f axisA,
javax.vecmath.Vector3f axisUnitVector,
javax.vecmath.Vector3f vectorProjection,
int nTriesMax)
|
static int |
calcGreyscaleRgbFromRgb(int rgb)
Return a greyscale rgb value 0-FF using NTSC color luminance algorithm |
private int |
calcIntensityScreen(javax.vecmath.Point3f screenA,
javax.vecmath.Point3f screenB,
javax.vecmath.Point3f screenC)
|
static void |
calcNormalizedNormal(javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
javax.vecmath.Point3f pointC,
javax.vecmath.Vector3f vNormNorm,
javax.vecmath.Vector3f vAB,
javax.vecmath.Vector3f vAC)
|
int |
calcSurfaceShade(javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC)
|
void |
calcXYNormalToLine(javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
javax.vecmath.Vector3f vNormNorm)
|
void |
changeColixArgb(short id,
int argb)
|
boolean |
checkTranslucent(boolean isAlphaTranslucent)
|
static javax.vecmath.Point3f |
colorPointFromInt(int color,
javax.vecmath.Point3f pt)
|
static javax.vecmath.Point3f |
colorPointFromString(java.lang.String colorName,
javax.vecmath.Point3f pt)
|
boolean |
currentlyRendering()
|
void |
destroy()
|
static float |
distanceToPlane(javax.vecmath.Point4f plane,
float d,
javax.vecmath.Point3f pt)
|
static float |
distanceToPlane(javax.vecmath.Point4f plane,
javax.vecmath.Point3f pt)
|
static float |
distanceToPlane(javax.vecmath.Vector3f norm,
float w,
javax.vecmath.Point3f pt)
|
private void |
downsampleFullSceneAntialiasing(boolean downsampleZBuffer)
|
void |
drawCircleCentered(short colix,
int diameter,
int x,
int y,
int z,
boolean doFill)
draws a screened circle ... |
void |
drawCylinderTriangle(int xA,
int yA,
int zA,
int xB,
int yB,
int zB,
int xC,
int yC,
int zC,
int diameter)
|
void |
drawDashedLine(int run,
int rise,
javax.vecmath.Point3i pointA,
javax.vecmath.Point3i pointB)
|
void |
drawDottedLine(javax.vecmath.Point3i pointA,
javax.vecmath.Point3i pointB)
|
void |
drawfillTriangle(int xA,
int yA,
int zA,
int xB,
int yB,
int zB,
int xC,
int yC,
int zC)
|
void |
drawHermite(boolean fill,
boolean border,
int tension,
javax.vecmath.Point3i s0,
javax.vecmath.Point3i s1,
javax.vecmath.Point3i s2,
javax.vecmath.Point3i s3,
javax.vecmath.Point3i s4,
javax.vecmath.Point3i s5,
javax.vecmath.Point3i s6,
javax.vecmath.Point3i s7,
int aspectRatio)
|
void |
drawHermite(int tension,
javax.vecmath.Point3i s0,
javax.vecmath.Point3i s1,
javax.vecmath.Point3i s2,
javax.vecmath.Point3i s3)
|
private void |
drawHLine(int x,
int y,
int z,
int w)
|
void |
drawImage(java.awt.Image image,
int x,
int y,
int z,
int zSlab,
short bgcolix,
int width,
int height)
|
void |
drawLine(int x1,
int y1,
int z1,
int x2,
int y2,
int z2)
|
void |
drawLine(javax.vecmath.Point3i pointA,
javax.vecmath.Point3i pointB)
|
void |
drawLine(short colixA,
short colixB,
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)
|
void |
drawQuadrilateral(short colix,
javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC,
javax.vecmath.Point3i screenD)
|
void |
drawRect(int x,
int y,
int z,
int zSlab,
int rWidth,
int rHeight)
draws a rectangle |
void |
drawString(java.lang.String str,
Font3D font3d,
int xBaseline,
int yBaseline,
int z,
int zSlab)
draws the specified string in the current font. |
void |
drawStringNoSlab(java.lang.String str,
Font3D font3d,
int xBaseline,
int yBaseline,
int z)
draws the specified string in the current font. |
void |
drawTriangle(javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC,
int check)
|
void |
drawTriangle(javax.vecmath.Point3i screenA,
short colixA,
javax.vecmath.Point3i screenB,
short colixB,
javax.vecmath.Point3i screenC,
short colixC,
int check)
|
private void |
drawVLine(int x,
int y,
int z,
int h)
|
void |
endRendering()
|
void |
fillCone(byte endcap,
int diameter,
javax.vecmath.Point3f screenBase,
javax.vecmath.Point3f screenTip)
|
void |
fillCone(byte endcap,
int diameter,
javax.vecmath.Point3i screenBase,
javax.vecmath.Point3i screenTip)
|
void |
fillCylinder(byte endcaps,
int diameter,
int xA,
int yA,
int zA,
int xB,
int yB,
int zB)
|
void |
fillCylinder(byte endcaps,
int diameter,
javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB)
|
void |
fillCylinder(short colixA,
short colixB,
byte endcaps,
int diameter,
int xA,
int yA,
int zA,
int xB,
int yB,
int zB)
|
void |
fillCylinderBits(byte endcaps,
int diameter,
javax.vecmath.Point3f screenA,
javax.vecmath.Point3f screenB)
|
void |
fillHermite(int tension,
int diameterBeg,
int diameterMid,
int diameterEnd,
javax.vecmath.Point3i s0,
javax.vecmath.Point3i s1,
javax.vecmath.Point3i s2,
javax.vecmath.Point3i s3)
|
void |
fillQuadrilateral(javax.vecmath.Point3f screenA,
javax.vecmath.Point3f screenB,
javax.vecmath.Point3f screenC,
javax.vecmath.Point3f screenD)
|
void |
fillQuadrilateral(javax.vecmath.Point3i screenA,
short colixA,
short normixA,
javax.vecmath.Point3i screenB,
short colixB,
short normixB,
javax.vecmath.Point3i screenC,
short colixC,
short normixC,
javax.vecmath.Point3i 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 |
fillScreenedCircleCentered(short colixFill,
int diameter,
int x,
int y,
int z)
draws a screened circle ... |
void |
fillSphereCentered(int diameter,
int x,
int y,
int z)
fills a solid sphere |
void |
fillSphereCentered(int diameter,
javax.vecmath.Point3f center)
fills a solid sphere |
void |
fillSphereCentered(int diameter,
javax.vecmath.Point3i center)
fills a solid sphere |
void |
fillTriangle(javax.vecmath.Point3f screenA,
javax.vecmath.Point3f screenB,
javax.vecmath.Point3f screenC)
|
void |
fillTriangle(javax.vecmath.Point3i screenA,
int intensityA,
javax.vecmath.Point3i screenB,
int intensityB,
javax.vecmath.Point3i screenC,
int intensityC)
|
void |
fillTriangle(javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC)
|
void |
fillTriangle(javax.vecmath.Point3i screenA,
short colixA,
short normixA,
javax.vecmath.Point3i screenB,
short colixB,
short normixB,
javax.vecmath.Point3i screenC,
short colixC,
short normixC)
|
void |
fillTriangle(javax.vecmath.Point3i screenA,
short colixA,
short normixA,
javax.vecmath.Point3i screenB,
short colixB,
short normixB,
javax.vecmath.Point3i screenC,
short colixC,
short normixC,
float factor)
|
void |
fillTriangle(short normix,
int xScreenA,
int yScreenA,
int zScreenA,
int xScreenB,
int yScreenB,
int zScreenB,
int xScreenC,
int yScreenC,
int zScreenC)
|
(package private) static float |
findAxis(javax.vecmath.Point3f[] points,
int nPoints,
javax.vecmath.Point3f axisA,
javax.vecmath.Vector3f axisUnitVector,
javax.vecmath.Vector3f vectorProjection)
|
static void |
flushShadesAndSphereCaches()
|
short |
get2SidedNormix(javax.vecmath.Vector3f vector)
|
static int |
getAmbientPercent()
|
static int |
getArgbFromString(java.lang.String strColor)
accepts [xRRGGBB] or [0xRRGGBB] or [0xFFRRGGBB] or #RRGGBB or a valid JavaScript color |
short |
getChangeableColix(short id,
int argb)
|
static short |
getChangeableColixIndex(short colix)
|
static short |
getColix(int argb)
|
static short |
getColix(java.lang.Object obj)
|
static short |
getColix(java.lang.String colorName)
|
int |
getColixArgb(short colix)
|
static short |
getColixInherited(short myColix,
short parentColix)
|
static int |
getColixTranslucencyLevel(short colix)
|
static short |
getColixTranslucent(short colix,
boolean isTranslucent,
float translucentLevel)
|
static int |
getColorArgb(int i)
|
int |
getDepth()
gets g3d depth |
static int |
getDiffusePercent()
|
static float |
getDirectedNormalThroughPoints(javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
javax.vecmath.Point3f pointC,
javax.vecmath.Point3f ptRef,
javax.vecmath.Vector3f vNorm,
javax.vecmath.Vector3f vAB,
javax.vecmath.Vector3f vAC)
|
JmolExportInterface |
getExporter()
|
Font3D |
getFont3D(float fontSize)
|
Font3D |
getFont3D(java.lang.String fontFace,
float fontSize)
|
Font3D |
getFont3D(java.lang.String fontFace,
java.lang.String fontStyle,
float fontSize)
|
Font3D |
getFont3DCurrent()
|
Font3D |
getFont3DScaled(Font3D font,
float scale)
|
byte |
getFontFid(float fontSize)
|
byte |
getFontFid(java.lang.String fontFace,
float fontSize)
|
static void |
getHermiteList(int tension,
javax.vecmath.Tuple3f s0,
javax.vecmath.Tuple3f s1,
javax.vecmath.Tuple3f s2,
javax.vecmath.Tuple3f s3,
javax.vecmath.Tuple3f s4,
javax.vecmath.Tuple3f[] list,
int index0,
int n)
|
java.lang.String |
getHexColorFromIndex(short colix)
|
static java.lang.String |
getHexColorFromRGB(int argb)
|
short |
getInverseNormix(short normix)
|
static javax.vecmath.Point3f |
getLightSource()
|
static void |
getNormalFromCenter(javax.vecmath.Point3f ptCenter,
javax.vecmath.Point3f ptA,
javax.vecmath.Point3f ptB,
javax.vecmath.Point3f ptC,
boolean isOutward,
javax.vecmath.Vector3f normal)
|
static float |
getNormalThroughPoints(javax.vecmath.Point3f pointA,
javax.vecmath.Point3f pointB,
javax.vecmath.Point3f pointC,
javax.vecmath.Vector3f vNorm,
javax.vecmath.Vector3f vAB,
javax.vecmath.Vector3f vAC)
|
short |
getNormix(javax.vecmath.Vector3f vector)
|
javax.vecmath.Vector3f |
getNormixVector(short normix)
|
int |
getRenderHeight()
gets g3d height |
int |
getRenderWidth()
gets g3d width |
java.awt.Image |
getScreenImage()
|
(package private) int[] |
getShades(short colix)
|
int |
getSlab()
gets g3d slab |
static boolean |
getSpecular()
|
static int |
getSpecularExponent()
|
static int |
getSpecularPercent()
|
static int |
getSpecularPower()
|
javax.vecmath.Vector3f[] |
getTransformedVertexVectors()
|
(package private) int |
getZShift(int z)
|
boolean |
hasContent()
|
boolean |
haveTranslucentObjects()
|
boolean |
isAntialiased()
is full scene / oversampling antialiasing in effect |
private boolean |
isClipped(int x,
int y)
|
boolean |
isClipped(int x,
int y,
int z)
|
boolean |
isClippedXY(int diameter,
int x,
int y)
|
boolean |
isClippedZ(int z)
|
static boolean |
isColixColorInherited(short colix)
|
static boolean |
isColixTranslucent(short colix)
|
boolean |
isDirectedTowardsCamera(short normix)
|
boolean |
isDisplayAntialiased()
is full scene / oversampling antialiasing GENERALLY in effect |
boolean |
isInDisplayRange(int x,
int y)
|
(package private) static void |
mergeBufferPixel(int[] pbuf,
int argbB,
int pt,
int bgcolor)
|
(package private) void |
mergeOpaqueAndTranslucentBuffers()
|
void |
plotImage(int x,
int y,
int z,
java.awt.Image image,
JmolRendererInterface jmolRenderer,
short bgcolix,
int width,
int height)
|
(package private) void |
plotPixelClipped(int argb,
boolean isScreened,
int x,
int y,
int z)
|
(package private) void |
plotPixelClipped(int x,
int y,
int z)
|
(package private) void |
plotPixelClipped(int argb,
int x,
int y,
int z)
|
void |
plotPixelClipped(javax.vecmath.Point3i screen)
|
void |
plotPixelClippedNoSlab(int argb,
int x,
int y,
int z)
|
(package private) void |
plotPixelsClipped(int count,
int x,
int y,
int z)
|
(package private) void |
plotPixelsClipped(int count,
int x,
int y,
int zAtLeft,
int zPastRight,
Rgb16 rgb16Left,
Rgb16 rgb16Right)
|
(package private) void |
plotPixelsUnclipped(int count,
int x,
int y,
int z)
|
(package private) void |
plotPixelsUnclipped(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 |
plotPixelUnclipped(int argb,
int x,
int y,
int z)
|
private void |
plotPoints(int count,
int[] coordinates)
|
void |
plotText(int x,
int y,
int z,
int argb,
java.lang.String text,
Font3D font3d,
JmolRendererInterface jmolRenderer)
|
static void |
projectOntoAxis(javax.vecmath.Point3f point,
javax.vecmath.Point3f axisA,
javax.vecmath.Vector3f axisUnitVector,
javax.vecmath.Vector3f vectorProjection)
|
private void |
releaseBuffers()
|
void |
releaseScreenImage()
|
void |
renderBackground(JmolRendererInterface jmolRenderer)
|
void |
renderEllipsoid(int x,
int y,
int z,
int diameter,
javax.vecmath.Matrix3f mToEllipsoidal,
double[] coef,
javax.vecmath.Matrix4f mDeriv,
int selectedOctant,
javax.vecmath.Point3i[] octantPoints)
|
void |
renderIsosurface(javax.vecmath.Point3f[] vertices,
short colix,
short[] colixes,
javax.vecmath.Vector3f[] normals,
int[][] indices,
java.util.BitSet bsFaces,
int nVertices,
int faceVertexMax)
|
static void |
setAmbientPercent(int ambientPercent)
|
void |
setBackgroundArgb(int argb)
sets background color to the specified argb value |
void |
setBackgroundImage(java.awt.Image image)
|
void |
setBackgroundTransparent(boolean TF)
|
boolean |
setColix(short colix)
sets current color from colix color index |
private void |
setColixAndIntensity(short colix,
int intensity)
|
(package private) void |
setColorNoisy(int intensity)
|
static void |
setDiffusePercent(int diffusePercent)
|
void |
setFont(byte fid)
|
void |
setFont(Font3D font3d)
|
void |
setg3dExporter(Graphics3D g3d,
JmolExportInterface exporter)
|
void |
setGreyscaleMode(boolean greyscaleMode)
controls greyscale rendering |
boolean |
setPass2(boolean antialiasTranslucent)
|
void |
setRenderer(ShapeRenderer shapeRenderer)
|
void |
setSlab(int slabValue)
|
void |
setSlabAndDepthValues(int slabValue,
int depthValue,
boolean zShade)
clipping from the front and the back |
static void |
setSpecular(boolean specular)
|
static void |
setSpecularExponent(int specularExponent)
|
static void |
setSpecularPercent(int specularPercent)
|
static void |
setSpecularPower(int specularPower)
|
private void |
setWidthHeight(boolean isAntialiased)
|
void |
setWindowParameters(int width,
int height,
boolean antialias)
|
(package private) void |
setZMargin(int dz)
|
void |
snapshotAnaglyphChannelBytes()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
Platform3D platform
Line3D line3d
Circle3D circle3d
Sphere3D sphere3d
Triangle3D triangle3d
Cylinder3D cylinder3d
Hermite3D hermite3d
Normix3D normix3d
boolean isFullSceneAntialiasingEnabled
private boolean antialiasThisFrame
private boolean antialias2
private boolean antialiasEnabled
boolean inGreyscaleMode
byte[] anaglyphChannelBytes
boolean twoPass
boolean isPass2
boolean addAllPixels
boolean haveTranslucentObjects
int windowWidth
int windowHeight
int width
int height
int displayMinX
int displayMaxX
int displayMinY
int displayMaxY
int slab
int depth
boolean zShade
int xLast
int yLast
private int[] pbuf
private int[] pbufT
int[] zbuf
private int[] zbufT
int bufferSize
short colixCurrent
int[] shadesCurrent
int argbCurrent
boolean isTranslucent
boolean isScreened
int translucencyMask
int argbNoisyUp
int argbNoisyDn
Font3D font3dCurrent
public static final byte ENDCAPS_NONE
public static final byte ENDCAPS_OPEN
public static final byte ENDCAPS_FLAT
public static final byte ENDCAPS_SPHERICAL
public static final byte ENDCAPS_OPENEND
public static final byte shadeMax
public static final byte shadeLast
public static final byte shadeNormal
public static final byte intensitySpecularSurfaceLimit
public static final short INHERIT_ALL
public static final short USE_PALETTE
public static final short BLACK
public static final short ORANGE
public static final short PINK
public static final short BLUE
public static final short WHITE
public static final short CYAN
public static final short RED
public static final short GREEN
public static final short GRAY
public static final short SILVER
public static final short LIME
public static final short MAROON
public static final short NAVY
public static final short OLIVE
public static final short PURPLE
public static final short TEAL
public static final short MAGENTA
public static final short YELLOW
public static final short HOTPINK
public static final short GOLD
int newWindowWidth
int newWindowHeight
boolean newAntialiasing
int anaglyphLength
public java.awt.Image backgroundImage
public int bgcolor
private int currentIntensity
int zMargin
boolean currentlyRendering
private static final short CHANGEABLE_MASK
private static final short UNMASK_CHANGEABLE_TRANSLUCENT
private static final int TRANSLUCENT_SHIFT
private static final int ALPHA_SHIFT
private static final int TRANSLUCENT_MASK
private static final int TRANSLUCENT_SCREENED
private static final int TRANSPARENT
static final int TRANSLUCENT_50
public static final short OPAQUE_MASK
private static final short INHERIT_COLOR
static final short UNUSED_OPTION3
static final short SPECIAL_COLIX_MAX
private short[] changeableColixMap
static final float[] lighting
private final javax.vecmath.Vector3f vectorAB
private final javax.vecmath.Vector3f vectorAC
private final javax.vecmath.Vector3f vectorNormal
private static final java.lang.String[] colorNames
private static final int[] colorArgbs
private static final java.util.Hashtable mapJavaScriptColors
Constructor Detail |
---|
public Graphics3D(java.awt.Component awtComponent)
awtComponent
- the java.awt.Component where the image will be drawnMethod Detail |
---|
public void destroy()
public boolean isDisplayAntialiased()
public boolean isAntialiased()
isAntialiased
in interface JmolRendererInterface
public void setg3dExporter(Graphics3D g3d, JmolExportInterface exporter)
setg3dExporter
in interface JmolRendererInterface
public JmolExportInterface getExporter()
getExporter
in interface JmolRendererInterface
public void setRenderer(ShapeRenderer shapeRenderer)
setRenderer
in interface JmolRendererInterface
public boolean currentlyRendering()
public void setWindowParameters(int width, int height, boolean antialias)
private void setWidthHeight(boolean isAntialiased)
public boolean checkTranslucent(boolean isAlphaTranslucent)
checkTranslucent
in interface JmolRendererInterface
public void beginRendering(javax.vecmath.Matrix3f rotationMatrix)
private void releaseBuffers()
public boolean setPass2(boolean antialiasTranslucent)
public void endRendering()
public void snapshotAnaglyphChannelBytes()
public void applyCustomAnaglyph(int[] stereoColors)
public void applyGreenAnaglyph()
public void applyBlueAnaglyph()
public void applyCyanAnaglyph()
public java.awt.Image getScreenImage()
public void releaseScreenImage()
public boolean haveTranslucentObjects()
haveTranslucentObjects
in interface JmolRendererInterface
public int getRenderWidth()
getRenderWidth
in interface JmolRendererInterface
public int getRenderHeight()
getRenderHeight
in interface JmolRendererInterface
public int getSlab()
getSlab
in interface JmolRendererInterface
public int getDepth()
getDepth
in interface JmolRendererInterface
public void setBackgroundTransparent(boolean TF)
public void setBackgroundArgb(int argb)
argb
- an argb value with alpha channelpublic void setBackgroundImage(java.awt.Image image)
public void setGreyscaleMode(boolean greyscaleMode)
greyscaleMode
- Flag for greyscale renderingpublic void setSlabAndDepthValues(int slabValue, int depthValue, boolean zShade)
the plane is defined as a percentage from the back of the image to the front
For slab values:
for depth values:
slabValue
- front clipping percentage [0,100]depthValue
- rear clipping percentage [0,100]zShade
- whether to shade along z front to backpublic void setSlab(int slabValue)
setSlab
in interface JmolRendererInterface
int getZShift(int z)
private void downsampleFullSceneAntialiasing(boolean downsampleZBuffer)
void mergeOpaqueAndTranslucentBuffers()
static void averageBufferPixel(int[] pIn, int[] pOut, int pt, int dp)
static void mergeBufferPixel(int[] pbuf, int argbB, int pt, int bgcolor)
public boolean hasContent()
private void setColixAndIntensity(short colix, int intensity)
public boolean setColix(short colix)
setColix
in interface JmolRendererInterface
colix
- the color index
void setColorNoisy(int intensity)
void setZMargin(int dz)
void addPixel(int offset, int z, int p)
static final void addPixelT(int offset, int z, int p, int[] zbuf, int[] pbuf, int[] zbufT, int[] pbufT, int translucencyMask, boolean isPass2, int zMargin, int bgcolor)
public void drawCircleCentered(short colix, int diameter, int x, int y, int z, boolean doFill)
drawCircleCentered
in interface JmolRendererInterface
colix
- the color indexdiameter
- the pixel diameterx
- center xy
- center yz
- center zdoFill
- fill or notpublic void fillScreenedCircleCentered(short colixFill, int diameter, int x, int y, int z)
JmolRendererInterface
fillScreenedCircleCentered
in interface JmolRendererInterface
colixFill
- the color indexdiameter
- the pixel diameterx
- center xy
- center yz
- center zpublic void fillSphereCentered(int diameter, int x, int y, int z)
fillSphereCentered
in interface JmolRendererInterface
diameter
- pixel countx
- center xy
- center yz
- center zpublic void fillSphereCentered(int diameter, javax.vecmath.Point3i center)
fillSphereCentered
in interface JmolRendererInterface
diameter
- pixel countcenter
- javax.vecmath.Point3i defining the centerpublic void fillSphereCentered(int diameter, javax.vecmath.Point3f center)
fillSphereCentered
in interface JmolRendererInterface
diameter
- pixel countcenter
- a javax.vecmath.Point3f ... floats are casted to intspublic void renderEllipsoid(int x, int y, int z, int diameter, javax.vecmath.Matrix3f mToEllipsoidal, double[] coef, javax.vecmath.Matrix4f mDeriv, int selectedOctant, javax.vecmath.Point3i[] octantPoints)
renderEllipsoid
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, Font3D font3d, int xBaseline, int yBaseline, int z, int zSlab)
drawString
in interface JmolRendererInterface
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zzSlab
- z for slab calculationpublic void drawStringNoSlab(java.lang.String str, Font3D font3d, int xBaseline, int yBaseline, int z)
drawStringNoSlab
in interface JmolRendererInterface
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zpublic void plotText(int x, int y, int z, int argb, java.lang.String text, Font3D font3d, JmolRendererInterface jmolRenderer)
public void drawImage(java.awt.Image image, 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.awt.Image image, JmolRendererInterface jmolRenderer, short bgcolix, int width, int height)
public void setFont(byte fid)
setFont
in interface JmolRendererInterface
public void setFont(Font3D font3d)
public Font3D getFont3DCurrent()
getFont3DCurrent
in interface JmolRendererInterface
public void drawPixel(int x, int y, int z)
drawPixel
in interface JmolRendererInterface
public void drawPoints(int count, int[] coordinates)
drawPoints
in interface JmolRendererInterface
public void drawDashedLine(int run, int rise, javax.vecmath.Point3i pointA, javax.vecmath.Point3i pointB)
drawDashedLine
in interface JmolRendererInterface
public void drawDottedLine(javax.vecmath.Point3i pointA, javax.vecmath.Point3i pointB)
drawDottedLine
in interface JmolRendererInterface
public void drawLine(int x1, int y1, int z1, int x2, int y2, int z2)
drawLine
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 drawLine(javax.vecmath.Point3i pointA, javax.vecmath.Point3i pointB)
drawLine
in interface JmolRendererInterface
public void fillCylinder(short colixA, short colixB, byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)
fillCylinder
in interface JmolRendererInterface
public void fillCylinder(byte endcaps, int diameter, int xA, int yA, int zA, int xB, int yB, int zB)
fillCylinder
in interface JmolRendererInterface
public void fillCylinder(byte endcaps, int diameter, javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB)
fillCylinder
in interface JmolRendererInterface
public void fillCylinderBits(byte endcaps, int diameter, javax.vecmath.Point3f screenA, javax.vecmath.Point3f screenB)
fillCylinderBits
in interface JmolRendererInterface
public void fillCone(byte endcap, int diameter, javax.vecmath.Point3i screenBase, javax.vecmath.Point3i screenTip)
fillCone
in interface JmolRendererInterface
public void fillCone(byte endcap, int diameter, javax.vecmath.Point3f screenBase, javax.vecmath.Point3f screenTip)
fillCone
in interface JmolRendererInterface
public void drawHermite(int tension, javax.vecmath.Point3i s0, javax.vecmath.Point3i s1, javax.vecmath.Point3i s2, javax.vecmath.Point3i s3)
drawHermite
in interface JmolRendererInterface
public void drawHermite(boolean fill, boolean border, int tension, javax.vecmath.Point3i s0, javax.vecmath.Point3i s1, javax.vecmath.Point3i s2, javax.vecmath.Point3i s3, javax.vecmath.Point3i s4, javax.vecmath.Point3i s5, javax.vecmath.Point3i s6, javax.vecmath.Point3i s7, int aspectRatio)
drawHermite
in interface JmolRendererInterface
public void fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, javax.vecmath.Point3i s0, javax.vecmath.Point3i s1, javax.vecmath.Point3i s2, javax.vecmath.Point3i s3)
fillHermite
in interface JmolRendererInterface
public static void getHermiteList(int tension, javax.vecmath.Tuple3f s0, javax.vecmath.Tuple3f s1, javax.vecmath.Tuple3f s2, javax.vecmath.Tuple3f s3, javax.vecmath.Tuple3f s4, javax.vecmath.Tuple3f[] list, int index0, int n)
public void drawTriangle(javax.vecmath.Point3i screenA, short colixA, javax.vecmath.Point3i screenB, short colixB, javax.vecmath.Point3i screenC, short colixC, int check)
drawTriangle
in interface JmolRendererInterface
public void drawTriangle(javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC, int check)
drawTriangle
in interface JmolRendererInterface
public void drawCylinderTriangle(int xA, int yA, int zA, int xB, int yB, int zB, int xC, int yC, int zC, int diameter)
drawCylinderTriangle
in interface JmolRendererInterface
public void drawfillTriangle(int xA, int yA, int zA, int xB, int yB, int zB, int xC, int yC, int zC)
drawfillTriangle
in interface JmolRendererInterface
public void fillTriangle(javax.vecmath.Point3i screenA, int intensityA, javax.vecmath.Point3i screenB, int intensityB, javax.vecmath.Point3i screenC, int intensityC)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle(javax.vecmath.Point3i screenA, short colixA, short normixA, javax.vecmath.Point3i screenB, short colixB, short normixB, javax.vecmath.Point3i screenC, short colixC, short normixC)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle(short normix, int xScreenA, int yScreenA, int zScreenA, int xScreenB, int yScreenB, int zScreenB, int xScreenC, int yScreenC, int zScreenC)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle(javax.vecmath.Point3f screenA, javax.vecmath.Point3f screenB, javax.vecmath.Point3f screenC)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle(javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC)
fillTriangle
in interface JmolRendererInterface
public void fillTriangle(javax.vecmath.Point3i screenA, short colixA, short normixA, javax.vecmath.Point3i screenB, short colixB, short normixB, javax.vecmath.Point3i screenC, short colixC, short normixC, float factor)
fillTriangle
in interface JmolRendererInterface
public void drawQuadrilateral(short colix, javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC, javax.vecmath.Point3i screenD)
drawQuadrilateral
in interface JmolRendererInterface
public void fillQuadrilateral(javax.vecmath.Point3f screenA, javax.vecmath.Point3f screenB, javax.vecmath.Point3f screenC, javax.vecmath.Point3f screenD)
fillQuadrilateral
in interface JmolRendererInterface
public void fillQuadrilateral(javax.vecmath.Point3i screenA, short colixA, short normixA, javax.vecmath.Point3i screenB, short colixB, short normixB, javax.vecmath.Point3i screenC, short colixC, short normixC, javax.vecmath.Point3i screenD, short colixD, short normixD)
fillQuadrilateral
in interface JmolRendererInterface
public void renderIsosurface(javax.vecmath.Point3f[] vertices, short colix, short[] colixes, javax.vecmath.Vector3f[] normals, int[][] indices, java.util.BitSet bsFaces, int nVertices, int faceVertexMax)
renderIsosurface
in interface JmolRendererInterface
public boolean isClipped(int x, int y, int z)
private boolean isClipped(int x, int y)
public boolean isInDisplayRange(int x, int y)
isInDisplayRange
in interface JmolRendererInterface
public boolean isClippedXY(int diameter, int x, int y)
isClippedXY
in interface JmolRendererInterface
public boolean isClippedZ(int z)
isClippedZ
in interface JmolRendererInterface
void plotPixelClipped(int x, int y, int z)
public void plotPixelClipped(javax.vecmath.Point3i screen)
plotPixelClipped
in interface JmolRendererInterface
void plotPixelClipped(int argb, int x, int y, int z)
public void plotPixelClippedNoSlab(int argb, int x, int y, int z)
plotPixelClippedNoSlab
in interface JmolRendererInterface
void plotPixelClipped(int argb, boolean isScreened, int x, int y, int z)
void plotPixelUnclipped(int x, int y, int z)
void plotPixelUnclipped(int argb, int x, int y, int z)
void plotPixelsClipped(int count, int x, int y, int z)
void plotPixelsClipped(int count, int x, int y, int zAtLeft, int zPastRight, Rgb16 rgb16Left, Rgb16 rgb16Right)
void plotPixelsUnclipped(int count, int x, int y, int zAtLeft, int zPastRight, Rgb16 rgb16Left, Rgb16 rgb16Right)
void plotPixelsUnclipped(int count, int x, int y, int z)
private void plotPoints(int count, int[] coordinates)
public static int calcGreyscaleRgbFromRgb(int rgb)
the alpha component is set to 0xFF. If you want a value in the range 0-255 then & the result with 0xFF;
rgb
- the rgb value
public static short getColix(int argb)
public static final javax.vecmath.Point3f colorPointFromInt(int color, javax.vecmath.Point3f pt)
public static final javax.vecmath.Point3f colorPointFromString(java.lang.String colorName, javax.vecmath.Point3f pt)
public static short getColix(java.lang.String colorName)
private static final short applyColorTranslucencyLevel(short colix, float translucentLevel)
public static final int getColixTranslucencyLevel(short colix)
public static short getColix(java.lang.Object obj)
public static final short getColixTranslucent(short colix, boolean isTranslucent, float translucentLevel)
public int getColixArgb(short colix)
getColixArgb
in interface JmolRendererInterface
int[] getShades(short colix)
public static final short getChangeableColixIndex(short colix)
public static final boolean isColixTranslucent(short colix)
public static final short getColixInherited(short myColix, short parentColix)
public static final boolean isColixColorInherited(short colix)
public java.lang.String getHexColorFromIndex(short colix)
getHexColorFromIndex
in interface JmolRendererInterface
public static java.lang.String getHexColorFromRGB(int argb)
public short getChangeableColix(short id, int argb)
public void changeColixArgb(short id, int argb)
public static void flushShadesAndSphereCaches()
public static void setSpecular(boolean specular)
public static boolean getSpecular()
public static void setSpecularPower(int specularPower)
public static int getSpecularPower()
public static void setSpecularPercent(int specularPercent)
public static int getSpecularPercent()
public static void setSpecularExponent(int specularExponent)
public static int getSpecularExponent()
public static void setDiffusePercent(int diffusePercent)
public static int getDiffusePercent()
public static void setAmbientPercent(int ambientPercent)
public static int getAmbientPercent()
public static javax.vecmath.Point3f getLightSource()
public int calcSurfaceShade(javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC)
calcSurfaceShade
in interface JmolRendererInterface
private int calcIntensityScreen(javax.vecmath.Point3f screenA, javax.vecmath.Point3f screenB, javax.vecmath.Point3f screenC)
public Font3D getFont3D(float fontSize)
public Font3D getFont3D(java.lang.String fontFace, float fontSize)
public Font3D getFont3D(java.lang.String fontFace, java.lang.String fontStyle, float fontSize)
public Font3D getFont3DScaled(Font3D font, float scale)
getFont3DScaled
in interface JmolRendererInterface
public byte getFontFid(float fontSize)
getFontFid
in interface JmolRendererInterface
public byte getFontFid(java.lang.String fontFace, float fontSize)
getFontFid
in interface JmolRendererInterface
public static int getColorArgb(int i)
public static int getArgbFromString(java.lang.String strColor)
strColor
-
public static float distanceToPlane(javax.vecmath.Point4f plane, javax.vecmath.Point3f pt)
public static float distanceToPlane(javax.vecmath.Point4f plane, float d, javax.vecmath.Point3f pt)
public static float distanceToPlane(javax.vecmath.Vector3f norm, float w, javax.vecmath.Point3f pt)
public static void calcNormalizedNormal(javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, javax.vecmath.Point3f pointC, javax.vecmath.Vector3f vNormNorm, javax.vecmath.Vector3f vAB, javax.vecmath.Vector3f vAC)
public static float getDirectedNormalThroughPoints(javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, javax.vecmath.Point3f pointC, javax.vecmath.Point3f ptRef, javax.vecmath.Vector3f vNorm, javax.vecmath.Vector3f vAB, javax.vecmath.Vector3f vAC)
public static float getNormalThroughPoints(javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, javax.vecmath.Point3f pointC, javax.vecmath.Vector3f vNorm, javax.vecmath.Vector3f vAB, javax.vecmath.Vector3f vAC)
public static void getNormalFromCenter(javax.vecmath.Point3f ptCenter, javax.vecmath.Point3f ptA, javax.vecmath.Point3f ptB, javax.vecmath.Point3f ptC, boolean isOutward, javax.vecmath.Vector3f normal)
public void calcXYNormalToLine(javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, javax.vecmath.Vector3f vNormNorm)
public static void projectOntoAxis(javax.vecmath.Point3f point, javax.vecmath.Point3f axisA, javax.vecmath.Vector3f axisUnitVector, javax.vecmath.Vector3f vectorProjection)
public static void calcBestAxisThroughPoints(javax.vecmath.Point3f[] points, javax.vecmath.Point3f axisA, javax.vecmath.Vector3f axisUnitVector, javax.vecmath.Vector3f vectorProjection, int nTriesMax)
static float findAxis(javax.vecmath.Point3f[] points, int nPoints, javax.vecmath.Point3f axisA, javax.vecmath.Vector3f axisUnitVector, javax.vecmath.Vector3f vectorProjection)
public static void calcAveragePoint(javax.vecmath.Point3f pointA, javax.vecmath.Point3f pointB, javax.vecmath.Point3f pointC)
public static void calcAveragePointN(javax.vecmath.Point3f[] points, int nPoints, javax.vecmath.Point3f averagePoint)
public short getNormix(javax.vecmath.Vector3f vector)
getNormix
in interface JmolRendererInterface
public short getInverseNormix(short normix)
getInverseNormix
in interface JmolRendererInterface
public short get2SidedNormix(javax.vecmath.Vector3f vector)
public boolean isDirectedTowardsCamera(short normix)
isDirectedTowardsCamera
in interface JmolRendererInterface
public javax.vecmath.Vector3f[] getTransformedVertexVectors()
getTransformedVertexVectors
in interface JmolRendererInterface
public javax.vecmath.Vector3f getNormixVector(short normix)
getNormixVector
in interface JmolRendererInterface
public void renderBackground(JmolRendererInterface jmolRenderer)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |