Package org.jmol.export
Class Export3D
- java.lang.Object
-
- org.jmol.export.Export3D
-
- All Implemented Interfaces:
JmolGraphicsInterface
,JmolRendererInterface
public class Export3D extends java.lang.Object implements JmolRendererInterface
-
-
Field Summary
Fields Modifier and Type Field Description private short
colix
private int
depth
protected ___Exporter
exporter
(package private) java.lang.String
exportName
private GData
gdata
private int
height
private HermiteRenderer
hermite3d
private boolean
isCartesian
private double
privateKey
private javajs.util.P3
ptA
private javajs.util.P3
ptB
private javajs.util.P3
ptC
private javajs.util.P3
ptD
private int
slab
private boolean
webGL
private int
width
-
Constructor Summary
Constructors Constructor Description Export3D()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRenderer(int tok)
boolean
checkTranslucent(boolean isAlphaTranslucent)
int
clipCode(int x, int y, int z)
void
drawAtom(Atom atom, float radius)
void
drawBond(javajs.util.P3 atomA, javajs.util.P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)
void
drawCircle(short colix, int diameter, int x, int y, int z, boolean doFill)
draws a simple circle (draw circle)void
drawDashedLineBits(int run, int rise, javajs.util.P3 pointA, javajs.util.P3 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 screened circle ...void
drawHermite4(int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)
void
drawHermite7(boolean fill, boolean border, int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3, javajs.util.P3 s4, javajs.util.P3 s5, javajs.util.P3 s6, javajs.util.P3 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 xA, int yA, int zA, int xB, int yB, int zB)
void
drawLineAB(javajs.util.P3 pointA, javajs.util.P3 pointB)
void
drawLineBits(short colixA, short colixB, javajs.util.P3 pointA, javajs.util.P3 pointB)
void
drawLineBits(javajs.util.P3 screenA, javajs.util.P3 screenB, short colixA, short colixB)
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
drawRect(int x, int y, int z, int zSlab, int rWidth, int rHeight)
draws a rectanglevoid
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)
private void
drawVLine(int x, int y, int z, int h)
void
fillConeScreen3f(byte endcap, int screenDiameter, javajs.util.P3 pointBase, javajs.util.P3 screenTip, boolean isBarb)
void
fillCylinder(byte endcaps, int diameter, javajs.util.P3i pointA, javajs.util.P3i pointB)
void
fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB)
void
fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, javajs.util.P3 screenA, javajs.util.P3 screenB)
void
fillCylinderScreen3I(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pt0f, javajs.util.P3 pt1f, float radius)
void
fillCylinderXYZ(short colixA, short colixB, byte endcaps, int mad, 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.P3[] octantPoints)
void
fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)
void
fillQuadrilateral(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, javajs.util.P3 pointD, boolean isSolid)
void
fillSphereBits(int diameter, javajs.util.P3 center)
fills a solid spherevoid
fillSphereI(int diameter, javajs.util.P3i center)
fills a solid spherevoid
fillSphereXYZ(int diameter, int x, int y, int z)
fills a solid spherevoid
fillTextRect(int x, int y, int z, int zSlab, int widthFill, int heightFill)
fills background rectangle for labelvoid
fillTriangle3CN(javajs.util.P3i pointA, short colixA, short normixA, javajs.util.P3i pointB, short colixB, short normixB, javajs.util.P3i pointC, short colixC, short normixC)
void
fillTriangle3CNBits(javajs.util.P3 pA, short colixA, short nA, javajs.util.P3 pB, short colixB, short nB, javajs.util.P3 pC, short colixC, short nC, boolean twoSided)
void
fillTriangle3f(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, boolean setNoisy)
void
fillTriangle3i(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.T3 ptA0, javajs.util.T3 ptB0, javajs.util.T3 ptC0, boolean doShade)
void
fillTriangleTwoSided(short normix, javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
java.lang.String
finalizeOutput()
java.lang.String
getExportName()
int
getExportType()
double
getPrivateKey()
boolean
haveTranslucentObjects()
java.lang.Object
initializeExporter(Viewer vwr, double privateKey, GData gdata, java.util.Map<java.lang.String,java.lang.Object> params)
boolean
initializeOutput(Viewer vwr, double privateKey, java.util.Map<java.lang.String,java.lang.Object> params)
boolean
isAntialiased()
is full scene / oversampling antialiasing in effectprotected boolean
isClipped(int x, int y)
boolean
isClipped(int x, int y, int z)
boolean
isClippedXY(int diameter, int x, int y)
boolean
isInDisplayRange(int x, int y)
boolean
isWebGL()
void
plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] pbuf, java.lang.Object p, int transpLog)
(package private) void
plotPixelClipped(int x, int y, int z)
void
plotPixelClippedP3i(javajs.util.P3i screen)
void
renderAllStrings(java.lang.Object jr)
void
renderBackground(JmolRendererInterface me)
void
renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, javajs.util.P3 navigationOffset, float navigationDepthPercent)
boolean
setC(short colix)
sets current color from colix color indexvoid
setSlab(int slabValue)
void
setSlabAndZShade(int slabValue, int depthValue, int zSlab, int zDepth, int zPower)
void
volumeRender(boolean TF)
void
volumeRender4(int diam, int x, int y, int z)
-
-
-
Field Detail
-
exporter
protected ___Exporter exporter
-
privateKey
private double privateKey
-
gdata
private GData gdata
-
colix
private short colix
-
hermite3d
private HermiteRenderer hermite3d
-
width
private int width
-
height
private int height
-
slab
private int slab
-
depth
private int depth
-
exportName
java.lang.String exportName
-
webGL
private boolean webGL
-
isCartesian
private boolean isCartesian
-
ptA
private javajs.util.P3 ptA
-
ptB
private javajs.util.P3 ptB
-
ptC
private javajs.util.P3 ptC
-
ptD
private javajs.util.P3 ptD
-
-
Method Detail
-
isWebGL
public boolean isWebGL()
- Specified by:
isWebGL
in interfaceJmolRendererInterface
-
initializeExporter
public java.lang.Object initializeExporter(Viewer vwr, double privateKey, GData gdata, java.util.Map<java.lang.String,java.lang.Object> params)
- Specified by:
initializeExporter
in interfaceJmolRendererInterface
-
initializeOutput
public boolean initializeOutput(Viewer vwr, double privateKey, java.util.Map<java.lang.String,java.lang.Object> params)
- Specified by:
initializeOutput
in interfaceJmolRendererInterface
-
getExportType
public int getExportType()
- Specified by:
getExportType
in interfaceJmolRendererInterface
-
getExportName
public java.lang.String getExportName()
- Specified by:
getExportName
in interfaceJmolRendererInterface
-
finalizeOutput
public java.lang.String finalizeOutput()
- Specified by:
finalizeOutput
in interfaceJmolRendererInterface
-
setSlab
public void setSlab(int slabValue)
- Specified by:
setSlab
in interfaceJmolGraphicsInterface
-
setSlabAndZShade
public void setSlabAndZShade(int slabValue, int depthValue, int zSlab, int zDepth, int zPower)
- Specified by:
setSlabAndZShade
in interfaceJmolGraphicsInterface
-
renderBackground
public void renderBackground(JmolRendererInterface me)
- Specified by:
renderBackground
in interfaceJmolRendererInterface
-
drawAtom
public void drawAtom(Atom atom, float radius)
- Specified by:
drawAtom
in interfaceJmolRendererInterface
-
drawRect
public void drawRect(int x, int y, int z, int zSlab, int rWidth, int rHeight)
draws a rectangle- Specified by:
drawRect
in interfaceJmolRendererInterface
- Parameters:
x
- upper left xy
- upper left yz
- upper left zzSlab
- z for slab check (for set labelsFront)rWidth
- pixel countrHeight
- pixel count
-
drawHLine
private void drawHLine(int x, int y, int z, int w)
- Parameters:
x
-y
-z
-w
-
-
drawVLine
private void drawVLine(int x, int y, int z, int h)
- Parameters:
x
-y
-z
-h
-
-
drawFilledCircle
public void drawFilledCircle(short colixRing, short colixFill, int diameter, int x, int y, int z)
draws a screened circle ... every other dot is turned on- Specified by:
drawFilledCircle
in interfaceJmolRendererInterface
- Parameters:
colixRing
-colixFill
-diameter
-x
- center xy
- center yz
- center z
-
drawCircle
public void drawCircle(short colix, int diameter, int x, int y, int z, boolean doFill)
draws a simple circle (draw circle)- Parameters:
colix
- the color indexdiameter
- the pixel diameterx
- center xy
- center yz
- center zdoFill
- (not implemented in exporters)
-
fillSphereXYZ
public void fillSphereXYZ(int diameter, int x, int y, int z)
fills a solid sphere- Specified by:
fillSphereXYZ
in interfaceJmolRendererInterface
- Parameters:
diameter
- pixel countx
- center xy
- center yz
- center z
-
fillSphereI
public void fillSphereI(int diameter, javajs.util.P3i center)
fills a solid sphere- Specified by:
fillSphereI
in interfaceJmolRendererInterface
- Parameters:
diameter
- pixel countcenter
- javax.vecmath.Point3i defining the center
-
fillSphereBits
public void fillSphereBits(int diameter, javajs.util.P3 center)
fills a solid sphere- Specified by:
fillSphereBits
in interfaceJmolRendererInterface
- Parameters:
diameter
- pixel countcenter
- a javax.vecmath.Point3f ... floats are casted to ints
-
fillTextRect
public void fillTextRect(int x, int y, int z, int zSlab, int widthFill, int heightFill)
fills background rectangle for label- Specified by:
fillTextRect
in interfaceJmolRendererInterface
- Parameters:
x
- upper left xy
- upper left yz
- upper left zzSlab
- z value for slabbingwidthFill
- pixel countheightFill
- pixel count
-
drawString
public 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. no line wrapping -- axis, labels, measures- Specified by:
drawString
in interfaceJmolRendererInterface
- Parameters:
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zzSlab
- z for slab calculationbgcolix
-
-
drawStringNoSlab
public 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. no line wrapping -- echo, frank, hover, molecularOrbital, uccage- Specified by:
drawStringNoSlab
in interfaceJmolRendererInterface
- Parameters:
str
- the Stringfont3d
- the Font3DxBaseline
- baseline xyBaseline
- baseline yz
- baseline zbgcolix
-
-
drawImage
public void drawImage(java.lang.Object objImage, int x, int y, int z, int zSlab, short bgcolix, int width, int height)
- Specified by:
drawImage
in interfaceJmolRendererInterface
-
drawPixel
public void drawPixel(int x, int y, int z)
- Specified by:
drawPixel
in interfaceJmolRendererInterface
-
plotPixelClipped
void plotPixelClipped(int x, int y, int z)
-
plotPixelClippedP3i
public void plotPixelClippedP3i(javajs.util.P3i screen)
- Specified by:
plotPixelClippedP3i
in interfaceJmolRendererInterface
-
drawPoints
public void drawPoints(int count, int[] coordinates, int scale)
- Specified by:
drawPoints
in interfaceJmolRendererInterface
-
drawDashedLineBits
public void drawDashedLineBits(int run, int rise, javajs.util.P3 pointA, javajs.util.P3 pointB)
- Specified by:
drawDashedLineBits
in interfaceJmolRendererInterface
-
drawLineXYZ
public void drawLineXYZ(int x1, int y1, int z1, int x2, int y2, int z2)
- Specified by:
drawLineXYZ
in interfaceJmolRendererInterface
-
drawLine
public void drawLine(short colixA, short colixB, int xA, int yA, int zA, int xB, int yB, int zB)
- Specified by:
drawLine
in interfaceJmolRendererInterface
-
drawLineBits
public void drawLineBits(short colixA, short colixB, javajs.util.P3 pointA, javajs.util.P3 pointB)
- Specified by:
drawLineBits
in interfaceJmolRendererInterface
-
drawLineAB
public void drawLineAB(javajs.util.P3 pointA, javajs.util.P3 pointB)
- Specified by:
drawLineAB
in interfaceJmolRendererInterface
-
drawBond
public void drawBond(javajs.util.P3 atomA, javajs.util.P3 atomB, short colixA, short colixB, byte endcaps, short mad, int bondOrder)
- Specified by:
drawBond
in interfaceJmolRendererInterface
-
fillCylinderXYZ
public void fillCylinderXYZ(short colixA, short colixB, byte endcaps, int mad, int xA, int yA, int zA, int xB, int yB, int zB)
- Specified by:
fillCylinderXYZ
in interfaceJmolRendererInterface
-
fillCylinderScreen3I
public void fillCylinderScreen3I(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pt0f, javajs.util.P3 pt1f, float radius)
- Specified by:
fillCylinderScreen3I
in interfaceJmolRendererInterface
-
fillCylinder
public void fillCylinder(byte endcaps, int diameter, javajs.util.P3i pointA, javajs.util.P3i pointB)
- Specified by:
fillCylinder
in interfaceJmolRendererInterface
-
fillCylinderBits
public void fillCylinderBits(byte endcaps, int diameter, javajs.util.P3 pointA, javajs.util.P3 pointB)
- Specified by:
fillCylinderBits
in interfaceJmolRendererInterface
-
fillConeScreen3f
public void fillConeScreen3f(byte endcap, int screenDiameter, javajs.util.P3 pointBase, javajs.util.P3 screenTip, boolean isBarb)
- Specified by:
fillConeScreen3f
in interfaceJmolRendererInterface
-
drawHermite4
public void drawHermite4(int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)
- Specified by:
drawHermite4
in interfaceJmolRendererInterface
-
fillHermite
public void fillHermite(int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3)
- Specified by:
fillHermite
in interfaceJmolRendererInterface
-
drawTriangle3C
public void drawTriangle3C(javajs.util.P3i screenA, short colixA, javajs.util.P3i screenB, short colixB, javajs.util.P3i screenC, short colixC, int check)
- Specified by:
drawTriangle3C
in interfaceJmolRendererInterface
-
drawLineBits
public void drawLineBits(javajs.util.P3 screenA, javajs.util.P3 screenB, short colixA, short colixB)
-
fillCylinderBits2
public void fillCylinderBits2(short colixA, short colixB, byte endcaps, int mad, javajs.util.P3 screenA, javajs.util.P3 screenB)
- Specified by:
fillCylinderBits2
in interfaceJmolRendererInterface
-
fillTriangle3CNBits
public void fillTriangle3CNBits(javajs.util.P3 pA, short colixA, short nA, javajs.util.P3 pB, short colixB, short nB, javajs.util.P3 pC, short colixC, short nC, boolean twoSided)
- Specified by:
fillTriangle3CNBits
in interfaceJmolRendererInterface
-
fillTriangle3CN
public void fillTriangle3CN(javajs.util.P3i pointA, short colixA, short normixA, javajs.util.P3i pointB, short colixB, short normixB, javajs.util.P3i pointC, short colixC, short normixC)
- Specified by:
fillTriangle3CN
in interfaceJmolRendererInterface
-
fillTriangleTwoSided
public void fillTriangleTwoSided(short normix, javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
- Specified by:
fillTriangleTwoSided
in interfaceJmolRendererInterface
-
fillTriangle3f
public void fillTriangle3f(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, boolean setNoisy)
- Specified by:
fillTriangle3f
in interfaceJmolRendererInterface
-
fillTriangle3i
public void fillTriangle3i(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, javajs.util.T3 ptA0, javajs.util.T3 ptB0, javajs.util.T3 ptC0, boolean doShade)
- Specified by:
fillTriangle3i
in interfaceJmolRendererInterface
-
fillQuadrilateral
public void fillQuadrilateral(javajs.util.P3 pointA, javajs.util.P3 pointB, javajs.util.P3 pointC, javajs.util.P3 pointD, boolean isSolid)
- Specified by:
fillQuadrilateral
in interfaceJmolRendererInterface
-
drawSurface
public void drawSurface(MeshSurface meshSurface, short colix)
- Specified by:
drawSurface
in interfaceJmolRendererInterface
-
fillEllipsoid
public 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.P3[] octantPoints)
- Specified by:
fillEllipsoid
in interfaceJmolRendererInterface
-
drawEllipse
public boolean drawEllipse(javajs.util.P3 ptAtom, javajs.util.P3 ptX, javajs.util.P3 ptY, boolean fillArc, boolean wireframeOnly)
- Specified by:
drawEllipse
in interfaceJmolRendererInterface
-
isAntialiased
public boolean isAntialiased()
is full scene / oversampling antialiasing in effect- Specified by:
isAntialiased
in interfaceJmolGraphicsInterface
- Returns:
- the answer
-
checkTranslucent
public boolean checkTranslucent(boolean isAlphaTranslucent)
- Specified by:
checkTranslucent
in interfaceJmolRendererInterface
-
haveTranslucentObjects
public boolean haveTranslucentObjects()
- Specified by:
haveTranslucentObjects
in interfaceJmolRendererInterface
-
setC
public boolean setC(short colix)
sets current color from colix color index- Specified by:
setC
in interfaceJmolRendererInterface
- Parameters:
colix
- the color index- Returns:
- true or false if this is the right pass
-
isInDisplayRange
public boolean isInDisplayRange(int x, int y)
- Specified by:
isInDisplayRange
in interfaceJmolGraphicsInterface
-
clipCode
public int clipCode(int x, int y, int z)
-
isClippedXY
public boolean isClippedXY(int diameter, int x, int y)
- Specified by:
isClippedXY
in interfaceJmolGraphicsInterface
-
isClipped
public boolean isClipped(int x, int y, int z)
-
isClipped
protected boolean isClipped(int x, int y)
-
getPrivateKey
public double getPrivateKey()
-
volumeRender4
public void volumeRender4(int diam, int x, int y, int z)
- Specified by:
volumeRender4
in interfaceJmolRendererInterface
-
renderCrossHairs
public void renderCrossHairs(int[] minMax, int screenWidth, int screenHeight, javajs.util.P3 navigationOffset, float navigationDepthPercent)
- Specified by:
renderCrossHairs
in interfaceJmolRendererInterface
-
volumeRender
public void volumeRender(boolean TF)
- Specified by:
volumeRender
in interfaceJmolRendererInterface
-
addRenderer
public void addRenderer(int tok)
- Specified by:
addRenderer
in interfaceJmolRendererInterface
-
plotImagePixel
public void plotImagePixel(int argb, int x, int y, int z, byte shade, int bgargb, int width, int height, int[] pbuf, java.lang.Object p, int transpLog)
- Specified by:
plotImagePixel
in interfaceJmolRendererInterface
-
drawHermite7
public void drawHermite7(boolean fill, boolean border, int tension, javajs.util.P3 s0, javajs.util.P3 s1, javajs.util.P3 s2, javajs.util.P3 s3, javajs.util.P3 s4, javajs.util.P3 s5, javajs.util.P3 s6, javajs.util.P3 s7, int aspectRatio, short colixBack)
- Specified by:
drawHermite7
in interfaceJmolRendererInterface
-
renderAllStrings
public void renderAllStrings(java.lang.Object jr)
- Specified by:
renderAllStrings
in interfaceJmolGraphicsInterface
-
-