203 static_cast<PEAK_IPL_ORIENTATION>(orientation), offset, &m_backendHandle);
217 if (other.m_backendHandle)
222 m_backendHandle = other.m_backendHandle;
234 if (other.m_backendHandle)
241 m_backendHandle = other.m_backendHandle;
248 *
this = std::move(other);
255 if (m_backendHandle !=
nullptr)
260 m_backendHandle = other.m_backendHandle;
261 other.m_backendHandle =
nullptr;
273 m_backendHandle, reinterpret_cast<PEAK_IPL_PIXEL_FORMAT*>(&pixelFormatName));
276 return pixelFormatName;
285 m_backendHandle, reinterpret_cast<PEAK_IPL_ORIENTATION*>(&orientation));
291 inline size_t PixelLine::Offset()
const 301 inline std::vector<PixelLine::Channel> PixelLine::Channels()
const 303 std::vector<Channel> channels;
305 size_t numChannels = 0;
309 for (
size_t ch = 0; ch < numChannels; ++ch)
311 size_t valueListSize = 0;
314 m_backendHandle, ch,
nullptr, &valueListSize);
316 std::vector<uint32_t> valueList(valueListSize);
319 m_backendHandle, ch, valueList.data(), &valueListSize);
322 channels.emplace_back(
Channel{ std::move(valueList) });
#define PEAK_IPL_NO_DISCARD
Definition: peak_ipl_backend.h:26
#define PEAK_IPL_C_ABI_PREFIX
Definition: peak_ipl_dll_defines.h:16
Represents the values of a horizontal or vertical line of pixels in an image.
Definition: peak_ipl_pixel_line.hpp:34
PEAK_IPL_C_API PEAK_IPL_PixelLine_Acquire(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle)
Increase the reference count of a pixel line object.
The "peak::ipl" namespace contains the whole image processing library.
Definition: peak_ipl_binning.hpp:22
PixelFormatName
Enum holding the possible pixel format names.
Definition: peak_ipl_simple_types.hpp:38
struct PEAK_IPL_PIXEL_LINE * PEAK_IPL_PIXEL_LINE_HANDLE
Definition: peak_ipl_backend.h:369
void ExecuteAndMapReturnCodes(const CallableType &callableObject)
Definition: peak_ipl_exception.hpp:182
Stores the pixel format, width and height of an image and the pointer to the image buffer...
Definition: peak_ipl_image.hpp:39
Orientation
Enum holding the possible orientation.
Definition: peak_ipl_simple_types.hpp:184
Represents the values of the pixel line.
Definition: peak_ipl_pixel_line.hpp:40
PEAK_IPL_C_API PEAK_IPL_PixelLine_Construct(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_ORIENTATION orientation, size_t offset, PEAK_IPL_PIXEL_LINE_HANDLE *pixelLineHandle)
Creates a pixel line depending on the given orientation.
PEAK_IPL_C_API PEAK_IPL_PixelLine_GetOrientation(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_ORIENTATION *orientation)
Queries the orientation of the given pixel line.
PEAK_IPL_C_API PEAK_IPL_PixelLine_GetOffset(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *offset)
Queries the offset of the given pixel line.
Represents the values for a horizontal line of pixels in an image.
Definition: peak_ipl_pixel_line.hpp:163
PixelLine & operator=(const PixelLine &other)
Copy assigment for PixelLine instance.
Definition: peak_ipl_pixel_line.hpp:225
PEAK_IPL_C_API PEAK_IPL_PixelLine_GetPixelFormat(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Queries the pixel format of the given pixel line.
PEAK_IPL_C_API PEAK_IPL_PixelLine_GetValuesForChannel(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t *values, size_t *valuesSize)
Queries the value list for the channel with the given index.
std::vector< uint32_t > Values
Definition: peak_ipl_pixel_line.hpp:42
PEAK_IPL_C_API PEAK_IPL_PixelLine_GetNumChannels(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *numChannels)
Queries the number of the given pixel line's channels.
virtual ~PixelLine()
Destructor for the PixelLine instance.
Definition: peak_ipl_pixel_line.hpp:207
Represents the values for a vertical line of pixels in an image.
Definition: peak_ipl_pixel_line.hpp:178
PEAK_IPL_C_API PEAK_IPL_PixelLine_Destruct(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle)
Destroys the pixel line associated with the given handle.