org.jmol.g3d
Class Hermite3D
java.lang.Object
org.jmol.g3d.Hermite3D
public class Hermite3D
- extends java.lang.Object
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 |
private javax.vecmath.Point3f |
a1
|
private javax.vecmath.Point3f |
a2
|
private javax.vecmath.Point3f |
b1
|
private javax.vecmath.Point3f |
b2
|
private javax.vecmath.Point3f |
c1
|
private javax.vecmath.Point3f |
c2
|
private javax.vecmath.Point3f |
d1
|
private javax.vecmath.Point3f |
d2
|
private javax.vecmath.Vector3f |
depth1
|
private JmolRendererInterface |
g3d
|
private boolean[] |
needToFill
|
private javax.vecmath.Point3f[] |
pBotLeft
|
private javax.vecmath.Point3f[] |
pBotRight
|
private javax.vecmath.Point3i[] |
pLeft
|
private javax.vecmath.Point3i[] |
pRight
|
private javax.vecmath.Point3f[] |
pTopLeft
|
private javax.vecmath.Point3f[] |
pTopRight
|
private float[] |
sLeft
|
(package private) int |
sp
|
private float[] |
sRight
|
private javax.vecmath.Vector3f |
T1
|
private javax.vecmath.Vector3f |
T2
|
Method Summary |
(package private) static void |
getHermiteList(int tension,
javax.vecmath.Tuple3f p0,
javax.vecmath.Tuple3f p1,
javax.vecmath.Tuple3f p2,
javax.vecmath.Tuple3f p3,
javax.vecmath.Tuple3f p4,
javax.vecmath.Tuple3f[] list,
int index0,
int n)
|
void |
render(boolean tFill,
int tension,
int diameterBeg,
int diameterMid,
int diameterEnd,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3)
|
void |
render2(boolean fill,
boolean border,
int tension,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3,
javax.vecmath.Point3i p4,
javax.vecmath.Point3i p5,
javax.vecmath.Point3i p6,
javax.vecmath.Point3i p7,
int aspectRatio)
|
private void |
render2x(boolean fill,
int tension,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3,
javax.vecmath.Point3i p4,
javax.vecmath.Point3i p5,
javax.vecmath.Point3i p6,
javax.vecmath.Point3i p7)
|
private static void |
set(javax.vecmath.Point3f p3f,
javax.vecmath.Point3i p3i)
|
private void |
setDepth(javax.vecmath.Vector3f depth,
javax.vecmath.Point3f c,
javax.vecmath.Point3f a,
javax.vecmath.Point3f b,
float ratio)
|
private void |
setPoint(javax.vecmath.Point3f a1,
javax.vecmath.Point3f a,
javax.vecmath.Vector3f depth,
int direction)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
g3d
private JmolRendererInterface g3d
pLeft
private final javax.vecmath.Point3i[] pLeft
pRight
private final javax.vecmath.Point3i[] pRight
sLeft
private final float[] sLeft
sRight
private final float[] sRight
sp
int sp
pTopLeft
private final javax.vecmath.Point3f[] pTopLeft
pTopRight
private final javax.vecmath.Point3f[] pTopRight
pBotLeft
private final javax.vecmath.Point3f[] pBotLeft
pBotRight
private final javax.vecmath.Point3f[] pBotRight
needToFill
private final boolean[] needToFill
a1
private final javax.vecmath.Point3f a1
a2
private final javax.vecmath.Point3f a2
b1
private final javax.vecmath.Point3f b1
b2
private final javax.vecmath.Point3f b2
c1
private final javax.vecmath.Point3f c1
c2
private final javax.vecmath.Point3f c2
d1
private final javax.vecmath.Point3f d1
d2
private final javax.vecmath.Point3f d2
depth1
private final javax.vecmath.Vector3f depth1
T1
private final javax.vecmath.Vector3f T1
T2
private final javax.vecmath.Vector3f T2
Hermite3D
public Hermite3D(JmolRendererInterface g3d)
render
public void render(boolean tFill,
int tension,
int diameterBeg,
int diameterMid,
int diameterEnd,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3)
render2x
private void render2x(boolean fill,
int tension,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3,
javax.vecmath.Point3i p4,
javax.vecmath.Point3i p5,
javax.vecmath.Point3i p6,
javax.vecmath.Point3i p7)
set
private static void set(javax.vecmath.Point3f p3f,
javax.vecmath.Point3i p3i)
render2
public void render2(boolean fill,
boolean border,
int tension,
javax.vecmath.Point3i p0,
javax.vecmath.Point3i p1,
javax.vecmath.Point3i p2,
javax.vecmath.Point3i p3,
javax.vecmath.Point3i p4,
javax.vecmath.Point3i p5,
javax.vecmath.Point3i p6,
javax.vecmath.Point3i p7,
int aspectRatio)
setDepth
private void setDepth(javax.vecmath.Vector3f depth,
javax.vecmath.Point3f c,
javax.vecmath.Point3f a,
javax.vecmath.Point3f b,
float ratio)
setPoint
private void setPoint(javax.vecmath.Point3f a1,
javax.vecmath.Point3f a,
javax.vecmath.Vector3f depth,
int direction)
getHermiteList
static void getHermiteList(int tension,
javax.vecmath.Tuple3f p0,
javax.vecmath.Tuple3f p1,
javax.vecmath.Tuple3f p2,
javax.vecmath.Tuple3f p3,
javax.vecmath.Tuple3f p4,
javax.vecmath.Tuple3f[] list,
int index0,
int n)