Raytrix Light Field SDK  v3.1
Logo
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Groups Pages
Rx::Interop::Runtime30::IMemory2D Class Referenceabstract

Detailed Description

Common 2D memory interface.

Inherits Rx::Interop::Runtime30::IMemory2DAccess.

Inherited by Rx::CRxArray2DBase< TValue >, Rx::CRxArray2DDouble, and Rx::CRxArray2DInt.

Public Member Functions

virtual void CopyFrom (const IMemory2DAccess *pMemory)=0
 Copies the memory block described by pMemory into this memory block. This memory block is automatically resized. The function throws an exception if the element sizes of the given memory block does not agree with the element size of this memory block. More...
 
virtual void Delete ()=0
 Deletes this memory block. More...
 
virtual size_t GetElementSize () const =0
 Gets the element size. The memory block is made up of blocks of the given number of bytes. The function Length() returns the number of elements in the memory block, where each element is of the size given in GetElementSize(). For example, an array of 10 doubles has element size 8 and length 10. More...
 
virtual const void * GetPointer () const =0
 Gets the pointer to memory. More...
 
virtual void * GetPointer ()=0
 Gets the pointer to the memory block. More...
 
virtual void GetSize (size_t &nRows, size_t &nCols) const =0
 Gets the number of elements in the memory block. The total number of bytes allocated by the memory block is given by the nRows times nCols times the element size. More...
 
virtual bool IsValid () const =0
 Query if this object is valid. This function returns also true if the object itself is valid but the memory block has size zero. More...
 
virtual void New (size_t nRows, size_t nCols)=0
 Creates a new memory block of nRows times nCols elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize(). More...
 
virtual void Reset ()=0
 Reset all values in the memory block. The actual value the elements in the memory block are reset to depends on the implementation. More...
 
virtual void Resize (size_t nRows, size_t nCols)=0
 Resizes the memory block to the given number of elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize(). More...
 

Protected Member Functions

virtual ~IMemory2D ()
 Destructor. More...
 

Constructor & Destructor Documentation

virtual Rx::Interop::Runtime30::IMemory2D::~IMemory2D ( )
inlineprotectedvirtual

Destructor.

Member Function Documentation

virtual void Rx::Interop::Runtime30::IMemory2D::CopyFrom ( const IMemory2DAccess pMemory)
pure virtual

Copies the memory block described by pMemory into this memory block. This memory block is automatically resized. The function throws an exception if the element sizes of the given memory block does not agree with the element size of this memory block.

Parameters
pMemory[in] The memory to copy into this memory block.
virtual void Rx::Interop::Runtime30::IMemory2D::Delete ( )
pure virtual

Deletes this memory block.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual size_t Rx::Interop::Runtime30::IMemory2DAccess::GetElementSize ( ) const
pure virtualinherited

Gets the element size. The memory block is made up of blocks of the given number of bytes. The function Length() returns the number of elements in the memory block, where each element is of the size given in GetElementSize(). For example, an array of 10 doubles has element size 8 and length 10.

Returns
The element size in bytes.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual const void* Rx::Interop::Runtime30::IMemory2DAccess::GetPointer ( ) const
pure virtualinherited

Gets the pointer to memory.

Returns
The pointer to memory.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual void* Rx::Interop::Runtime30::IMemory2D::GetPointer ( )
pure virtual

Gets the pointer to the memory block.

Returns
The pointer to memory.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual void Rx::Interop::Runtime30::IMemory2DAccess::GetSize ( size_t &  nRows,
size_t &  nCols 
) const
pure virtualinherited

Gets the number of elements in the memory block. The total number of bytes allocated by the memory block is given by the nRows times nCols times the element size.

Returns
The size in bytes.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual bool Rx::Interop::Runtime30::IMemory2DAccess::IsValid ( ) const
pure virtualinherited

Query if this object is valid. This function returns also true if the object itself is valid but the memory block has size zero.

Returns
True if valid, false if not.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual void Rx::Interop::Runtime30::IMemory2D::New ( size_t  nRows,
size_t  nCols 
)
pure virtual

Creates a new memory block of nRows times nCols elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize().

Parameters
nRowsThe amount of rows to allocate.
nColsThe amount of cols to allocate.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual void Rx::Interop::Runtime30::IMemory2D::Reset ( )
pure virtual

Reset all values in the memory block. The actual value the elements in the memory block are reset to depends on the implementation.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.

virtual void Rx::Interop::Runtime30::IMemory2D::Resize ( size_t  nRows,
size_t  nCols 
)
pure virtual

Resizes the memory block to the given number of elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize().

Parameters
nRowsThe amount of rows to allocate.
nColsThe amount of cols to allocate.

Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.