BoundingBoxInterpolator
@fovea/annotation-tool / interpolation / BoundingBoxInterpolator
Class: BoundingBoxInterpolator
Defined in: src/utils/interpolation.ts:20
BoundingBoxInterpolator
Description
Interpolates bounding boxes between keyframes using various interpolation modes.
Constructors
Constructor
new BoundingBoxInterpolator():
BoundingBoxInterpolator
Returns
BoundingBoxInterpolator
Methods
addKeyframe()
addKeyframe(
sequence
,frameNumber
):BoundingBoxSequence
Defined in: src/utils/interpolation.ts:433
Add a new keyframe at the specified frame.
Parameters
sequence
Bounding box sequence
frameNumber
number
Frame number for new keyframe
Returns
Updated sequence
evaluateBezier()
evaluateBezier(
t
,p0
,p3
,controlPoints
):number
Defined in: src/utils/interpolation.ts:270
Evaluate cubic Bezier curve.
Parameters
t
number
Normalized time (0-1)
p0
number
Start value
p3
number
End value
controlPoints
Bezier control points
Returns
number
Interpolated value
evaluateParametric()
evaluateParametric(
t
,startValue
,endValue
,func
):number
Defined in: src/utils/interpolation.ts:349
Evaluate parametric function.
Parameters
t
number
Normalized time (0-1)
startValue
number
Starting value
endValue
number
Ending value
func
Parametric function configuration
Returns
number
Interpolated value
interpolate()
interpolate(
keyframes
,segments
,visibilityRanges?
):BoundingBox
[]
Defined in: src/utils/interpolation.ts:29
Generate all frames for a bounding box sequence.
Parameters
keyframes
User-defined keyframes
segments
Interpolation configuration per segment
visibilityRanges?
object
[]
Optional visibility ranges for discontiguous sequences
Returns
Complete sequence with interpolated frames
interpolateProperty()
interpolateProperty(
startValue
,endValue
,startFrame
,endFrame
,currentFrame
,type
,config?
):number
Defined in: src/utils/interpolation.ts:165
Interpolate a single property between two keyframes.
Parameters
startValue
number
Starting value
endValue
number
Ending value
startFrame
number
Starting frame number
endFrame
number
Ending frame number
currentFrame
number
Current frame number
type
Interpolation type
config?
Optional bezier control points or parametric function
ParametricFunction
| BezierControlPoint
[]
Returns
number
Interpolated value
removeKeyframe()
removeKeyframe(
sequence
,frameNumber
):BoundingBoxSequence
Defined in: src/utils/interpolation.ts:570
Remove a keyframe from the sequence.
Parameters
sequence
Bounding box sequence
frameNumber
number
Frame number to remove
Returns
Updated sequence
updateKeyframe()
updateKeyframe(
sequence
,frameNumber
,newBox
):BoundingBoxSequence
Defined in: src/utils/interpolation.ts:394
Update a keyframe in the sequence (immutable).
Parameters
sequence
Bounding box sequence
frameNumber
number
Frame number to update
newBox
Partial
<BoundingBox
>
New bounding box values
Returns
Updated sequence