#include <sequencecontrollercurve.h>
Public Member Functions | |
SequenceControllerCurve (SequenceService &service, SequencePlayer &player, SequenceEditor &editor) | |
double | segmentDurationChange (const std::string &trackID, const std::string &segmentID, float duration, bool adjustFollowingSegments) |
void | setSegmentLocked (const std::string &trackID, const std::string &segmentID, bool locked) |
template<typename T > | |
void | addNewCurveTrack () |
void | changeCurveSegmentValue (const std::string &trackID, const std::string &segmentID, float newValue, int curveIndex, sequencecurveenums::ESegmentValueTypes valueType) |
void | insertCurvePoint (const std::string &trackID, const std::string &segmentID, float pos, int curveIndex) |
void | deleteCurvePoint (const std::string &trackID, const std::string &segmentID, int index, int curveIndex) |
void | changeCurvePoint (const std::string &trackID, const std::string &segmentID, int pointIndex, int curveIndex, float time, float value) |
bool | changeTanPoint (const std::string &trackID, const std::string &segmentID, int pointIndex, int curveIndex, sequencecurveenums::ETanPointTypes tanType, float time, float value) |
template<typename T > | |
void | changeMinMaxCurveTrack (const std::string &trackID, T minimum, T maximum) |
template<typename T > | |
void | changeCurveType (SequenceTrackSegment &segment, math::ECurveInterp type, int curveIndex) |
const SequenceTrackSegment * | insertSegment (const std::string &trackID, double time) override |
void | deleteSegment (const std::string &trackID, const std::string &segmentID) override |
void | insertTrack (rtti::TypeInfo type) override |
void | updateCurveSegments (const std::string &trackID) |
void | changeCurveType (const std::string &trackID, const std::string &segmentID, math::ECurveInterp type, int curveIndex) |
void | changeSegmentColor (const std::string &trackID, const std::string &segmentID, const RGBAColorFloat &newColor) |
template<> | |
void NAPAPI | changeMinMaxCurveTrack (const std::string &trackID, float minimum, float maximum) |
![]() | |
SequenceController (SequenceService &service, SequencePlayer &player, SequenceEditor &editor) | |
virtual | ~SequenceController ()=default |
void | changeTrackName (const std::string &trackID, const std::string &name) |
void | changeSegmentLabel (const std::string &trackID, const std::string &segmentID, const std::string &newLabel) |
void | assignNewOutputID (const std::string &trackID, const std::string &outputID) |
void | deleteTrack (const std::string &deleteTrackID) |
void | moveTrackUp (const std::string &trackID) |
void | moveTrackDown (const std::string &trackID) |
const SequenceTrack * | getTrack (const std::string &trackID) const |
const SequenceTrackSegment * | getSegment (const std::string &trackID, const std::string &segmentID) const |
void | changeTrackHeight (const std::string &trackID, float newHeight) |
Protected Member Functions | |
template<typename T > | |
void | updateCurveSegments (SequenceTrack &track) |
template<typename T > | |
const SequenceTrackSegment * | insertCurveSegment (const std::string &trackID, double time) |
template<typename T > | |
bool | changeTanPoint (SequenceTrackSegment &segment, const std::string &trackID, int pointIndex, int curveIndex, sequencecurveenums::ETanPointTypes tanType, float time, float value) |
template<typename T > | |
void | changeCurvePoint (SequenceTrackSegment &segment, int pointIndex, int curveIndex, float time, float value) |
template<typename T > | |
void | changeLastCurvePoint (SequenceTrackSegment &segment, int curveIndex, float time, float value) |
template<typename T > | |
void | deleteCurvePoint (SequenceTrackSegment &segment, int index, int curveIndex) |
template<typename T > | |
void | insertCurvePoint (SequenceTrackSegment &segment, float pos, int curveIndex) |
template<typename T > | |
void | changeCurveSegmentValue (SequenceTrack &track, SequenceTrackSegment &segment, float newValue, int curveIndex, sequencecurveenums::ESegmentValueTypes valueType) |
![]() | |
Sequence & | getSequence () |
SequenceTrackSegment * | findSegment (const std::string &trackID, const std::string &segmentID) |
SequenceTrack * | findTrack (const std::string &trackID) |
void | deleteObjectFromSequencePlayer (const std::string &id) |
void | updateTracks () |
void | performEditAction (std::function< void()> action) |
std::vector< std::unique_ptr< rtti::Object > > & | getPlayerOwnedObjects () |
std::unordered_set< std::string > & | getPlayerReadObjectIDs () |
Protected Attributes | |
std::unordered_map< rttr::type, std::function< void(SequenceTrack &)> > | mUpdateSegmentFunctionMap |
std::unordered_map< rttr::type, std::function< const SequenceTrackSegment *(const std::string &, double)> > | mInsertSegmentFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceControllerCurve *)> > | mInsertTrackFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< bool(SequenceTrackSegment &, const std::string &, const int, const int, sequencecurveenums::ETanPointTypes, float, float)> > | mChangeTanPointFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrackSegment &, const int, const int, float, float)> > | mChangeCurvePointFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrackSegment &, const int, float, float)> > | mChangeLastCurvePointFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrackSegment &, const int, int)> > | mDeleteCurvePointFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrackSegment &, float, int)> > | mInsertCurvePointFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrack &, SequenceTrackSegment &segment, float, int, sequencecurveenums::ESegmentValueTypes)> > | mChangeSegmentValueFunctionMap |
std::unordered_map< rtti::TypeInfo, std::function< void(SequenceTrackSegment &, math::ECurveInterp type, int curveIndex)> > | mChangeCurveTypeFunctionMap |
![]() | |
SequencePlayer & | mPlayer |
SequenceEditor & | mEditor |
SequenceService & | mService |
Controller class for curve tracks
SequenceControllerCurve | ( | SequenceService & | service, |
SequencePlayer & | player, | ||
SequenceEditor & | editor | ||
) |
Constructor
service | reference to service |
player | reference to player |
editor | reference to editor |
void addNewCurveTrack |
adds a new curve track of type T ( float, vec2, vec3, vec4 )
void changeCurvePoint | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
int | pointIndex, | ||
int | curveIndex, | ||
float | time, | ||
float | value | ||
) |
changes a curvepoint value and time / position
trackID | the trackID |
segmentID | the segmentID |
pointIndex | the point index |
curveIndex | the curve index |
time | new time in percentage of segment duration normalized between 0 and 1 |
value | new value |
|
protected |
changes a curvepoint value and time / position
segment | the segmentID |
pointIndex | the point index |
curveIndex | the curve index |
time | offset for new time |
value | offset for new value |
void changeCurveSegmentValue | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
float | newValue, | ||
int | curveIndex, | ||
sequencecurveenums::ESegmentValueTypes | valueType | ||
) |
changes start or end value of segment of type T
trackID | the track id |
segmentID | id of segment |
newValue | the new value |
curveIndex | the curve index of the value |
valueType | the segment value type ( first or last value ) |
|
protected |
changes start or end value of segment of type T
track | the track id |
segment | id of segment |
newValue | new value |
curveIndex | the curve index of the value |
valueType | the segment value type ( first or last value ) |
void changeCurveType | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
math::ECurveInterp | type, | ||
int | curveIndex | ||
) |
changes curvetype ( linear or bezier )
trackID | the trackID |
segmentID | the segmentID |
type | the new curve type |
curveIndex | the index of the curve |
void changeCurveType | ( | SequenceTrackSegment & | segment, |
math::ECurveInterp | type, | ||
int | curveIndex | ||
) |
changes curvetype ( linear or bezier )
segment | the segment |
type | the new curve type |
curveIndex | index of the curve |
|
protected |
void NAPAPI changeMinMaxCurveTrack | ( | const std::string & | trackID, |
float | minimum, | ||
float | maximum | ||
) |
void changeMinMaxCurveTrack | ( | const std::string & | trackID, |
T | minimum, | ||
T | maximum | ||
) |
changes minimum and maximum value of track
trackID | the trackID |
minimum | new minimum |
maximum | new maximum |
void changeSegmentColor | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
const RGBAColorFloat & | newColor | ||
) |
changes the color of a curve segment
trackID | the trackID |
segmentID | the segmentID |
newColor | the new color |
bool changeTanPoint | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
int | pointIndex, | ||
int | curveIndex, | ||
sequencecurveenums::ETanPointTypes | tanType, | ||
float | time, | ||
float | value | ||
) |
changes tangent of curve point. Tangents are always aligned
trackID | the trackID |
segmentID | the segmentID |
pointIndex | the point index |
curveIndex | the curve index |
tanType | in or out tangent |
time | offset for new time |
value | offset for new value |
|
protected |
changes tangent of curve point. Tangents are always aligned
segment | the segment |
trackID | the trackID |
pointIndex | the point index |
curveIndex | the curve index |
tanType | in or out tangent |
time | offset for new time |
value | offset for new value |
void deleteCurvePoint | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
int | index, | ||
int | curveIndex | ||
) |
deletes point from curve
trackID | the trackID |
segmentID | the segmentID |
index | the point index |
curveIndex | the curveIndex |
|
protected |
deletes point from curve
segment | the segmentID |
index | the point index |
curveIndex | the curveIndex |
|
overridevirtual |
overloaded delete segment function
trackID | track id |
segmentID | segment id |
Implements SequenceController.
void insertCurvePoint | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
float | pos, | ||
int | curveIndex | ||
) |
insert point in curve of segment
trackID | the track id |
segmentID | the segment id |
pos | the position at which to insert the curvepoint in curve ( range 0-1 ) |
curveIndex | the index of the curve |
|
protected |
insert point in curve of segment
segment | the segment id |
pos | the position at which to insert the curvepoint in curve ( range 0-1 ) |
curveIndex | the index of the curve |
|
protected |
insertCurveSegment inserts a new curvesegment of type T ( vec2, vec3, vec4, float )
trackID | the track in which to insert the segment |
time | the time at when to insert segment |
|
overridevirtual |
overloaded insert segment function
trackID | the track id |
time | time |
Implements SequenceController.
|
overridevirtual |
double segmentDurationChange | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
float | duration, | ||
bool | adjustFollowingSegments | ||
) |
trackID | the id of the track |
segmentID | the id of the segment we need to edit |
duration | the new duration |
adjustFollowingSegments | if true, following segments will be moved |
void setSegmentLocked | ( | const std::string & | trackID, |
const std::string & | segmentID, | ||
bool | locked | ||
) |
Sets the segment locked property
trackID | the track id |
segmentID | the segment id |
locked | the locked value |
void updateCurveSegments | ( | const std::string & | trackID | ) |
updates curve segments values to be continuous ( segment 1 end value == segment 2 start value etc )
trackID | the track id of the track that we want to update |
|
protected |
updates curve segments values to be continuous ( segment 1 end value == segment 2 start value etc )
track | reference to sequence track |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |