Loading...
Searching...
No Matches
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) |
| void | checkValidity (SegmentMapImpl &segts) |
| void | checkValidity (std::span< SegmentData > segts) |
| 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) |