Spec-Zone.ru › PointCloudLibrary

DeviceArray класс Подробнее...

#include </__w/1/s/gpu/containers/include/pcl/gpu/containers/device_array.h>

Inheritance graph
[Легенда]
Collaboration graph
[Легенда]

Общедоступные типы

Перечисление { 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
Возвращает размер в элементах. Подробнее...
- Публичные методы, унаследованные от pcl::gpu::DeviceMemory
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)
Загружает данные из памяти процессора в массив устройства. Подробнее...
void download (void *host_ptr_arg) const
Загружает данные из внутреннего буфера в память процессора. Подробнее...
bool download (void *host_ptr_arg, std::size_t device_begin_byte_offset, std::size_t num_bytes) const
Загрузка данных из внутреннего буфера в оперативную память. Подробнее...
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

Подробное описание

шаблон<class T>
класс pcl::gpu::DeviceArray< T >

DeviceArray класс

Примечание
Типизированный контейнер для памяти GPU со ссылочным подсчётом.
Автор
Анатолий Бахшеев

Определение в строке 54 файла device_array.h.

Документация псевдонимов типов

type

шаблон<class T >
используя pcl::gpu::DeviceArray< T >::type = T

Тип элемента.

Определение в строке 57 файла device_array.h.

Документация перечислений

безымянный перечисление

шаблон<class T >
безымянный перечисление

Размер элемента.

Перечислитель
elem_size

Определение в строке 60 файла device_array.h.

Документация конструкторов и деструкторов

DeviceArray() [1/4]

шаблон<class T >
pcl::gpu::DeviceArray< T >::DeviceArray
inline

Пустой конструктор.

Определение в строке 47 файла device_array.hpp.

DeviceArray() [2/4]

шаблон<class T >
pcl::gpu::DeviceArray< T >::DeviceArray ( std::size_t size )
inline

Выделяет внутренний буфер в памяти GPU.

Параметры
size количество элементов для выделения

Определение в строке 51 файла device_array.hpp.

DeviceArray() [3/4]

template<class T >
pcl::gpu::DeviceArray< T >::DeviceArray ( T * ptr,
std::size_t size
)
inline

Инициализируется с выделенным пользователем буфером.

Подсчет ссылок в этом случае отключен.

Параметры
ptr указатель на буфер
size количество элементов

Определение в строке 55 файла device_array.hpp.

DeviceArray() [4/4]

template<class T >
pcl::gpu::DeviceArray< T >::DeviceArray ( const DeviceArray< T > & other )
inline

Конструктор копирования.

Просто увеличивает счетчик ссылок.

Определение в строке 60 файла device_array.hpp.

Документация по функциям-членам

copyTo()

template<class T >
void pcl::gpu::DeviceArray< T >::copyTo ( DeviceArray< T > & other ) const
inline

Выполняет копирование данных.

Если размер назначения отличается, он будет перевыделен.

Параметры
other контейнер назначения

Определение в строке 87 файла device_array.hpp.

Ссылки на pcl::gpu::DeviceMemory::copyTo().

create()

template<class T >
void pcl::gpu::DeviceArray< T >::create ( std::size_t size )
inline

Выделяет внутренний буфер в памяти GPU.

Если внутренний буфер был создан ранее, функция пересоздаёт его с новым размером. Если новые и старые размеры совпадают, она ничего не делает.

Параметры
size количество элементов

Определение в строке 73 файла device_array.hpp.

Ссылка на pcl::gpu::copyFieldsEx(), pcl::gpu::NeighborIndices::create(), и pcl::gpu::extractEuclideanClusters().

download() [1/3]

template<class T >
template<class A >
void pcl::gpu::DeviceArray< T >::download ( std::vector< T, A > & data ) const
inline

Загрузка данных из внутреннего буфера в оперативную память ЦП.

Parameters
data вектор хоста для загрузки

Определение в строке 179 файла device_array.hpp.

download() [2/3]

template<class T >
void pcl::gpu::DeviceArray< T >::download ( T * host_ptr ) const
inline

Загрузка данных из внутреннего буфера в оперативную память ЦП.

Parameters
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]

template<class T >
bool pcl::gpu::DeviceArray< T >::download ( T * host_ptr,
std::size_t device_begin_offset,
std::size_t num_elements
) const
inline

Загрузка данных из внутреннего буфера в оперативную память ЦП.

Returns
true, если загрузка успешна
Parameters
host_ptr указатель на буфер для загрузки
device_begin_offset начало загрузки
num_elements количество элементов с device_begin_offset

Определение в строке 119 файла device_array.hpp.

operator const T *()

template<class T >
pcl::gpu::DeviceArray< T >::operator const T *
inline

Возвращает постоянный указатель на внутренний буфер в памяти GPU.

Определение в строке 142 файла device_array.hpp.

operator T*()

template<class T >
pcl::gpu::DeviceArray< T >::operator T*
inline

Возвращает указатель на внутренний буфер в памяти GPU.

Определение в строке 136 файла device_array.hpp.

operator=()

template<class T >
DeviceArray< T > & pcl::gpu::DeviceArray< T >::operator= ( const DeviceArray< T > & other )
inline

Оператор присваивания.

Просто увеличивает счётчик ссылок.

Определение в строке 65 файла device_array.hpp.

Ссылки на pcl::gpu::DeviceMemory::operator=().

ptr() [1/2]

template<class T >
T * pcl::gpu::DeviceArray< T >::ptr
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]

template<class T >
const T * pcl::gpu::DeviceArray< T >::ptr
inline

Возвращает константный указатель на внутренний буфер в памяти GPU.

Определение в строке 163 файла device_array.hpp.

release()

template<class T >
void pcl::gpu::DeviceArray< T >::release
inline

Уменьшает счётчик ссылок и освобождает внутренний буфер при необходимости.

Определение в строке 80 файла device_array.hpp.

size()

template<class T >
std::size_t pcl::gpu::DeviceArray< T >::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()

template<class T >
void pcl::gpu::DeviceArray< T >::swap ( DeviceArray< T > & other_arg )

Выполняет обмен данными, указанными с помощью другого массива устройства.

Параметры
other_arg массив устройств, с которым нужно произвести обмен

Определение в строке 130 файла device_array.hpp.

Ссылки на pcl::gpu::DeviceMemory::swap().

upload() [1/3]

template<class T >
template<class A >
void pcl::gpu::DeviceArray< T >::upload ( const std::vector< T, A > & data )
inline

Загружает данные во внутренний буфер в памяти GPU.

Внутри вызывает create(), чтобы убедиться, что размер внутреннего буфера достаточен.

Параметры
data вектор хоста для загрузки

Определение в строке 171 файла device_array.hpp.

upload() [2/3]

template<class T >
bool pcl::gpu::DeviceArray< T >::upload ( const T * host_ptr,
std::size_t device_begin_offset,
std::size_t num_elements
)
inline

Загружает данные из памяти процессора в внутренний буфер.

Возвращает
true, если загрузка выполнена успешно
Примечание
В отличие от других функций загрузки, эта функция никогда не выделяет память.
Параметры
host_ptr указатель на буфер для загрузки
device_begin_offset начало загрузки
num_elements количество элементов с device_bein_offset

Определение в строке 101 файла device_array.hpp.

Ссылки на pcl::gpu::DeviceMemory::upload().

upload() [3/3]

template<class T >
void pcl::gpu::DeviceArray< T >::upload ( const T * host_ptr,
std::size_t size
)
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API