VISR  0.11.6
Versatile Interactive Scene Renderer
visr::pml::MatrixParameter< ElementType > Class Template Reference

#include <matrix_parameter.hpp>

Inheritance diagram for visr::pml::MatrixParameter< ElementType >:
visr::efl::BasicMatrix< ElementType > visr::TypedParameterBase< MatrixParameter< ElementType >, MatrixParameterConfig, MatrixParameterType< ElementType >::ptype() > visr::ParameterBase

Public Member Functions

 MatrixParameter (std::size_t alignment=0)
 
 MatrixParameter (ParameterConfigBase const &config)
 
 MatrixParameter (MatrixParameterConfig const &config)
 
 MatrixParameter (std::size_t numRows, std::size_t numColumns, std::size_t alignment=0)
 
 MatrixParameter (std::size_t numRows, std::size_t numColumns, std::initializer_list< std::initializer_list< ElementType > > const &initMtx, std::size_t alignment=0)
 
 MatrixParameter (MatrixParameter< ElementType > const &rhs)
 
virtual ~MatrixParameter () override
 
MatrixParameteroperator= (MatrixParameter< ElementType > const &rhs)
 
void resize (std::size_t numRows, std::size_t numColumns)
 
- Public Member Functions inherited from visr::efl::BasicMatrix< ElementType >
 BasicMatrix (std::size_t alignmentElements=0)
 
 BasicMatrix (std::size_t numberOfRows, std::size_t numberOfColumns, std::size_t alignmentElements=0)
 
 BasicMatrix (std::size_t numberOfRows, std::size_t numberOfColumns, std::initializer_list< std::initializer_list< ElementType > > const &initialValues, std::size_t alignmentElements=0)
 
 BasicMatrix (BasicMatrix< ElementType > &&rhs)=default
 
BasicMatrix< ElementType > & operator= (BasicMatrix< ElementType > &&rhs)=default
 
 ~BasicMatrix ()
 
void resize (std::size_t newNumberOfRows, std::size_t newNumberOfColumns)
 
void zeroFill ()
 
void fillValue (ElementType val)
 
void swap (BasicMatrix< ElementType > &rhs)
 
void copy (BasicMatrix< ElementType > const &rhs)
 
std::size_t alignmentElements () const
 
std::size_t stride () const
 
std::size_t numberOfRows () const
 
std::size_t numberOfColumns () const
 
ElementType & operator() (std::size_t rowIdx, std::size_t colIdx)
 
ElementType const & operator() (std::size_t rowIdx, std::size_t colIdx) const
 
ElementType & at (std::size_t rowIdx, std::size_t colIdx)
 
ElementType const & at (std::size_t rowIdx, std::size_t colIdx) const
 
ElementType * data ()
 
ElementType const * data () const
 
ElementType * row (std::size_t rowIdx)
 
ElementType const * row (std::size_t rowIdx) const
 
void setRow (std::size_t rowIdx, ElementType const *values)
 
void setColumn (std::size_t colIdx, ElementType const *values)
 
- Public Member Functions inherited from visr::TypedParameterBase< MatrixParameter< ElementType >, MatrixParameterConfig, MatrixParameterType< ElementType >::ptype() >
 TypedParameterBase ()=default
 
virtual ~TypedParameterBase ()=default
 
ParameterType type () final
 
std::unique_ptr< ParameterBaseclone () const final
 
void assign (ParameterBase const &rhs) override
 
- Public Member Functions inherited from visr::ParameterBase
 ParameterBase ()
 
 ParameterBase (const ParameterBase &)
 
ParameterBaseoperator= (const ParameterBase &)
 
virtual ~ParameterBase ()
 

Static Public Member Functions

static MatrixParameter fromString (std::string const &textMatrix, std::size_t alignment=0)
 
static MatrixParameter fromStream (std::istream &stream, std::size_t alignment=0)
 
static MatrixParameter fromAudioFile (std::string const &fileName, std::size_t alignment=0)
 
static MatrixParameter fromTextFile (std::string const &fileName, std::size_t alignment=0)
 
- Static Public Member Functions inherited from visr::TypedParameterBase< MatrixParameter< ElementType >, MatrixParameterConfig, MatrixParameterType< ElementType >::ptype() >
static const constexpr ParameterType staticType ()
 

Additional Inherited Members

- Public Types inherited from visr::TypedParameterBase< MatrixParameter< ElementType >, MatrixParameterConfig, MatrixParameterType< ElementType >::ptype() >
using ParameterConfigType = MatrixParameterConfig
 

Detailed Description

template<typename ElementType>
class visr::pml::MatrixParameter< ElementType >

A type for passing matrixes between processing components. The template class is explicitly instantiated for the element types float and double.

Template Parameters
ElementTypeThe data type of the elements of the matrix.

Constructor & Destructor Documentation

◆ MatrixParameter() [1/6]

template<typename ElementType >
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( std::size_t  alignment = 0)

Default constructor, creates an empty matrix of dimension 0 x 0.

Parameters
alignmentThe alignment of the data, given in in multiples of the eleement size.

◆ MatrixParameter() [2/6]

template<typename ElementType >
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( ParameterConfigBase const &  config)
explicit

◆ MatrixParameter() [3/6]

template<typename ElementType >
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( MatrixParameterConfig const &  config)
explicit

◆ MatrixParameter() [4/6]

template<typename ElementType >
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( std::size_t  numRows,
std::size_t  numColumns,
std::size_t  alignment = 0 
)
explicit

Construct a parameter matrix with the given dimensions. The matrix is zero-initialised.

Parameters
numRowsThe number of matrix rows.
numColumnsThe number of columns.
alignmentThe alignment of the data, given in in multiples of the eleement size.

◆ MatrixParameter() [5/6]

template<typename ElementType>
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( std::size_t  numRows,
std::size_t  numColumns,
std::initializer_list< std::initializer_list< ElementType > > const &  initMtx,
std::size_t  alignment = 0 
)
explicit

◆ MatrixParameter() [6/6]

template<typename ElementType>
visr::pml::MatrixParameter< ElementType >::MatrixParameter ( MatrixParameter< ElementType > const &  rhs)

Copy constructor. Basically needed to enable the 'named constructor' functions below.

Parameters
rhsThe object to be copied.

◆ ~MatrixParameter()

template<typename ElementType >
visr::pml::MatrixParameter< ElementType >::~MatrixParameter ( )
overridevirtualdefault

Member Function Documentation

◆ fromAudioFile()

template<typename ElementType >
MatrixParameter< ElementType > visr::pml::MatrixParameter< ElementType >::fromAudioFile ( std::string const &  fileName,
std::size_t  alignment = 0 
)
static

◆ fromStream()

template<typename ElementType >
MatrixParameter< ElementType > visr::pml::MatrixParameter< ElementType >::fromStream ( std::istream &  stream,
std::size_t  alignment = 0 
)
static

◆ fromString()

template<typename ElementType >
MatrixParameter< ElementType > visr::pml::MatrixParameter< ElementType >::fromString ( std::string const &  textMatrix,
std::size_t  alignment = 0 
)
static

Named constructors to create and initialise matrices from various representations.

◆ fromTextFile()

template<typename ElementType >
MatrixParameter< ElementType > visr::pml::MatrixParameter< ElementType >::fromTextFile ( std::string const &  fileName,
std::size_t  alignment = 0 
)
static

◆ operator=()

template<typename ElementType>
MatrixParameter< ElementType > & visr::pml::MatrixParameter< ElementType >::operator= ( MatrixParameter< ElementType > const &  rhs)

◆ resize()

template<typename ElementType >
void visr::pml::MatrixParameter< ElementType >::resize ( std::size_t  numRows,
std::size_t  numColumns 
)

Change the matrix dimension. The content of the matrix is not kept, but reset to zeros.

Parameters
numRowsThe new number of rows.
numColumnsThe new number of columns
Exceptions
std::bad_allocIf the creation of the new matrix fails.

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