Curve Namespace Reference
Utilities and base classes for 1D curves. More...
Detailed Description
Utilities and base classes for 1D curves.
This plug-in contains the tools used in score to create and edit curves.
- The triplet Curve::CurveModel, Curve::CurvePresenter, Curve::CurveView represents an editable curve.
- For processes that only use a single curve, base classes are provided for convenience : Curve::CurveProcessModel and Curve::CurveProcessPresenter.
Common curve segments types are provided.
- Todo:
- Put the easing segments defined in the engine library in this library.
A way to skin curves differently according to the curve type is given through Curve::Style.
Typedefs | |
using | SegmentParameterMap = ossia::flat_map< Id< SegmentModel >, std::pair< double, double > > |
using | SegmentMapImpl = ossia::hash_map< Id< SegmentModel >, SegmentData, CurveDataHash > |
using | ClickOnNothing_Event = CurveEvent< Element::Nothing_tag, score::Modifier::Click_tag > |
using | ClickOnPoint_Event = CurveEvent< Element::Point_tag, score::Modifier::Click_tag > |
using | ClickOnSegment_Event = CurveEvent< Element::Segment_tag, score::Modifier::Click_tag > |
using | MoveOnNothing_Event = CurveEvent< Element::Nothing_tag, score::Modifier::Move_tag > |
using | MoveOnPoint_Event = CurveEvent< Element::Point_tag, score::Modifier::Move_tag > |
using | MoveOnSegment_Event = CurveEvent< Element::Segment_tag, score::Modifier::Move_tag > |
using | ReleaseOnNothing_Event = CurveEvent< Element::Nothing_tag, score::Modifier::Release_tag > |
using | ReleaseOnPoint_Event = CurveEvent< Element::Point_tag, score::Modifier::Release_tag > |
using | ReleaseOnSegment_Event = CurveEvent< Element::Segment_tag, score::Modifier::Release_tag > |
template<typename T > | |
using | GenericTransition = score::StateAwareTransition< StateBase, T > |
using | ClickOnNothing_Transition = PositionedCurveTransition< Element::Nothing_tag, score::Modifier::Click_tag > |
using | ClickOnPoint_Transition = PositionedCurveTransition< Element::Point_tag, score::Modifier::Click_tag > |
using | ClickOnSegment_Transition = PositionedCurveTransition< Element::Segment_tag, score::Modifier::Click_tag > |
using | MoveOnNothing_Transition = PositionedCurveTransition< Element::Nothing_tag, score::Modifier::Move_tag > |
using | MoveOnPoint_Transition = PositionedCurveTransition< Element::Point_tag, score::Modifier::Move_tag > |
using | MoveOnSegment_Transition = PositionedCurveTransition< Element::Segment_tag, score::Modifier::Move_tag > |
using | ReleaseOnNothing_Transition = PositionedCurveTransition< Element::Nothing_tag, score::Modifier::Release_tag > |
using | ReleaseOnPoint_Transition = PositionedCurveTransition< Element::Point_tag, score::Modifier::Release_tag > |
using | ReleaseOnSegment_Transition = PositionedCurveTransition< Element::Segment_tag, score::Modifier::Release_tag > |
using | Point = QPointF |
using | DefaultCurveSegmentModel = PowerSegment |
using | DefaultCurveSegmentData = PowerSegmentData |
using | Segment_backIn = EasingSegment< ossia::easing::backIn > |
using | Segment_backOut = EasingSegment< ossia::easing::backOut > |
using | Segment_backInOut = EasingSegment< ossia::easing::backInOut > |
using | Segment_bounceIn = EasingSegment< ossia::easing::bounceIn > |
using | Segment_bounceOut = EasingSegment< ossia::easing::bounceOut > |
using | Segment_bounceInOut = EasingSegment< ossia::easing::bounceInOut > |
using | Segment_quadraticIn = EasingSegment< ossia::easing::quadraticIn > |
using | Segment_quadraticOut = EasingSegment< ossia::easing::quadraticOut > |
using | Segment_quadraticInOut = EasingSegment< ossia::easing::quadraticInOut > |
using | Segment_cubicIn = EasingSegment< ossia::easing::cubicIn > |
using | Segment_cubicOut = EasingSegment< ossia::easing::cubicOut > |
using | Segment_cubicInOut = EasingSegment< ossia::easing::cubicInOut > |
using | Segment_quarticIn = EasingSegment< ossia::easing::quarticIn > |
using | Segment_quarticOut = EasingSegment< ossia::easing::quarticOut > |
using | Segment_quarticInOut = EasingSegment< ossia::easing::quarticInOut > |
using | Segment_quinticIn = EasingSegment< ossia::easing::quinticIn > |
using | Segment_quinticOut = EasingSegment< ossia::easing::quinticOut > |
using | Segment_quinticInOut = EasingSegment< ossia::easing::quinticInOut > |
using | Segment_sineIn = EasingSegment< ossia::easing::sineIn > |
using | Segment_sineOut = EasingSegment< ossia::easing::sineOut > |
using | Segment_sineInOut = EasingSegment< ossia::easing::sineInOut > |
using | Segment_circularIn = EasingSegment< ossia::easing::circularIn > |
using | Segment_circularOut = EasingSegment< ossia::easing::circularOut > |
using | Segment_circularInOut = EasingSegment< ossia::easing::circularInOut > |
using | Segment_exponentialIn = EasingSegment< ossia::easing::exponentialIn > |
using | Segment_exponentialOut = EasingSegment< ossia::easing::exponentialOut > |
using | Segment_exponentialInOut = EasingSegment< ossia::easing::exponentialInOut > |
using | Segment_elasticIn = EasingSegment< ossia::easing::elasticIn > |
using | Segment_elasticOut = EasingSegment< ossia::easing::elasticOut > |
using | Segment_elasticInOut = EasingSegment< ossia::easing::elasticInOut > |
using | Segment_perlinInOut = EasingSegment< ossia::easing::perlinInOut > |
using | pow_tables_t = std::array< std::array< double, 76 >, 76 > |
Functions | |
const CommandGroupKey & | CommandFactoryName () |
std::vector< SegmentData > | orderedSegments (const Model &curve) |
bool | operator< (const SegmentData &lhs, const SegmentData &rhs) |
bool | operator<= (const SegmentData &lhs, const SegmentData &rhs) |
template<typename Container > | |
Id< SegmentModel > | getSegmentId (const Container &ids) |
Id< SegmentModel > | getSegmentId (const std::vector< SegmentData > &ids) |
Id< SegmentModel > | getSegmentId (const std::vector< Id< SegmentModel >> &ids) |
Curve::SegmentModel * | createCurveSegment (const Curve::SegmentList &csl, const Curve::SegmentData &dat, QObject *parent) |
SegmentData | flatCurveSegment (double val, double min, double max) |