3#include "../_cexports/c_gev_server.h"
4#include "../global.hpp"
5#include "../point_2d.hpp"
6#include "../size_2d.hpp"
7#include "../pfnc_format.hpp"
23 class ImageBufferDescription
26 friend class ChunkImageBufferDescription;
29 ImageBufferDescription(
const ImageBufferDescription &other)
noexcept =
default;
30 ImageBufferDescription &operator=(
const ImageBufferDescription &other)
noexcept =
default;
31 ImageBufferDescription(ImageBufferDescription &&other)
noexcept =
default;
32 ImageBufferDescription &operator=(ImageBufferDescription &&other)
noexcept =
default;
33 virtual ~ImageBufferDescription() =
default;
46 : ImageBufferDescription(size,
PfncFormatValue::From(colorModel, dataType))
61 if (pixelFormat == PfncFormat::InvalidPixelFormat)
64 data_ = CExports::GSImageDataBlock{{CExports::TGSPayloadType::GSPT_Image},
65 static_cast<CExports::cvbuint32_t
>(pixelFormat),
66 static_cast<CExports::cvbuint32_t
>(size.
Width()),
67 static_cast<CExports::cvbuint32_t
>(size.
Height()),
78 return static_cast<PfncFormat>(data_.PixelFormat);
84 if (pixelFormat == PfncFormat::InvalidPixelFormat)
87 data_.PixelFormat =
static_cast<CExports::cvbuint32_t
>(pixelFormat);
93 return Size2D<int>(
static_cast<int>(data_.Width),
static_cast<int>(data_.Height));
104 data_.Width =
static_cast<CExports::cvbuint32_t
>(size.
Width());
105 data_.Height =
static_cast<CExports::cvbuint32_t
>(size.
Height());
115 return Point2D<int>(
static_cast<int>(data_.XOffset),
static_cast<int>(data_.YOffset));
130 data_.XOffset =
static_cast<CExports::cvbuint32_t
>(point.
X());
131 data_.YOffset =
static_cast<CExports::cvbuint32_t
>(point.
Y());
146 return static_cast<int>(data_.XPadding);
161 data_.XPadding =
static_cast<CExports::cvbuint32_t
>(padding);
166 CExports::GSImageDataBlock ImageDataBlock() const noexcept
171 CExports::GSImageDataBlock data_ = {0};
23 class ImageBufferDescription {
…};
Data type description for an image plane.
Definition data_type.hpp:23
int LinePadding() const noexcept
Gets the line padding.
Definition image_buffer_description.hpp:144
void SetLinePadding(int padding)
Sets the line padding.
Definition image_buffer_description.hpp:159
PfncFormat PixelFormat() const noexcept
Gets the image pixel format value.
Definition image_buffer_description.hpp:76
void SetPixelFormat(const PfncFormat &pixelFormat)
Sets the image pixel format value.
Definition image_buffer_description.hpp:82
void SetOffset(Point2D< int > point)
Set the image's offset on the sensor.
Definition image_buffer_description.hpp:123
void SetSize(const Size2D< int > &size)
Sets the image size.
Definition image_buffer_description.hpp:97
ImageBufferDescription(Size2D< int > size, ColorModel colorModel, DataType dataType)
Creates a default image buffer description.
Definition image_buffer_description.hpp:45
Size2D< int > Size() const noexcept
Gets the image size.
Definition image_buffer_description.hpp:91
ImageBufferDescription(Size2D< int > size, PfncFormat pixelFormat)
Creates a default image buffer description.
Definition image_buffer_description.hpp:55
Point2D< int > Offset() const noexcept
Get the image's offset on the sensor.
Definition image_buffer_description.hpp:113
Multi-purpose 2D vector class.
Definition point_2d.hpp:20
T X() const noexcept
Gets the x-component of the point.
Definition point_2d.hpp:84
T Y() const noexcept
Gets the y-component of the point.
Definition point_2d.hpp:104
Stores a pair of numbers that represents the width and the height of a subject, typically a rectangle...
Definition size_2d.hpp:20
T Height() const noexcept
Gets the vertical component of the size.
Definition size_2d.hpp:77
T Width() const noexcept
Gets the horizontal component of the size.
Definition size_2d.hpp:57
Describes a GenICam Pixel Format Naming Convention (PFNC) compatible image memory buffer with possibl...
Definition decl_int_swiss_knife_node.hpp:11
PfncFormat
GenICam Pixel Format Naming Convention (PFNC) format values.
Definition pfnc_format.hpp:21
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
ColorModel
Color model that this image is using.
Definition global.hpp:176