DeviceArray класс Подробнее...
#include </__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h>
Публичные типы | |
| enum | { elem_size = sizeof(T) } |
| Размер элемента. Подробнее... |
|
| using | type = T |
| Тип элемента. Подробнее... |
|
Общедоступные функции-члены | |
| DeviceArray () | |
| Пустой конструктор. Подробнее... |
|
| DeviceArray (std::size_t size) | |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| DeviceArray (T *ptr, std::size_t size) | |
| Инициализирует массив буфером, выделенным пользователем. Подробнее... |
|
| DeviceArray (const DeviceArray &other) | |
| Конструктор копирования. Подробнее... |
|
| DeviceArray & | operator= (const DeviceArray &other) |
| Оператор присваивания. Подробнее... |
|
| void | create (std::size_t size) |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| void | release () |
| Уменьшает счетчик ссылок и при необходимости освобождает внутренний буфер. Подробнее... |
|
| void | copyTo (DeviceArray &other) const |
| Копирует данные. Подробнее... |
|
| void | upload (const T *host_ptr, std::size_t size) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| bool | upload (const T *host_ptr, std::size_t device_begin_offset, std::size_t num_elements) |
| Загружает данные из памяти CPU во внутренний буфер. Подробнее... |
|
| void | download (T *host_ptr) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| bool | download (T *host_ptr, std::size_t device_begin_offset, std::size_t num_elements) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| template<class A > | |
| void | upload (const std::vector< T, A > &data) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| template<typename A > | |
| void | download (std::vector< T, A > &data) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| void | swap (DeviceArray &other_arg) |
| Меняет местами данные, на которые указывает другой массив устройства. Подробнее... |
|
| T * | ptr () |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| const T * | ptr () const |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| operator T* () | |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| operator const T * () const | |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| std::size_t | size () const |
| Возвращает размер в элементах. Подробнее... |
|
|
| |
| DeviceMemory () | |
| Пустой конструктор. Подробнее... |
|
| ~DeviceMemory () | |
| Деструктор. Подробнее... |
|
| DeviceMemory (std::size_t sizeBytes_arg) | |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| DeviceMemory (void *ptr_arg, std::size_t sizeBytes_arg) | |
| Инициализирует объект буфером, выделенным пользователем. Подробнее... |
|
| DeviceMemory (const DeviceMemory &other_arg) | |
| Конструктор копирования. Подробнее... |
|
| DeviceMemory & | operator= (const DeviceMemory &other_arg) |
| Оператор присваивания. Подробнее... |
|
| void | create (std::size_t sizeBytes_arg) |
| Выделяет внутренний буфер в памяти GPU. Подробнее... |
|
| void | release () |
| Уменьшает счетчик ссылок и при необходимости освобождает внутренний буфер. Подробнее... |
|
| void | copyTo (DeviceMemory &other) const |
| Выполняет копирование данных. Подробнее... |
|
| void | upload (const void *host_ptr_arg, std::size_t sizeBytes_arg) |
| Загружает данные во внутренний буфер в памяти GPU. Подробнее... |
|
| bool | upload (const void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) |
| Загружает данные из памяти CPU в массив устройства. Подробнее... |
|
| void | download (void *host_ptr_arg) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| bool | download (void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) const |
| Загружает данные из внутреннего буфера в память CPU. Подробнее... |
|
| void | swap (DeviceMemory &other_arg) |
| Меняет местами данные, на которые указывает другой объект памяти устройства. Подробнее... |
|
| template<class T > | |
| T * | ptr () |
| Возвращает указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| template<class T > | |
| const T * | ptr () const |
| Возвращает константный указатель на внутренний буфер в памяти GPU. Подробнее... |
|
| template<class U > | |
| operator PtrSz< U > () const | |
| Преобразование в PtrSz для передачи функциям ядра. Подробнее... |
|
| bool | empty () const |
| Возвращает true, если память не выделена, и false в противном случае. Подробнее... |
|
| std::size_t | sizeBytes () const |
Подробное описание
template<class T>
class pcl::gpu::DeviceArray< T >
Класс DeviceArray
- Примечание
- Типизированный контейнер для памяти GPU со счетчиком ссылок.
Определение в строке 54 файла device_array.h.
Документация определения псевдонима члена
type
| using pcl::gpu::DeviceArray< T >::type = T |
Тип элемента.
Определение в строке 57 файла device_array.h.
Документация перечисления-члена
анонимное перечисление
| anonymous enum |
Документация конструктора и деструктора
DeviceArray() [1/4]
| inline |
Конструктор без параметров.
Определение в строке 47 файла device_array.hpp.
DeviceArray() [2/4]
| inline |
Выделяет внутренний буфер в памяти GPU.
- Параметры
-
size количество выделяемых элементов
Определение в строке 51 файла device_array.hpp.
DeviceArray() [3/4]
| inline |
Инициализирует массив пользовательским буфером.
В этом случае подсчёт ссылок отключён.
- Параметры
-
ptr указатель на буфер size количество элементов
Определение в строке 55 файла device_array.hpp.
DeviceArray() [4/4]
| inline |
Конструктор копирования.
Лишь увеличивает счётчик ссылок.
Определение в строке 60 файла device_array.hpp.
Описание функций-членов
copyTo()
| inline |
Выполняет копирование данных.
Если размер назначения отличается, для него будет выделена новая память.
- Параметры
-
other контейнер назначения
Определение в строке 87 файла device_array.hpp.
Ссылки: pcl::gpu::DeviceMemory::copyTo().
create()
| inline |
Выделяет внутренний буфер в памяти GPU.
Если внутренний буфер уже был создан, функция пересоздаёт его с новым размером. Если новый и старый размеры равны, функция ничего не делает.
- Параметры
-
size количество элементов
Определение в строке 73 файла device_array.hpp.
Используется в: pcl::gpu::copyFieldsEx(), pcl::gpu::NeighborIndices::create() и pcl::gpu::extractEuclideanClusters().
download() [1/3]
| inline |
Загружает данные из внутреннего буфера в память CPU.
- Параметры
-
data вектор в памяти хоста, в который загружаются данные
Определение в строке 179 файла device_array.hpp.
download() [2/3]
Загружает данные из внутреннего буфера в память CPU.
- Параметры
-
host_ptr указатель на буфер, в который загружаются данные
Определение в строке 112 файла device_array.hpp.
Ссылки: pcl::gpu::DeviceMemory::download().
Используется в: pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh(), pcl::gpu::extractEuclideanClusters() и pcl::gpu::extractLabeledEuclideanClusters().
download() [3/3]
| inline |
Загружает данные из внутреннего буфера в память CPU.
- Возвращает
- true, если загрузка выполнена успешно
- Параметры
-
host_ptr указатель на буфер, в который загружаются данные device_begin_offset начальная позиция загрузки num_elements количество элементов, начиная с device_begin_offset
Определение в строке 119 файла device_array.hpp.
operator const T *()
| inline |
Возвращает указатель на внутренний буфер в памяти GPU для чтения.
Определение в строке 142 файла device_array.hpp.
operator T*()
| inline |
Возвращает указатель на внутренний буфер в памяти GPU.
Определение в строке 136 файла device_array.hpp.
operator=()
| inline |
Оператор присваивания.
Лишь увеличивает счётчик ссылок.
Определён в строке 65 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::operator=().
ptr() [перегрузка 1/2]
| inline |
Возвращает указатель на внутренний буфер в памяти GPU.
Определён в строке 156 файла device_array.hpp.
На него ссылаются pcl::gpu::copyFieldsEx(), pcl::gpu::AsyncCopy< T >::download(), pcl::gpu::extractEuclideanClusters(), pcl::gpu::NeighborIndices::operator PtrStep< int >(), pcl::gpu::TextureBinder::TextureBinder() и pcl::gpu::AsyncCopy< T >::upload().
ptr() [перегрузка 2/2]
| inline |
Возвращает указатель на константный внутренний буфер в памяти GPU.
Определён в строке 163 файла device_array.hpp.
release()
| inline |
Уменьшает счётчик ссылок и при необходимости освобождает внутренний буфер.
Определён в строке 80 файла device_array.hpp.
size()
| inline |
Возвращает размер в элементах.
Определён в строке 149 файла device_array.hpp.
На него ссылаются pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh(), pcl::gpu::copyFieldsEx(), pcl::gpu::NeighborIndices::neighboors_size(), pcl::gpu::AsyncCopy< T >::upload() и pcl::gpu::NeighborIndices::validate().
swap()
| void pcl::gpu::DeviceArray< T >::swap | ( | DeviceArray< T > & | other_arg | ) |
Обменивает данные с другим массивом устройства.
- Параметры
-
other_arg массив устройства для обмена данными
Определён в строке 130 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::swap().
upload() [перегрузка 1/3]
| inline |
Загружает данные во внутренний буфер в памяти GPU.
Внутри вызывает create(), чтобы убедиться, что размер внутреннего буфера достаточен.
- Параметры
-
data вектор в памяти хоста, из которого выполняется загрузка
Определён в строке 171 файла device_array.hpp.
upload() [перегрузка 2/3]
| inline |
Загружает данные из памяти CPU во внутренний буфер.
- Возвращает
- true, если загрузка выполнена успешно
- Примечание
- В отличие от другой функции upload, эта функция никогда не выделяет память.
- Параметры
-
host_ptr указатель на буфер для загрузки device_begin_offset начало загрузки num_elements количество элементов начиная с device_bein_offset
Определён в строке 101 файла device_array.hpp.
Ссылки на pcl::gpu::DeviceMemory::upload().
upload() [перегрузка 3/3]
| inline |
Загружает данные во внутренний буфер в памяти GPU.
Внутри вызывает create(), чтобы убедиться, что размер внутреннего буфера достаточен.
- Параметры
-
host_ptr указатель на буфер для загрузки size количество элементов
Определён в строке 94 файла device_array.hpp.
На него ссылаются pcl::gpu::extractEuclideanClusters() и pcl::gpu::extractLabeledEuclideanClusters().
Документация этого класса создана на основе следующих файлов:
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h
- /__w/1/s/gpu/containers/include/pcl/gpu/containers/impl/device_array.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1gpu_1_1_device_array.html