Package org.jmol.g3d
Class HermiteRenderer
java.lang.Object
org.jmol.g3d.HermiteRenderer
- All Implemented Interfaces:
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
FieldsModifier and TypeFieldDescriptionprivate final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.P3
private final javajs.util.V3
private JmolRendererInterface
private GData
private final boolean[]
private final javajs.util.P3[]
private final javajs.util.P3[]
private final javajs.util.P3i[]
private final javajs.util.P3i[]
private final javajs.util.P3[]
private final javajs.util.P3[]
private final float[]
private final float[]
private final javajs.util.V3
private final javajs.util.V3
private static javajs.util.V3
private static javajs.util.V3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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.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) 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) 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) set
(JmolRendererInterface g3d, GData gdata)
-
Field Details
-
vAB
private static javajs.util.V3 vAB -
vAC
private static javajs.util.V3 vAC -
g3d
-
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
-
-
Constructor Details
-
HermiteRenderer
public HermiteRenderer()
-
-
Method Details
-
set
- Specified by:
set
in 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
-
-