这是indexloc提供的服务,不要输入任何密码
Skip to content

Array Curve container #1678

@heinezen

Description

@heinezen

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

No one assigned

    Labels

    area: utilUtilitis and data structureslang: c++Done in C++ codenice new thing ☺A new feature that was not there before

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions