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
Modifier and Type | Field and Description |
---|---|
private javajs.util.P3 |
a1 |
private javajs.util.P3 |
a2 |
private javajs.util.P3 |
b1 |
private javajs.util.P3 |
b2 |
private javajs.util.P3 |
c1 |
private javajs.util.P3 |
c2 |
private javajs.util.P3 |
d1 |
private javajs.util.P3 |
d2 |
private javajs.util.V3 |
depth1 |
private JmolRendererInterface |
g3d |
private GData |
gdata |
private boolean[] |
needToFill |
private javajs.util.P3[] |
pBotLeft |
private javajs.util.P3[] |
pBotRight |
private javajs.util.P3i[] |
pLeft |
private javajs.util.P3i[] |
pRight |
private javajs.util.P3[] |
pTopLeft |
private javajs.util.P3[] |
pTopRight |
private float[] |
sLeft |
private float[] |
sRight |
private javajs.util.V3 |
T1 |
private javajs.util.V3 |
T2 |
private static javajs.util.V3 |
vAB |
private static javajs.util.V3 |
vAC |
Constructor and Description |
---|
HermiteRenderer() |
Modifier and Type | Method and Description |
---|---|
private static int |
isFront(javajs.util.P3 a,
javajs.util.P3 b,
javajs.util.P3 c) |
void |
renderHermiteRibbon(boolean fill,
boolean border,
int tension,
javajs.util.P3i p0,
javajs.util.P3i p1,
javajs.util.P3i p2,
javajs.util.P3i p3,
javajs.util.P3i p4,
javajs.util.P3i p5,
javajs.util.P3i p6,
javajs.util.P3i p7,
int aspectRatio,
int fillType) |
void |
renderHermiteRope(boolean fill,
int tension,
int diameterBeg,
int diameterMid,
int diameterEnd,
javajs.util.P3i p0,
javajs.util.P3i p1,
javajs.util.P3i p2,
javajs.util.P3i p3) |
private void |
renderParallelPair(boolean fill,
int tension,
javajs.util.P3i p0,
javajs.util.P3i p1,
javajs.util.P3i p2,
javajs.util.P3i p3,
javajs.util.P3i p4,
javajs.util.P3i p5,
javajs.util.P3i p6,
javajs.util.P3i p7) |
G3DRenderer |
set(JmolRendererInterface g3d,
GData gdata) |
private static javajs.util.V3 vAB
private static javajs.util.V3 vAC
private JmolRendererInterface g3d
private GData gdata
private final javajs.util.P3i[] pLeft
private final javajs.util.P3i[] pRight
private final float[] sLeft
private final float[] sRight
private final javajs.util.P3[] pTopLeft
private final javajs.util.P3[] pTopRight
private final javajs.util.P3[] pBotLeft
private final javajs.util.P3[] pBotRight
private final javajs.util.P3 a1
private final javajs.util.P3 a2
private final javajs.util.P3 b1
private final javajs.util.P3 b2
private final javajs.util.P3 c1
private final javajs.util.P3 c2
private final javajs.util.P3 d1
private final javajs.util.P3 d2
private final javajs.util.V3 T1
private final javajs.util.V3 T2
private final javajs.util.V3 depth1
private final boolean[] needToFill
public G3DRenderer set(JmolRendererInterface g3d, GData gdata)
set
in interface G3DRenderer
public void renderHermiteRope(boolean fill, int tension, int diameterBeg, int diameterMid, int diameterEnd, javajs.util.P3i p0, javajs.util.P3i p1, javajs.util.P3i p2, javajs.util.P3i p3)
public void renderHermiteRibbon(boolean fill, boolean border, int tension, javajs.util.P3i p0, javajs.util.P3i p1, javajs.util.P3i p2, javajs.util.P3i p3, javajs.util.P3i p4, javajs.util.P3i p5, javajs.util.P3i p6, javajs.util.P3i p7, int aspectRatio, int fillType)
fill
- border
- tension
- p0
- p1
- p2
- p3
- p4
- p5
- p6
- p7
- aspectRatio
- fillType
- 1 front; -1 back; 0 bothprivate static int isFront(javajs.util.P3 a, javajs.util.P3 b, javajs.util.P3 c)
private void renderParallelPair(boolean fill, int tension, javajs.util.P3i p0, javajs.util.P3i p1, javajs.util.P3i p2, javajs.util.P3i p3, javajs.util.P3i p4, javajs.util.P3i p5, javajs.util.P3i p6, javajs.util.P3i p7)
fill
- NOT USEDtension
- p0
- p1
- p2
- p3
- p4
- p5
- p6
- p7
-