18 #ifndef __itkOpenCLWorkSize_h 19 #define __itkOpenCLWorkSize_h 65 { this->m_Sizes[ 0 ] = 0; this->m_Sizes[ 1 ] = 0; this->m_Sizes[ 2 ] = 0; }
68 bool IsNull()
const {
return m_Dim == 0; }
74 { this->m_Sizes[ 0 ] = 1; this->m_Sizes[ 1 ] = 1; this->m_Sizes[ 2 ] = 1; }
80 { this->m_Sizes[ 0 ] = size; this->m_Sizes[ 1 ] = 1; this->m_Sizes[ 2 ] = 1; }
84 OpenCLSize(
const std::size_t width,
const std::size_t height ) :
86 { this->m_Sizes[ 0 ] = width; this->m_Sizes[ 1 ] = height; this->m_Sizes[ 2 ] = 1; }
89 OpenCLSize(
const std::size_t width,
const std::size_t height,
const std::size_t depth ) :
91 { this->m_Sizes[ 0 ] = width; this->m_Sizes[ 1 ] = height; this->m_Sizes[ 2 ] = depth; }
98 { this->m_Sizes[ 0 ] = size[ 0 ]; this->m_Sizes[ 1 ] = 1; this->m_Sizes[ 2 ] = 1; }
105 { this->m_Sizes[ 0 ] = size[ 0 ]; this->m_Sizes[ 1 ] = size[ 1 ]; this->m_Sizes[ 2 ] = 1; }
111 { this->m_Sizes[ 0 ] = size[ 0 ]; this->m_Sizes[ 1 ] = size[ 1 ]; this->m_Sizes[ 2 ] = size[ 2 ]; }
117 std::size_t
GetWidth()
const {
return this->m_Sizes[ 0 ]; }
120 std::size_t
GetHeight()
const {
return this->m_Sizes[ 1 ]; }
123 std::size_t
GetDepth()
const {
return this->m_Sizes[ 2 ]; }
126 const std::size_t *
GetSizes()
const {
return this->m_Sizes; }
134 {
return this->m_Sizes[ dim ]; }
140 {
return this->m_Sizes[ dim ]; }
148 const std::size_t maxItemsPerGroup );
162 std::size_t m_Sizes[ 3 ];
174 template<
typename charT,
typename traits >
176 std::basic_ostream< charT, traits > &
177 operator<<( std::basic_ostream< charT, traits > & strm,
184 strm <<
"OpenCLSize(null)";
188 strm <<
"OpenCLSize(" << size.GetWidth() <<
')';
192 strm <<
"OpenCLSize(" << size.GetWidth() <<
", " << size.GetHeight() <<
')';
196 strm <<
"OpenCLSize(" << size.GetWidth() <<
", " << size.GetHeight() <<
", " << size.GetDepth() <<
')';
OpenCLSize(const std::vcl_size_t width, const std::vcl_size_t height)
OpenCLSize(const std::vcl_size_t width, const std::vcl_size_t height, const std::vcl_size_t depth)
std::vcl_size_t & operator[](const std::vcl_size_t dim)
std::vcl_size_t GetDepth() const
std::vcl_size_t operator[](const std::vcl_size_t dim) const
OpenCLSize(const SizeType1D &size)
const std::vcl_size_t * GetSizes() const
The OpenCLSize class defines the size of an item of work for an OpenCL kernel.
cl_uint GetDimension() const
std::vcl_size_t GetWidth() const
bool ITKOpenCL_EXPORT operator==(const OpenCLCommandQueue &lhs, const OpenCLCommandQueue &rhs)
bool ITKOpenCL_EXPORT operator!=(const OpenCLCommandQueue &lhs, const OpenCLCommandQueue &rhs)
OpenCLSize(const std::vcl_size_t size)
The OpenCLDevice class represents the collection of OpenCL devices to be used by the host...
std::vcl_size_t GetHeight() const
OpenCLSize & operator=(const Null &)
OpenCLSize(const SizeType3D &size)
OpenCLSize(const SizeType2D &size)