OpenWareLaboratory
|
Composite transform can apply a sequence of transformation matrices. More...
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 CompositeTransform * | create (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 |
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.
|
default |
Referenced by CompositeTransform< matrix_order >::create().
|
inline |
Definition at line 221 of file ComplexTransform.h.
|
inline |
Definition at line 236 of file ComplexTransform.h.
References FloatMatrix::copyFrom(), AbstractMatrix< matrix_order >::getMatrix(), AbstractMatrix< matrix_order >::matrix, FloatMatrix::multiply(), CompositeTransform< matrix_order >::num_transforms, and CompositeTransform< matrix_order >::transforms.
Referenced by CompositeTransform< matrix_order >::process().
|
inlinestaticinherited |
Definition at line 63 of file ComplexTransform.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 251 of file ComplexTransform.h.
References FloatMatrix::destroy(), AbstractMatrix< matrix_order >::matrix, and CompositeTransform< matrix_order >::transforms.
|
inlineinherited |
Definition at line 16 of file ComplexTransform.h.
References AbstractMatrix< matrix_order >::matrix.
Referenced by CompositeTransform< matrix_order >::computeMatrix(), InterpolatedCompositeTransform< matrix_order >::computeMatrix(), Reflection2D< matrix_order >::reflect(), Rotation2D< matrix_order >::rotate(), Scale2D< matrix_order >::scale(), Shear2D< matrix_order >::shearX(), Shear2D< matrix_order >::shearY(), Squeeze2D< matrix_order >::squeeze(), Stretch2D< matrix_order >::stretch(), and Translation2D< matrix_order >::translate().
|
inlinevirtual |
Implements ComplexSignalProcessor.
Definition at line 227 of file ComplexTransform.h.
References CompositeTransform< matrix_order >::computeMatrix(), and TransformationMatrix< matrix_order, CompositeTransform< matrix_order > >::process().
|
inherited |
|
inlinevirtual |
Reimplemented from ComplexSignalProcessor.
Definition at line 232 of file ComplexTransform.h.
References CompositeTransform< matrix_order >::computeMatrix(), and TransformationMatrix< matrix_order, CompositeTransform< matrix_order > >::process().
|
inlineinherited |
Definition at line 19 of file ComplexTransform.h.
References FloatMatrix::clear(), and AbstractMatrix< matrix_order >::matrix.
Referenced by AbstractMatrix< matrix_order >::AbstractMatrix().
|
inlinestaticprotected |
Definition at line 267 of file ComplexTransform.h.
|
inlinestaticprotected |
Definition at line 262 of file ComplexTransform.h.
References CompositeTransform< matrix_order >::transforms.
Referenced by CompositeTransform< matrix_order >::create().
|
protectedinherited |
Definition at line 27 of file ComplexTransform.h.
Referenced by AbstractMatrix< matrix_order >::AbstractMatrix(), CompositeTransform< matrix_order >::computeMatrix(), TransformationMatrix< matrix_order, Operation >::create(), CompositeTransform< matrix_order >::create(), CompositeTransform< matrix_order >::destroy(), AbstractMatrix< matrix_order >::getMatrix(), TransformationMatrix< matrix_order, Operation >::process(), Reflection2D< matrix_order >::reflect(), AbstractMatrix< matrix_order >::resetMatrix(), Rotation2D< matrix_order >::rotate(), Scale2D< matrix_order >::scale(), Shear2D< matrix_order >::shearX(), Shear2D< matrix_order >::shearY(), Squeeze2D< matrix_order >::squeeze(), Stretch2D< matrix_order >::stretch(), and Translation2D< matrix_order >::translate().
|
protected |
Definition at line 259 of file ComplexTransform.h.
Referenced by CompositeTransform< matrix_order >::computeMatrix().
|
protected |
Definition at line 258 of file ComplexTransform.h.
Referenced by CompositeTransform< matrix_order >::computeMatrix(), CompositeTransform< matrix_order >::create(), CompositeTransform< matrix_order >::destroy(), and CompositeTransform< matrix_order >::setTransform().