6 #include <system_error> 9 #include "../_cexports/c_img.h" 10 #include "../_cexports/c_utilities.h" 12 #include "../global.hpp" 13 #include "../point_2d.hpp" 15 #include "../data_type.hpp" 16 #include "../iarray.hpp" 17 #include "../image_plane_contiguous_iterator.hpp" 18 #include "../image_plane_linear_iterator.hpp" 19 #include "../image_plane_vpat_iterator.hpp" 72 void*
Handle()
const noexcept;
181 template <
class Type>
191 template <
class Type>
201 template <
class Type>
211 template <
class Type>
221 template <
class Type>
231 template <
class Type>
234 return CBeginContiguous<Type>();
244 template <
class Type>
254 template <
class Type>
257 return CEndContiguous<Type>();
267 template <
class Type>
277 template <
class Type>
280 return CRBeginContiguous<Type>();
290 template <
class Type>
300 template <
class Type>
303 return CEndContiguous<Type>();
313 template <
class Type>
323 template <
class Type>
333 template <
class Type>
343 template <
class Type>
353 template <
class Type>
363 template <
class Type>
366 return CBeginLinear<Type>();
376 template <
class Type>
386 template <
class Type>
389 return CEndLinear<Type>();
399 template <
class Type>
409 template <
class Type>
412 return CRBeginLinear<Type>();
422 template <
class Type>
432 template <
class Type>
435 return CREndLinear<Type>();
445 template <
class Type>
455 template <
class Type>
465 template <
class Type>
475 template <
class Type>
485 template <
class Type>
495 template <
class Type>
498 return CBeginVpat<Type>();
508 template <
class Type>
509 VpatConstIterator<Type>
CEndVpat()
const;
518 template <
class Type>
521 return CEndVpat<Type>();
531 template <
class Type>
541 template <
class Type>
544 return CRBeginVpat<Type>();
554 template <
class Type>
564 template <
class Type>
567 return CREndVpat<Type>();
576 , parentImage_(&image)
582 const Image * parentImage_ =
nullptr;
588 struct PlaneTraits<ImagePlane>
590 using PlaneT = ImagePlane;
594 static constexpr
bool HasVpat =
true;
596 static int GetWidth(
const ImagePlane &plane);
597 static int GetHeight(
const ImagePlane &plane);
601 return plane.DataType();
604 static constexpr
int GetRank(
const ImagePlane &)
609 static Cvb::Vpat GetVpat(
const ImagePlane &plane)
Image plane information container.
Definition: decl_image_plane.hpp:31
bool TryLinearAccess(LinearAccessData &linearAccessData) const noexcept
Attempt a linear access on the plane's pixels.
Definition: detail_image_plane.hpp:64
int Rank() const noexcept
Gets the number of dimensions for this array.
Definition: decl_image_plane.hpp:124
std::reverse_iterator< ContiguousConstIterator< Type > > CREndContiguous() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:233
LinearIterator< Type > BeginLinear()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:239
std::reverse_iterator< VpatConstIterator< Type > > CREndVpat() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:334
const Image & Parent() const noexcept
Image to which this plane descriptor refers to.
Definition: detail_image_plane.hpp:87
Virtual Pixel Access Table.
Definition: decl_vpat.hpp:23
double GetPixel(Point2D< int > position) const
Gets the pixel value at the given position.
Definition: detail_image_plane.hpp:108
VpatConstIterator< Type > BeginVpat() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:496
std::uint8_t * ContiguousAccess() const
Attempt a contiguous access on the plane's pixels.
Definition: detail_image_plane.hpp:56
std::reverse_iterator< LinearConstIterator< Type > > REndLinear() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:433
std::reverse_iterator< LinearConstIterator< Type > > CREndLinear() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:283
std::reverse_iterator< VpatIterator< Type > > REndVpat()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:308
Root namespace for the Image Manager interface.
Definition: version.hpp:11
LinearConstIterator< Type > EndLinear() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:387
std::reverse_iterator< LinearConstIterator< Type > > RBeginLinear() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:410
The Common Vision Blox image.
Definition: decl_image.hpp:44
LinearConstIterator< Type > BeginLinear() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:364
ContiguousConstIterator< Type > CBeginContiguous() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:214
VpatConstIterator< Type > CBeginVpat() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:315
LinearConstIterator< Type > CEndLinear() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:270
VpatIterator< Type > BeginVpat()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:289
ImagePlane(ImagePlane &&other) noexcept=default
Move constructor.
std::reverse_iterator< ContiguousConstIterator< Type > > RBeginContiguous() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:278
Multi-purpose 2D vector class.
Definition: point_2d.hpp:19
Array interface.
Definition: iarray.hpp:15
bool TryContiguousAccess(std::uint8_t *&basePtr) const noexcept
Attempt a contiguous access on the plane's pixels.
Definition: detail_image_plane.hpp:41
std::unique_ptr< Image > Map() const
Create a map from a single image plane that shares its memory with the original plane.
Definition: detail_image_plane.hpp:100
std::reverse_iterator< ContiguousConstIterator< Type > > CRBeginContiguous() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:227
LinearAccessData LinearAccess() const
Attempt a linear access on the plane's pixels.
Definition: detail_image_plane.hpp:79
VpatIterator< Type > EndVpat()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:295
Plane information container.
Definition: decl_plane.hpp:26
ContiguousConstIterator< Type > EndContiguous() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:255
ContiguousIterator< Type > BeginContiguous()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:189
ContiguousConstIterator< Type > BeginContiguous() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:232
VpatConstIterator< Type > EndVpat() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:519
VpatConstIterator< Type > CEndVpat() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:321
Data type description for an image plane.
Definition: data_type.hpp:27
std::reverse_iterator< ContiguousIterator< Type > > REndContiguous()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:208
ContiguousConstIterator< Type > CEndContiguous() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:220
ContiguousIterator< Type > EndContiguous()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:195
std::reverse_iterator< LinearIterator< Type > > REndLinear()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:258
std::reverse_iterator< VpatConstIterator< Type > > CRBeginVpat() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:328
std::reverse_iterator< VpatConstIterator< Type > > REndVpat() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:565
std::reverse_iterator< LinearIterator< Type > > RBeginLinear()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:252
std::reverse_iterator< VpatConstIterator< Type > > RBeginVpat() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:542
void * Handle() const noexcept
Classic API image handle.
Definition: detail_image_plane.hpp:36
std::reverse_iterator< LinearConstIterator< Type > > CRBeginLinear() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:277
Linear access properties.
Definition: decl_linear_access.hpp:24
std::reverse_iterator< VpatIterator< Type > > RBeginVpat()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:302
std::reverse_iterator< ContiguousConstIterator< Type > > REndContiguous() const
Get iterator access to the plane.
Definition: decl_image_plane.hpp:301
std::reverse_iterator< ContiguousIterator< Type > > RBeginContiguous()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:202
LinearConstIterator< Type > CBeginLinear() const
Get iterator access to the plane.
Definition: detail_image_plane.hpp:264
LinearIterator< Type > EndLinear()
Get iterator access to the plane.
Definition: detail_image_plane.hpp:245