All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----acg.stuttgart.rich.spline.Spline3D | +----acg.stuttgart.rich.spline.CatmullRomSpline3D | +----acg.stuttgart.rich.spline.FastCRSpline3D | +----acg.stuttgart.rich.spline.FastCRSplineLoop3D
Summary |
public class FastCRSplineLoop3D extends acg.stuttgart.rich.spline.FastCRSpline3D { // Constructors 2 public FastCRSplineLoop3D(); public FastCRSplineLoop3D(float); // Methods 6 protected void calculateTangents(); public Vector3D evaluate(float) throws SplineException; public void evaluate(float, Vector3D) throws SplineException; protected void updateHermiteTree(); public void updateKnots(Vector3D[]) throws SplineException; public void updateKnots(Vector3D[], int) throws SplineException; }
The FastCRSplineLoop3D class is a faster version of the CatmullRomSPlineLoop3D class.
Constructors |
· FastCRSplineLoop3D | Summary | Top |
public FastCRSplineLoop3D(float smoothness)
The constructor takes a "smoothness" parameter, which if not specified defaults to 0.33.
· FastCRSplineLoop3D | Summary | Top |
public FastCRSplineLoop3D()
Methods |
· updateKnots | Summary | Top |
public void updateKnots(Vector3D[] newKnots) throws SplineException
The updateKnots method replaces the current spline knots with an array of new knots. The length of the array must be the same as the number of knots.
- Overrides:
- updateKnots in class CatmullRomSpline3D
· updateKnots | Summary | Top |
public void updateKnots(Vector3D[] newKnots, int offset) throws SplineException
The updateKnots method replaces the current spline knots with an array of new knots. This version takes as a prameter an offset into an array. If the offset plus the current number of knots is greater than the length of the array, an exception is signaled.
- Overrides:
- updateKnots in class CatmullRomSpline3D
· evaluate | Summary | Top |
public Vector3D evaluate(float s) throws SplineException
For loop splines, we want the evaluation parameter to "wrap around" the interval from zero to one. This version of evaluate "wraps"
s
before calling evaluate in the parent class.
- Overrides:
- evaluate in class CatmullRomSpline3D
· evaluate | Summary | Top |
public void evaluate(float s, Vector3D val) throws SplineException
Wrap and evaluate in-place.
- Overrides:
- evaluate in class FastCRSpline3D
· updateHermiteTree | Summary | Top |
protected void updateHermiteTree()
This method constructs a tree of hermite spline nodes, allowing rapid evaluation of the spline (log(n) comparisons).
- Overrides:
- updateHermiteTree in class CatmullRomSpline3D
· calculateTangents | Summary | Top |
protected void calculateTangents()
The calculateTangents method calculates tangents and spline length for updateHermiteTree and updateKnots. This version adds a knot to close the spline loop and calculates the beginning and ending tangents accordingly.
- Overrides:
- calculateTangents in class CatmullRomSpline3D
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7