Class: Kamelopard::Functions::PointSplineFunction
- Inherits:
-
SplineFunction
- Object
- Function
- FunctionMultiDim
- SplineFunction
- Kamelopard::Functions::PointSplineFunction
- Defined in:
- lib/kamelopard/spline.rb
Overview
Spline that takes Points as control points
Instance Attribute Summary
Attributes inherited from SplineFunction
#control_points, #tension, #total_dur
Attributes inherited from FunctionMultiDim
Attributes inherited from Function
#append, #compose, #end, #max, #min, #start, #verbose
Instance Method Summary collapse
- #add_control_point(point, dur) ⇒ Object
-
#initialize(tension = 0.5) ⇒ PointSplineFunction
constructor
A new instance of PointSplineFunction.
- #run_function(x) ⇒ Object
Methods inherited from FunctionMultiDim
Methods inherited from Function
Constructor Details
#initialize(tension = 0.5) ⇒ PointSplineFunction
Returns a new instance of PointSplineFunction.
118 119 120 121 |
# File 'lib/kamelopard/spline.rb', line 118 def initialize(tension = 0.5) @fields = [:longitude, :latitude, :altitude] super(@fields.length, tension) end |
Instance Method Details
#add_control_point(point, dur) ⇒ Object
123 124 125 126 127 128 129 130 131 132 |
# File 'lib/kamelopard/spline.rb', line 123 def add_control_point(point, dur) super(( @fields.collect { |f| begin point.method(f).call rescue 0 end }), dur) end |
#run_function(x) ⇒ Object
134 135 136 137 |
# File 'lib/kamelopard/spline.rb', line 134 def run_function(x) res = super(x) return point(h[0], h[1], h[2], @first_control_point.altitudeMode) end |