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"
sbefore 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