Spec-Zone.ru › PointCloudLibrary

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

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

Inheritance graph
[легенда]

Открытые методы

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

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

DeviceMemory — класс

Примечание
Класс-контейнер BLOB с подсчётом ссылок для памяти GPU.
Автор
Anatoly Baksheev

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

Описание конструктора и деструктора

DeviceMemory() [1/4]

pcl::gpu::DeviceMemory::DeviceMemory ( )

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

~DeviceMemory()

pcl::gpu::DeviceMemory::~DeviceMemory ( )

Деструктор.

DeviceMemory() [2/4]

pcl::gpu::DeviceMemory::DeviceMemory ( std::size_t sizeBytes_arg )

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

Параметры
sizeBytes_arg объём выделяемой памяти

DeviceMemory() [3/4]

pcl::gpu::DeviceMemory::DeviceMemory ( void * ptr_arg,
std::size_t sizeBytes_arg
)

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

В этом случае подсчёт ссылок отключён.

Параметры
ptr_arg указатель на буфер
sizeBytes_arg размер буфера

DeviceMemory() [4/4]

pcl::gpu::DeviceMemory::DeviceMemory ( const DeviceMemory & other_arg )

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

Только увеличивает счётчик ссылок.

Описание функций-членов

copyTo()

void pcl::gpu::DeviceMemory::copyTo ( DeviceMemory & other ) const

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

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

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

Используется в pcl::gpu::DeviceArray< T >::copyTo().

create()

void pcl::gpu::DeviceMemory::create ( std::size_t sizeBytes_arg )

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

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

Параметры
sizeBytes_arg размер буфера

download() [1/2]

void pcl::gpu::DeviceMemory::download ( void * host_ptr_arg ) const

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

Параметры
host_ptr_arg указатель на буфер для загрузки данных

Используется в pcl::gpu::DeviceArray< T >::download().

download() [2/2]

bool pcl::gpu::DeviceMemory::download ( void * host_ptr_arg,
std::size_t device_begin_byte_offset,
std::size_t num_bytes
) const

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

Возвращает
true, если загрузка выполнена успешно
Параметры
host_ptr_arg указатель на буфер для загрузки данных
device_begin_byte_offset позиция первого загружаемого байта
num_bytes количество загружаемых байтов

empty()

bool pcl::gpu::DeviceMemory::empty ( ) const

Возвращает true, если память не выделена, и false в противном случае.

Используется в pcl::gpu::kinfuLS::StandaloneMarchingCubes< PointT >::convertTrianglesToMesh().

operator PtrSz< U >()

template<class U >
pcl::gpu::DeviceMemory::operator PtrSz< U >
inline

Преобразование в PtrSz для передачи функциям ядра.

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

Ссылки на pcl::gpu::DevPtr< T >::data и pcl::gpu::PtrSz< T >::size.

operator=()

DeviceMemory& pcl::gpu::DeviceMemory::operator= ( const DeviceMemory & other_arg )

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

Только увеличивает счётчик ссылок.

Используется в pcl::gpu::DeviceArray< T >::operator=().

ptr() [1/2]

template<class T >
T * pcl::gpu::DeviceMemory::ptr
inline

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

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

ptr() [2/2]

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

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

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

release()

void pcl::gpu::DeviceMemory::release ( )

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

sizeBytes()

std::size_t pcl::gpu::DeviceMemory::sizeBytes ( ) const

Используется в pcl::gpu::AsyncCopy< T >::download() и pcl::gpu::TextureBinder::TextureBinder().

swap()

void pcl::gpu::DeviceMemory::swap ( DeviceMemory & other_arg )

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

Параметры
other_arg память устройства для обмена данными

Используется в pcl::gpu::DeviceArray< T >::swap().

upload() [1/2]

bool pcl::gpu::DeviceMemory::upload ( const void * host_ptr_arg,
std::size_t device_begin_byte_offset,
std::size_t num_bytes
)

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

Примечание
В отличие от другой функции upload эта перегруженная функция никогда не выделяет память.
Возвращает
true, если загрузка выполнена успешно
Параметры
host_ptr_arg указатель на буфер для загрузки данных
device_begin_byte_offset позиция первого байта, в который будут загружены данные
num_bytes количество загружаемых байтов

upload() [2/2]

void pcl::gpu::DeviceMemory::upload ( const void * host_ptr_arg,
std::size_t sizeBytes_arg
)

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

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

Параметры
host_ptr_arg указатель на буфер для загрузки данных
sizeBytes_arg размер буфера

Используется в pcl::gpu::DeviceArray< float4 >::release() и pcl::gpu::DeviceArray< T >::upload().


Документация этого класса сгенерирована на основе следующих файлов:
  • /__w/1/s/gpu/containers/include/pcl/gpu/containers/device_memory.h
  • /__w/1/s/gpu/containers/include/pcl/gpu/containers/impl/device_memory.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_memory.html

Spec-Zone.ru

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