39 #include <pcl/gpu/containers/device_memory.h>
40 #include <pcl/pcl_exports.h>
60 enum { elem_size =
sizeof(T) };
90 create(std::size_t size);
108 upload(
const T* host_ptr, std::size_t size);
119 upload(
const T* host_ptr, std::size_t device_begin_offset, std::size_t num_elements);
125 download(T* host_ptr)
const;
134 download(T* host_ptr,
135 std::size_t device_begin_offset,
136 std::size_t num_elements)
const;
144 upload(
const std::vector<T, A>& data);
149 template <
typename A>
151 download(std::vector<T, A>& data)
const;
173 operator const T*()
const;
194 enum { elem_size =
sizeof(T) };
212 DeviceArray2D(
int rows,
int cols,
void* data, std::size_t stepBytes);
228 create(
int rows,
int cols);
248 upload(
const void* host_ptr, std::size_t host_step,
int rows,
int cols);
256 download(
void* host_ptr, std::size_t host_step)
const;
271 upload(
const std::vector<T, A>& data,
int cols);
279 download(std::vector<T, A>& data,
int& cols)
const;
291 ptr(
int y = 0)
const;
299 operator const T*()
const;
321 #include <pcl/gpu/containers/impl/device_array.hpp>