RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::Spline< T > Class Template Referencefinal

#include "common/Spline.h"

Collaboration diagram for rawspeed::Spline< T >:
[legend]

Classes

struct  Segment

Public Types

using value_type = T

Public Member Functions

 Spline (const std::vector< iPoint2D > &control_points)
std::vector< SegmentgetSegments () const
std::vector< value_typecalculateCurve () const

Private Member Functions

void prepare ()

Private Attributes

int num_coords
int num_segments
std::vector< int > xCp
std::vector< Segmentsegments

Detailed Description

template<typename T = uint16_t>
requires std::is_arithmetic_v<T>
class rawspeed::Spline< T >

Definition at line 46 of file Spline.h.

Member Typedef Documentation

◆ value_type

template<typename T = uint16_t>
using rawspeed::Spline< T >::value_type = T

Definition at line 48 of file Spline.h.

Constructor & Destructor Documentation

◆ Spline()

template<typename T = uint16_t>
rawspeed::Spline< T >::Spline ( const std::vector< iPoint2D > & control_points)
inlineexplicit

Definition at line 113 of file Spline.h.

References assert(), rawspeed::implicit_cast(), num_coords, num_segments, prepare(), segments, and xCp.

Here is the call graph for this function:

Member Function Documentation

◆ calculateCurve()

template<typename T = uint16_t>
std::vector< value_type > rawspeed::Spline< T >::calculateCurve ( ) const
inlinenodiscard

Definition at line 154 of file Spline.h.

References rawspeed::implicit_cast(), num_segments, s, segments, x, and xCp.

Here is the call graph for this function:

◆ getSegments()

template<typename T = uint16_t>
std::vector< Segment > rawspeed::Spline< T >::getSegments ( ) const
inlinenodiscard

Definition at line 152 of file Spline.h.

References segments.

◆ prepare()

template<typename T = uint16_t>
void rawspeed::Spline< T >::prepare ( )
inlineprivate

Definition at line 67 of file Spline.h.

References rawspeed::Spline< T >::Segment::a, assert(), rawspeed::Spline< T >::Segment::c, num_coords, num_segments, s, segments, and xCp.

Referenced by Spline().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ num_coords

template<typename T = uint16_t>
int rawspeed::Spline< T >::num_coords
private

Definition at line 61 of file Spline.h.

Referenced by Spline(), and prepare().

◆ num_segments

template<typename T = uint16_t>
int rawspeed::Spline< T >::num_segments
private

Definition at line 62 of file Spline.h.

Referenced by Spline(), calculateCurve(), and prepare().

◆ segments

template<typename T = uint16_t>
std::vector<Segment> rawspeed::Spline< T >::segments
private

Definition at line 65 of file Spline.h.

Referenced by Spline(), calculateCurve(), getSegments(), and prepare().

◆ xCp

template<typename T = uint16_t>
std::vector<int> rawspeed::Spline< T >::xCp
private

Definition at line 64 of file Spline.h.

Referenced by Spline(), calculateCurve(), and prepare().


The documentation for this class was generated from the following file: