Package org.jmol.g3d
Class HermiteRenderer
- java.lang.Object
-
- org.jmol.g3d.HermiteRenderer
-
- All Implemented Interfaces:
G3DRenderer
public class HermiteRenderer extends java.lang.Object implements G3DRenderer
Implementation of hermite curves for drawing smoothed curves that pass through specified points.
Examples of usage in Jmol include the commands:
trace, ribbons and cartoons.for some useful background info about hermite curves check out http://www.cubic.org/docs/hermite.htm Technically, Jmol implements a Cardinal spline varient of the Hermitian spline
- Author:
- Miguel, miguel@jmol.org
-
-
Field Summary
Fields Modifier and Type Field Description private javajs.util.P3a1private javajs.util.P3a2private javajs.util.P3b1private javajs.util.P3b2private javajs.util.P3c1private javajs.util.P3c2private javajs.util.P3d1private javajs.util.P3d2private javajs.util.V3depth1private JmolRendererInterfaceg3dprivate GDatagdataprivate boolean[]needToFillprivate javajs.util.P3[]pBotLeftprivate javajs.util.P3[]pBotRightprivate javajs.util.P3i[]pLeftprivate javajs.util.P3i[]pRightprivate javajs.util.P3[]pTopLeftprivate javajs.util.P3[]pTopRightprivate float[]sLeftprivate float[]sRightprivate javajs.util.V3T1private javajs.util.V3T2private static javajs.util.V3vABprivate static javajs.util.V3vAC
-
Constructor Summary
Constructors Constructor Description HermiteRenderer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static intisFront(javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)voidrenderHermiteRibbon(boolean fill, boolean border, int tension, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3, javajs.util.P3 p4, javajs.util.P3 p5, javajs.util.P3 p6, javajs.util.P3 p7, int aspectRatio, int fillType)voidrenderHermiteRope(boolean fill, int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3)private voidrenderParallelPair(boolean fill, int tension, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3, javajs.util.P3 p4, javajs.util.P3 p5, javajs.util.P3 p6, javajs.util.P3 p7)G3DRendererset(JmolRendererInterface g3d, GData gdata)
-
-
-
Field Detail
-
vAB
private static javajs.util.V3 vAB
-
vAC
private static javajs.util.V3 vAC
-
g3d
private JmolRendererInterface g3d
-
gdata
private GData gdata
-
pLeft
private final javajs.util.P3i[] pLeft
-
pRight
private final javajs.util.P3i[] pRight
-
sLeft
private final float[] sLeft
-
sRight
private final float[] sRight
-
pTopLeft
private final javajs.util.P3[] pTopLeft
-
pTopRight
private final javajs.util.P3[] pTopRight
-
pBotLeft
private final javajs.util.P3[] pBotLeft
-
pBotRight
private final javajs.util.P3[] pBotRight
-
a1
private final javajs.util.P3 a1
-
a2
private final javajs.util.P3 a2
-
b1
private final javajs.util.P3 b1
-
b2
private final javajs.util.P3 b2
-
c1
private final javajs.util.P3 c1
-
c2
private final javajs.util.P3 c2
-
d1
private final javajs.util.P3 d1
-
d2
private final javajs.util.P3 d2
-
T1
private final javajs.util.V3 T1
-
T2
private final javajs.util.V3 T2
-
depth1
private final javajs.util.V3 depth1
-
needToFill
private final boolean[] needToFill
-
-
Method Detail
-
set
public G3DRenderer set(JmolRendererInterface g3d, GData gdata)
- Specified by:
setin interfaceG3DRenderer
-
renderHermiteRope
public void renderHermiteRope(boolean fill, int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3)
-
renderHermiteRibbon
public void renderHermiteRibbon(boolean fill, boolean border, int tension, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3, javajs.util.P3 p4, javajs.util.P3 p5, javajs.util.P3 p6, javajs.util.P3 p7, int aspectRatio, int fillType)- Parameters:
fill-border-tension-p0-p1-p2-p3-p4-p5-p6-p7-aspectRatio-fillType- 1 front; -1 back; 0 both
-
isFront
private static int isFront(javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
-
renderParallelPair
private void renderParallelPair(boolean fill, int tension, javajs.util.P3 p0, javajs.util.P3 p1, javajs.util.P3 p2, javajs.util.P3 p3, javajs.util.P3 p4, javajs.util.P3 p5, javajs.util.P3 p6, javajs.util.P3 p7)- Parameters:
fill- NOT USEDtension-p0-p1-p2-p3-p4-p5-p6-p7-
-
-