|
Point Cloud Library (PCL)
1.15.1-dev
|
DeviceArray2D class More...
#include </__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h>
Inheritance diagram for pcl::gpu::DeviceArray2D< T >:
Collaboration diagram for pcl::gpu::DeviceArray2D< T >:Public Types | |
| enum | { elem_size = sizeof(T) } |
| Element size. More... | |
| using | type = T |
| Element type. More... | |
Public Member Functions | |
| DeviceArray2D () | |
| Empty constructor. More... | |
| DeviceArray2D (int rows, int cols) | |
| Allocates internal buffer in GPU memory. More... | |
| DeviceArray2D (int rows, int cols, void *data, std::size_t stepBytes) | |
| Initializes with user allocated buffer. More... | |
| DeviceArray2D (const DeviceArray2D &other) | |
| Copy constructor. More... | |
| DeviceArray2D & | operator= (const DeviceArray2D &other) |
| Assignment operator. More... | |
| void | create (int rows, int cols) |
| Allocates internal buffer in GPU memory. More... | |
| void | release () |
| Decrements reference counter and releases internal buffer if needed. More... | |
| void | copyTo (DeviceArray2D &other) const |
| Performs data copying. More... | |
| void | upload (const void *host_ptr, std::size_t host_step, int rows, int cols) |
| Uploads data to internal buffer in GPU memory. More... | |
| void | download (void *host_ptr, std::size_t host_step) const |
| Downloads data from internal buffer to CPU memory. More... | |
| void | swap (DeviceArray2D &other_arg) |
| Performs swap of data pointed with another device array. More... | |
| template<class A > | |
| void | upload (const std::vector< T, A > &data, int cols) |
| Uploads data to internal buffer in GPU memory. More... | |
| template<class A > | |
| void | download (std::vector< T, A > &data, int &cols) const |
| Downloads data from internal buffer to CPU memory. More... | |
| T * | ptr (int y=0) |
| Returns pointer to given row in internal buffer. More... | |
| const T * | ptr (int y=0) const |
| Returns const pointer to given row in internal buffer. More... | |
| operator T* () | |
| Returns pointer for internal buffer in GPU memory. More... | |
| operator const T * () const | |
| Returns const pointer for internal buffer in GPU memory. More... | |
| int | cols () const |
| Returns number of elements in each row. More... | |
| int | rows () const |
| Returns number of rows. More... | |
| std::size_t | elem_step () const |
| Returns step in elements. More... | |
Public Member Functions inherited from pcl::gpu::DeviceMemory2D | |
| DeviceMemory2D () | |
| Empty constructor. More... | |
| ~DeviceMemory2D () | |
| Destructor. More... | |
| DeviceMemory2D (int rows_arg, int colsBytes_arg) | |
| Allocates internal buffer in GPU memory. More... | |
| DeviceMemory2D (int rows_arg, int colsBytes_arg, void *data_arg, std::size_t step_arg) | |
| Initializes with user allocated buffer. More... | |
| DeviceMemory2D (const DeviceMemory2D &other_arg) | |
| Copy constructor. More... | |
| DeviceMemory2D & | operator= (const DeviceMemory2D &other_arg) |
| Assignment operator. More... | |
| void | create (int rows_arg, int colsBytes_arg) |
| Allocates internal buffer in GPU memory. More... | |
| void | release () |
| Decrements reference counter and releases internal buffer if needed. More... | |
| void | copyTo (DeviceMemory2D &other) const |
| Performs data copying. More... | |
| void | upload (const void *host_ptr_arg, std::size_t host_step_arg, int rows_arg, int colsBytes_arg) |
| Uploads data to internal buffer in GPU memory. More... | |
| void | download (void *host_ptr_arg, std::size_t host_step_arg) const |
| Downloads data from internal buffer to CPU memory. More... | |
| void | swap (DeviceMemory2D &other_arg) |
| Performs swap of data pointed with another device memory. More... | |
| template<class T > | |
| T * | ptr (int y_arg=0) |
| Returns pointer to given row in internal buffer. More... | |
| template<class T > | |
| const T * | ptr (int y_arg=0) const |
| Returns constant pointer to given row in internal buffer. More... | |
| template<class U > | |
| operator PtrStep< U > () const | |
| Conversion to PtrStep for passing to kernel functions. More... | |
| template<class U > | |
| operator PtrStepSz< U > () const | |
| Conversion to PtrStepSz for passing to kernel functions. More... | |
| bool | empty () const |
| Returns true if unallocated otherwise false. More... | |
| int | colsBytes () const |
| Returns number of bytes in each row. More... | |
| int | rows () const |
| Returns number of rows. More... | |
| std::size_t | step () const |
| Returns stride between two consecutive rows in bytes for internal buffer. More... | |
DeviceArray2D class
Definition at line 188 of file device_array.h.
| using pcl::gpu::DeviceArray2D< T >::type = T |
Element type.
Definition at line 191 of file device_array.h.
| anonymous enum |
|
inline |
Empty constructor.
Definition at line 189 of file device_array.hpp.
|
inline |
Allocates internal buffer in GPU memory.
| rows | number of rows to allocate |
| cols | number of elements in each row |
Definition at line 193 of file device_array.hpp.
|
inline |
Initializes with user allocated buffer.
Reference counting is disabled in this case.
| rows | number of rows |
| cols | number of elements in each row |
| data | pointer to buffer |
| stepBytes | stride between two consecutive rows in bytes |
Definition at line 198 of file device_array.hpp.
|
inline |
Copy constructor.
Just increments reference counter.
Definition at line 206 of file device_array.hpp.
|
inline |
Returns number of elements in each row.
Definition at line 310 of file device_array.hpp.
Referenced by pcl::gpu::AsyncCopy< T >::download(), pcl::gpu::TextureBinder::TextureBinder(), and pcl::gpu::AsyncCopy< T >::upload().
|
inline |
Performs data copying.
If destination size differs it will be reallocated.
| other | destination container |
Definition at line 234 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::copyTo().
|
inline |
Allocates internal buffer in GPU memory.
If internal buffer was created before the function recreates it with new size. If new and old sizes are equal it does nothing.
| rows | number of rows to allocate |
| cols | number of elements in each row |
Definition at line 220 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::create().
|
inline |
Downloads data from internal buffer to CPU memory.
| data | host vector to download to |
| cols | Output stride in elements between two consecutive rows for host vector. |
Definition at line 267 of file device_array.hpp.
|
inline |
Downloads data from internal buffer to CPU memory.
User is responsible for correct host buffer size.
| host_ptr | pointer to host buffer to download |
| host_step | stride between two consecutive rows in bytes for host buffer |
Definition at line 251 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::download().
|
inline |
Returns step in elements.
Definition at line 324 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::step().
|
inline |
Returns const pointer for internal buffer in GPU memory.
Definition at line 303 of file device_array.hpp.
|
inline |
Returns pointer for internal buffer in GPU memory.
Definition at line 297 of file device_array.hpp.
|
inline |
Assignment operator.
Just increments reference counter.
Definition at line 212 of file device_array.hpp.
|
inline |
Returns pointer to given row in internal buffer.
| y | row index |
Definition at line 284 of file device_array.hpp.
Referenced by pcl::gpu::AsyncCopy< T >::download(), pcl::gpu::TextureBinder::TextureBinder(), and pcl::gpu::AsyncCopy< T >::upload().
|
inline |
Returns const pointer to given row in internal buffer.
| y | row index |
Definition at line 291 of file device_array.hpp.
|
inline |
Decrements reference counter and releases internal buffer if needed.
Definition at line 227 of file device_array.hpp.
|
inline |
Returns number of rows.
Definition at line 317 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::rows().
Referenced by pcl::gpu::AsyncCopy< T >::download(), pcl::gpu::TextureBinder::TextureBinder(), and pcl::gpu::AsyncCopy< T >::upload().
| void pcl::gpu::DeviceArray2D< T >::swap | ( | DeviceArray2D< T > & | other_arg | ) |
Performs swap of data pointed with another device array.
| other_arg | device array to swap with |
Definition at line 277 of file device_array.hpp.
|
inline |
Uploads data to internal buffer in GPU memory.
It calls create() inside to ensure that internal buffer size is enough.
| data | host vector to upload from |
| cols | stride in elements between two consecutive rows for host buffer |
Definition at line 259 of file device_array.hpp.
|
inline |
Uploads data to internal buffer in GPU memory.
It calls create() inside to ensure that internal buffer size is enough.
| host_ptr | pointer to host buffer to upload |
| host_step | stride between two consecutive rows in bytes for host buffer |
| rows | number of rows to upload |
| cols | number of elements in each row |
Definition at line 241 of file device_array.hpp.
References pcl::gpu::DeviceMemory2D::upload().