VISR  0.11.8
Versatile Interactive Scene Renderer
visr::rbbl::KissFftWrapper< DataType > Class Template Reference

#include <kiss_fft_wrapper.hpp>

Inheritance diagram for visr::rbbl::KissFftWrapper< DataType >:
visr::rbbl::FftWrapperBase< DataType >

Classes

class  Impl
 

Public Types

using FrequencyDomainType = typename FftWrapperBase< DataType >::FrequencyDomainType
 
- Public Types inherited from visr::rbbl::FftWrapperBase< DataType >
using FrequencyDomainType = std::complex< DataType >
 

Public Member Functions

 KissFftWrapper (std::size_t fftSize, std::size_t alignment)
 
 ~KissFftWrapper ()
 
efl::ErrorCode forwardTransform (DataType const *const in, FrequencyDomainType *out) const override
 
efl::ErrorCode inverseTransform (FrequencyDomainType const *const in, DataType *out) const override
 
DataType forwardScalingFactor () const override
 
DataType inverseScalingFactor () const override
 
- Public Member Functions inherited from visr::rbbl::FftWrapperBase< DataType >
virtual ~FftWrapperBase ()
 

Detailed Description

template<typename DataType>
class visr::rbbl::KissFftWrapper< DataType >

FFT wrapper class encapsulating the KissFFT library for real-to-complex transforms.

Template Parameters
DataTypeThe floating-point element type for the transform. The class is specialized for type float and double.

Member Typedef Documentation

◆ FrequencyDomainType

template<typename DataType >
using visr::rbbl::KissFftWrapper< DataType >::FrequencyDomainType = typename FftWrapperBase<DataType>::FrequencyDomainType

Typedef for the frequency-domain samples. Needs to be redeclared and marked as 'typename' by GCC.

Constructor & Destructor Documentation

◆ KissFftWrapper()

template<typename DataType >
visr::rbbl::KissFftWrapper< DataType >::KissFftWrapper ( std::size_t  fftSize,
std::size_t  alignment 
)

◆ ~KissFftWrapper()

template<typename DataType >
visr::rbbl::KissFftWrapper< DataType >::~KissFftWrapper ( )

Member Function Documentation

◆ forwardScalingFactor()

template<typename DataType >
DataType visr::rbbl::KissFftWrapper< DataType >::forwardScalingFactor ( ) const
inlineoverridevirtual

◆ forwardTransform()

template<typename DataType >
efl::ErrorCode visr::rbbl::KissFftWrapper< DataType >::forwardTransform ( DataType const *const  in,
FrequencyDomainType out 
) const
overridevirtual

◆ inverseScalingFactor()

template<typename DataType >
DataType visr::rbbl::KissFftWrapper< DataType >::inverseScalingFactor ( ) const
inlineoverridevirtual

◆ inverseTransform()

template<typename DataType >
efl::ErrorCode visr::rbbl::KissFftWrapper< DataType >::inverseTransform ( FrequencyDomainType const *const  in,
DataType *  out 
) const
overridevirtual

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