-
- All Known Implementing Classes:
CurveInterpolation.Builder
,PiecewiseCurve.Builder
,SeasonalCurve.Builder
public interface CurveBuilder
Interface of builders which allow to build curve objects by successively adding points. Points cannot be added directly to a curve since curve objects are immutable (cannot be changed at a later time, i.e., after construction). Instead, a clone with an additional point is created. To efficiently create a new curve by successively adding points use this builder.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CurveBuilder
addPoint(double time, double value, boolean isParameter)
Add a point to the curve.Curve
build()
Build the curve.
-
-
-
Method Detail
-
build
Curve build() throws CloneNotSupportedException
Build the curve. The method returns the curve object. The builder cannot be used to build another curve. Use clone instead.- Returns:
- The curve according to the specification.
- Throws:
CloneNotSupportedException
- Thrown if the curve could not be build (likely due to a template throwingCloneNotSupportedException
.
-
addPoint
CurveBuilder addPoint(double time, double value, boolean isParameter)
Add a point to the curve.- Parameters:
time
- The time of the corresponding point.value
- The value of the corresponding point.isParameter
- A boolean, specifying weather the point should be considered a free parameter (true) or not (false). Fee parameters can be used to create a clone with modified values, seeCurveInterpolation.getCloneForParameter(double[])
- Returns:
- A self reference to this curve build object.
-
-