cgv
Loading...
Searching...
No Matches
cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT > Class Template Reference

Implementation of a specialized interpolator for rgb colors that allows separate piecewise linear interpolation of non-uniform breakpoints per color channel. More...

#include <named_color_schemes.h>

Inheritance diagram for cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >:
cgv::math::interpolator< ValueT, ParamT >

Public Types

using point_type = std::pair< ParamT, float >
 

Public Member Functions

 rgb_per_channel_piecewise_interpolator (const std::vector< point_type > &red_points, const std::vector< point_type > &green_points, const std::vector< point_type > &blue_points)
 
std::unique_ptr< cgv::math::interpolator< cgv::rgb, ParamT > > clone () const override
 
cgv::rgb at (ParamT t) const override
 Return the interpolated value at position t.
 
- Public Member Functions inherited from cgv::math::interpolator< ValueT, ParamT >
virtual std::vector< ValueT > quantize (size_t n) const
 Return a sequence of n uniformly-spaced samples from the interpolator within the parameter range [0,1].
 

Public Attributes

std::vector< point_type > points [3]
 

Detailed Description

template<typename ParamT = float>
class cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >

Implementation of a specialized interpolator for rgb colors that allows separate piecewise linear interpolation of non-uniform breakpoints per color channel.

Definition at line 188 of file named_color_schemes.h.

Member Typedef Documentation

◆ point_type

template<typename ParamT = float>
using cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::point_type = std::pair<ParamT, float>

Definition at line 190 of file named_color_schemes.h.

Constructor & Destructor Documentation

◆ rgb_per_channel_piecewise_interpolator() [1/2]

template<typename ParamT = float>
cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::rgb_per_channel_piecewise_interpolator ( )
inline

Definition at line 192 of file named_color_schemes.h.

◆ rgb_per_channel_piecewise_interpolator() [2/2]

template<typename ParamT = float>
cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::rgb_per_channel_piecewise_interpolator ( const std::vector< point_type > &  red_points,
const std::vector< point_type > &  green_points,
const std::vector< point_type > &  blue_points 
)
inline

Definition at line 194 of file named_color_schemes.h.

Member Function Documentation

◆ at()

template<typename ParamT = float>
cgv::rgb cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::at ( ParamT  t) const
inlineoverridevirtual

Return the interpolated value at position t.

Parameters
tThe position at which to evaluate the interpolator. Typically in the range [0,1].
Returns
The interpolated value.

Implements cgv::math::interpolator< ValueT, ParamT >.

Definition at line 204 of file named_color_schemes.h.

◆ clone()

template<typename ParamT = float>
std::unique_ptr< cgv::math::interpolator< cgv::rgb, ParamT > > cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::clone ( ) const
inlineoverridevirtual

Implements cgv::math::interpolator< ValueT, ParamT >.

Definition at line 200 of file named_color_schemes.h.

Member Data Documentation

◆ points

template<typename ParamT = float>
std::vector<point_type> cgv::media::schemes::rgb_per_channel_piecewise_interpolator< ParamT >::points[3]

Definition at line 212 of file named_color_schemes.h.


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