OpenWareLaboratory
CompositeTransform< matrix_order > Class Template Reference

Composite transform can apply a sequence of transformation matrices. More...

Inheritance diagram for CompositeTransform< matrix_order >:
Collaboration diagram for CompositeTransform< matrix_order >:

Public Member Functions

 CompositeTransform ()=default
 
 CompositeTransform (FloatMatrix matrix, size_t num_transforms, MatrixType **transforms)
 
void computeMatrix ()
 
FloatMatrix getMatrix ()
 
ComplexFloat process (ComplexFloat input)
 
virtual ComplexFloat process (ComplexFloat input)=0
 
void process (ComplexFloatArray input, ComplexFloatArray output)
 
void resetMatrix ()
 

Static Public Member Functions

static CompositeTransform< matrix_order > * create ()
 
template<typename... Transforms>
static CompositeTransformcreate (Transforms *... transform_ptrs)
 
static void destroy (CompositeTransform *transform)
 

Static Protected Member Functions

static void setTransform (MatrixType **transforms, size_t position)
 
template<typename... Transforms>
static void setTransform (MatrixType **transforms, size_t position, MatrixType *transform, Transforms *... transform_ptrs)
 

Protected Attributes

FloatMatrix matrix
 
size_t num_transforms
 
MatrixType ** transforms
 

Detailed Description

template<size_t matrix_order>
class CompositeTransform< matrix_order >

Composite transform can apply a sequence of transformation matrices.

Block based version calculates final transformation matrix just once per blocck rather than for every sample.

Definition at line 212 of file ComplexTransform.h.

Constructor & Destructor Documentation

◆ CompositeTransform() [1/2]

template<size_t matrix_order>
CompositeTransform< matrix_order >::CompositeTransform ( )
default

◆ CompositeTransform() [2/2]

template<size_t matrix_order>
CompositeTransform< matrix_order >::CompositeTransform ( FloatMatrix  matrix,
size_t  num_transforms,
MatrixType **  transforms 
)
inline

Definition at line 221 of file ComplexTransform.h.

Member Function Documentation

◆ computeMatrix()

◆ create() [1/2]

static CompositeTransform< matrix_order > * TransformationMatrix< matrix_order, CompositeTransform< matrix_order > >::create ( )
inlinestaticinherited

Definition at line 63 of file ComplexTransform.h.

◆ create() [2/2]

template<size_t matrix_order>
template<typename... Transforms>
static CompositeTransform* CompositeTransform< matrix_order >::create ( Transforms *...  transform_ptrs)
inlinestatic

◆ destroy()

template<size_t matrix_order>
static void CompositeTransform< matrix_order >::destroy ( CompositeTransform< matrix_order > *  transform)
inlinestatic

◆ getMatrix()

◆ process() [1/3]

template<size_t matrix_order>
ComplexFloat CompositeTransform< matrix_order >::process ( ComplexFloat  input)
inlinevirtual

◆ process() [2/3]

virtual ComplexFloat ComplexSignalProcessor::process
inherited

◆ process() [3/3]

template<size_t matrix_order>
void CompositeTransform< matrix_order >::process ( ComplexFloatArray  input,
ComplexFloatArray  output 
)
inlinevirtual

◆ resetMatrix()

template<size_t matrix_order>
void AbstractMatrix< matrix_order >::resetMatrix ( )
inlineinherited

◆ setTransform() [1/2]

template<size_t matrix_order>
static void CompositeTransform< matrix_order >::setTransform ( MatrixType **  transforms,
size_t  position 
)
inlinestaticprotected

Definition at line 267 of file ComplexTransform.h.

◆ setTransform() [2/2]

template<size_t matrix_order>
template<typename... Transforms>
static void CompositeTransform< matrix_order >::setTransform ( MatrixType **  transforms,
size_t  position,
MatrixType transform,
Transforms *...  transform_ptrs 
)
inlinestaticprotected

Field Documentation

◆ matrix

◆ num_transforms

template<size_t matrix_order>
size_t CompositeTransform< matrix_order >::num_transforms
protected

◆ transforms


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