-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Labels
area: utilUtilitis and data structuresUtilitis and data structureslang: c++Done in C++ codeDone in C++ codenice new thing ☺A new feature that was not there beforeA new feature that was not there before
Description
We should add a curve::Array type to our curve container classes to record changes to a fixed size sequence over time. In comparison to #1677 we can probably optimize a lot more since the size doesn't change over time (i.e. no inserts or erasures).
The new array type should implement these methods:
Read
| Method | Description |
|---|---|
get(t, i) |
Get value of index i at time t |
get(t) |
Get array at time t |
size() |
Get size of the array |
frame(t, i) |
Get the previous keyframe (time and value) of index i before or at t |
next_frame(t, i) |
Get the next keyframe (time and value) of index i after t |
There should also be an iterator type to iterate over the array at time t.
Modify
| Method | Description |
|---|---|
set_insert(t, i, value) |
Insert a new keyframe value at time t at index i |
set_last(t, i, value) |
Insert a new keyframe value at time t; delete all keyframes after time t at index i |
set_replace(t, i, value) |
Insert a new keyframe value at time t at index i; remove all other keyframes with time t at index i |
Copy
| Method | Description |
|---|---|
sync(Curve, t) |
Replace all keyframes from self after time t with keyframes from source Curve after time t |
Metadata
Metadata
Assignees
Labels
area: utilUtilitis and data structuresUtilitis and data structureslang: c++Done in C++ codeDone in C++ codenice new thing ☺A new feature that was not there beforeA new feature that was not there before