Banuba SDK
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
Types

Classes

struct  bnb::interfaces::acne_regions
 
struct  bnb::interfaces::action_units
 for order of values in action units array see action_units_indices enum More...
 
struct  bnb::interfaces::action_units_data
 
struct  bnb::interfaces::brows_mask
 
struct  bnb::interfaces::camera_position
 
struct  bnb::interfaces::depth_map
 Results from depth camera. More...
 
struct  bnb::interfaces::external_face_data
 Holds recognition result from an external source (ARKit, ARCore, etc.) More...
 
struct  bnb::interfaces::eyes_corneosclera_mask
 
struct  bnb::interfaces::eyes_iris_mask
 
struct  bnb::interfaces::eyes_mask
 
struct  bnb::interfaces::eyes_pupil_mask
 
struct  bnb::interfaces::eyes_state
 
class  bnb::interfaces::face_data
 
struct  bnb::interfaces::feature_parameter
 User configurable parameters for in-CPU calculations during FrameData processing. More...
 
class  bnb::interfaces::frame_data
 getters throw exceptions when data are not available android NNs usually output gpu masks More...
 
class  bnb::interfaces::frx_recognition_result
 
struct  bnb::interfaces::full_image_format
 
struct  bnb::interfaces::lips_shine_mask
 
struct  bnb::interfaces::pixel_buffer
 
struct  bnb::interfaces::pixel_rect
 
struct  bnb::interfaces::point2d
 
struct  bnb::interfaces::size
 
struct  bnb::interfaces::touch
 User touch object. More...
 
struct  bnb::interfaces::transformable_event
 
class  bnb::interfaces::transformation
 
struct  bnb::interfaces::transformed_mask
 
struct  bnb::interfaces::transformed_mask_byte
 
struct  bnb::interfaces::transformed_mask_float
 
struct  bnb::interfaces::transformed_mask_gpu
 
struct  bnb::image_format
 A structure stores format information about image. More...
 
class  bnb::base_image_t
 A base class for *_image_t classes. More...
 
class  bnb::bpc8_image_t
 A class for representing bpc8 images as C++ object. More...
 
struct  bnb::yuv_format_t
 Struture stores all information about yuv format. More...
 
class  bnb::yuv_image_t
 Clas represents yuv image as C++ object. More...
 
class  bnb::full_image_t
 basis is the base basis: for y/rgb basis use .basis or get_subchannel_basis_transform(1); for uv basis use get_subchannel_basis_transform(2); More...
 
union  bnb::point2d
 
union  bnb::point3d
 
struct  bnb::size
 
struct  bnb::data_t
 
class  bnb::transformation
 This class implements affine or perspective 2d transformations Standard usage implies transformation from common basis into other(common, image or standard) basis (e.g. More...
 
struct  bnb::transformation::affine_coeffs_t
 
struct  bnb::transformable_event< T >
 
struct  bnb::pixel_rect
 

Typedefs

using bnb::high_res_timer = std::chrono::high_resolution_clock
 
using bnb::time_stamp_t = std::chrono::time_point<std::chrono::high_resolution_clock>
 
using bnb::orientation = camera_orientation
 
using bnb::color_plane_data_t = std::uint8_t
 
using bnb::color_plane = std::shared_ptr<color_plane_data_t>
 

Enumerations

enum class  bnb::pixel_buffer_format : int32_t {
  bpc8_rgb = 0x0101 , bpc8_bgr = 0x0102 , bpc8_rgba = 0x0103 , bpc8_bgra = 0x0104 ,
  bpc8_argb = 0x0105 , nv12 = 0x0201 , i420 = 0x0401
}
 bt601 and bt709 - two standards for representing color space that use the same image encoding/decoding algorithm. More...
 
enum class  bnb::color_range { video , color_range::full }
 Enum class represents color range. More...
 
enum class  bnb::color_std { bt601 , bt709 }
 Enum class represents suppotred color standarts. More...
 
enum class  bnb::yuv_format { yuv_nv12 , yuv_i420 }
 Enum class represents supported yuv formats. More...
 
enum class  bnb::camera_orientation : unsigned int {
  deg_0 = 0 , deg_90 = 1 , deg_180 = 2 , deg_270 = 3 ,
  up = deg_0 , left = deg_90 , down = deg_180 , right = deg_270
}
 camera image layout is top-left, 0 orientation is portrait, rotation is counterclockwise More...
 
enum class  bnb::rect_fit_mode : uint8_t { rect_fit_mode::fit_width , rect_fit_mode::fit_height , rect_fit_mode::fit_inside , rect_fit_mode::fit_outside }
 

Functions

bool bnb::pixel_buffer_format_is_bpc8 (pixel_buffer_format format)
 
bool bnb::pixel_buffer_format_is_nv12 (pixel_buffer_format format)
 
bool bnb::pixel_buffer_format_is_i420 (pixel_buffer_format format)
 
bool bnb::pixel_buffer_format_is_yuv (pixel_buffer_format format)
 
std::string_view bnb::pixel_buffer_format_to_str (pixel_buffer_format format)
 
color_plane bnb::color_plane_vector (std::vector< color_plane_data_t > vector)
 
color_plane bnb::color_plane_string (std::string str)
 
color_plane bnb::color_plane_char_arr (const char *ptr, size_t size)
 
color_plane bnb::color_plane_weak (const color_plane_data_t *ptr)
 
color_plane bnb::color_plane_data (data_t &&data)
 
void bnb::fit_rects_aspect_ratio (pixel_rect &source_rect, pixel_rect &target_rect, rect_fit_mode mode=rect_fit_mode::fit_inside)
 Adjust rects to have the same aspect ratio as if fitting source_rect into target_rect according to mode, return source_rect, target_rect have the same (+-rounding) aspect ratio, and are always not exceeding corresponding input rect, preserving original centers.
 
void bnb::fill_exterior (uint8_t *pixels, uint32_t width, uint32_t height, uint32_t channels, pixel_rect rect, uint8_t color, bool edge_repeat=false)
 
void bnb::transform (const uint8_t *src, uint32_t src_w, uint32_t src_h, uint8_t *dst, uint32_t dst_w, uint32_t dst_h, uint32_t channels, const transformation &t)
 Transform src image to dst.
 
void bnb::transform (const float *src, uint32_t src_w, uint32_t src_h, float *dst, uint32_t dst_w, uint32_t dst_h, uint32_t channels, const transformation &t)
 Transform src image to dst.
 
void bnb::transform (const uint8_t *src, uint32_t src_w, uint32_t src_h, uint8_t *dst, uint32_t dst_w, uint32_t dst_h, uint32_t channels, const transformation &from, const transformation &to)
 Transform src image to dst through common basis NOTE: both transformations should be (common -> image)
 
void bnb::transform1x1 (const uint8_t *src, uint8_t *dst, uint32_t w, uint32_t h, uint32_t channels, const transformation &t)
 Transform src image to dst param src, dst source, destination image buffers param w, h source, destination width and height param channels number of channels per pixel param t transformation (src -> dst) to apply.
 
point2d bnb::transform (const point2d &point, const transformation &t)
 Apply transformation to point.
 
point2d bnb::transform (const point2d &point, const transformation &from, const transformation &to)
 Transform point through common basis Apply transformation to point from some basis to another one through common basis NOTE: both transformations should be (common -> image) param point 2D point to transform param from,to transformations (common -> image) to apply by formula (from -> common -> to) return result 2D point.
 
pixel_rect bnb::transform (const pixel_rect &rect, const transformation &t)
 Apply transformation to rect Result is normalized wrt.
 
bool bnb::pixel_rect::is_valid () const
 
void bnb::pixel_rect::transpose ()
 
pixel_rect bnb::pixel_rect::intersect (const pixel_rect &rect) const
 
bool bnb::pixel_rect::operator== (const pixel_rect &cmp) const noexcept
 
bool bnb::pixel_rect::operator!= (const pixel_rect &cmp) const noexcept
 
 bnb::pixel_rect::pixel_rect (int32_t _x, int32_t _y, int32_t _w, int32_t _h)
 
 bnb::pixel_rect::pixel_rect (int32_t _w, int32_t _h)
 
 bnb::pixel_rect::pixel_rect (const interfaces::pixel_rect &rect)
 
interfaces::pixel_rect bnb::pixel_rect::get_iface () const
 
 bnb::pixel_rect::operator interfaces::pixel_rect () const
 
template<typename T >
const T & bnb::full_image_t::get_data () const noexcept
 
template<typename T >
bool bnb::full_image_t::has_data () const noexcept
 
interfaces::point2d bnb::transformation::transform_point (const interfaces::point2d &p) const override
 Apply transform to point.
 
interfaces::pixel_rect bnb::transformation::transform_rect (const interfaces::pixel_rect &rect) const override
 

Variables

int32_t bnb::pixel_rect::x = 0
 
int32_t bnb::pixel_rect::y = 0
 
int32_t bnb::pixel_rect::w = 0
 
int32_t bnb::pixel_rect::h = 0
 

Detailed Description

Typedef Documentation

◆ color_plane

using bnb::color_plane = std::shared_ptr<color_plane_data_t>

Definition at line 219 of file base_types.hpp.

◆ color_plane_data_t

using bnb::color_plane_data_t = std::uint8_t

Definition at line 218 of file base_types.hpp.

◆ high_res_timer

using bnb::high_res_timer = std::chrono::high_resolution_clock

Definition at line 37 of file base_types.hpp.

◆ orientation

Definition at line 40 of file base_types.hpp.

◆ time_stamp_t

using bnb::time_stamp_t = std::chrono::time_point<std::chrono::high_resolution_clock>

Definition at line 38 of file base_types.hpp.

Enumeration Type Documentation

◆ camera_orientation

enum class bnb::camera_orientation : unsigned int
strong

camera image layout is top-left, 0 orientation is portrait, rotation is counterclockwise

Definition at line 26 of file base_types.hpp.

27 {
28 deg_0 = 0,
29 deg_90 = 1,
30 deg_180 = 2,
31 deg_270 = 3,
32 up = deg_0,
33 left = deg_90,
34 down = deg_180,
35 right = deg_270,
36 };

◆ color_range

enum class bnb::color_range
strong

Enum class represents color range.

Enumerator
full 

for y values range is 16-235, for u and v values range is 16-240

Definition at line 239 of file full_image.hpp.

240 {
241 video, /** for y values range is 16-235, for u and v values range is 16-240 */
242 full, /** for y, u and v values range is 0-255 */
243 };

◆ color_std

enum class bnb::color_std
strong

Enum class represents suppotred color standarts.

Definition at line 249 of file full_image.hpp.

250 {
251 bt601,
252 bt709,
253 };

◆ pixel_buffer_format

enum class bnb::pixel_buffer_format : int32_t
strong

bt601 and bt709 - two standards for representing color space that use the same image encoding/decoding algorithm.

Differ in the encoding / decoding coefficients.

Definition at line 28 of file full_image.hpp.

29 {
30 bpc8_rgb = 0x0101, // one plane: RGB
31 bpc8_bgr = 0x0102, // one plane: BGR
32 bpc8_rgba = 0x0103, // one plane: RGBA
33 bpc8_bgra = 0x0104, // one plane: BGRA
34 bpc8_argb = 0x0105, // one plane: ARGB
35 nv12 = 0x0201, // two planes: first RED, second RG
36 i420 = 0x0401 // three planes: first RED, second RED, third RED
37 }; // enum class pixel_buffer_format

◆ rect_fit_mode

enum class bnb::rect_fit_mode : uint8_t
strong
Enumerator
fit_width 

Always fit to width, rect_scale = w_t / w_f.

fit_height 

Always fit to height, rect_scale = h_t / h_f.

fit_inside 

Fit all source inside target = fit to min rect_scale of width and height modes.

fit_outside 

Fit to fill all target = fit to max rect_scale of width and height modes.

Definition at line 22 of file transformation.hpp.

23 {
24 fit_width, //!< Always fit to width, rect_scale = w_t / w_f
25 fit_height, //!< Always fit to height, rect_scale = h_t / h_f
26 fit_inside, //!< Fit all source inside target = fit to min rect_scale of width and height modes
27 fit_outside //!< Fit to fill all target = fit to max rect_scale of width and height modes
28 };
@ fit_inside
Fit all source inside target = fit to min rect_scale of width and height modes.
@ fit_height
Always fit to height, rect_scale = h_t / h_f.
@ fit_outside
Fit to fill all target = fit to max rect_scale of width and height modes.
@ fit_width
Always fit to width, rect_scale = w_t / w_f.

◆ yuv_format

enum class bnb::yuv_format
strong

Enum class represents supported yuv formats.

Definition at line 259 of file full_image.hpp.

260 {
261 yuv_nv12,
262 yuv_i420,
263 };

Function Documentation

◆ color_plane_char_arr()

color_plane bnb::color_plane_char_arr ( const char * ptr,
size_t size )
inline

Definition at line 236 of file base_types.hpp.

237 {
238 std::vector<color_plane_data_t> plane(size);
239 memcpy(plane.data(), reinterpret_cast<const color_plane_data_t*>(ptr), size);
240 return color_plane_vector(plane);
241 }

◆ color_plane_data()

color_plane bnb::color_plane_data ( data_t && data)
inline

Definition at line 249 of file base_types.hpp.

250 {
251 auto* ptr = new data_t(std::move(data));
252 return color_plane(ptr->data.get(), [ptr](color_plane_data_t*) { delete ptr; });
253 }

◆ color_plane_string()

color_plane bnb::color_plane_string ( std::string str)
inline

Definition at line 230 of file base_types.hpp.

231 {
232 auto* ptr = new std::string(std::move(str));
233 return color_plane(reinterpret_cast<color_plane_data_t*>(ptr->data()), [ptr](color_plane_data_t*) { delete ptr; });
234 }

◆ color_plane_vector()

color_plane bnb::color_plane_vector ( std::vector< color_plane_data_t > vector)
inline

Definition at line 221 of file base_types.hpp.

222 {
223 // please, don't do stuff like ->> again.. //return color_plane(vector.data(), [v =
224 // std::move(vector)](color_plane_data_t*) {}) are you REALLY sure no one is going to copy
225 // this deleter internally? (like shared_ptr does)
226 auto* ptr = new std::vector<color_plane_data_t>(std::move(vector));
227 return color_plane(ptr->data(), [ptr](color_plane_data_t*) { delete ptr; });
228 }

◆ color_plane_weak()

color_plane bnb::color_plane_weak ( const color_plane_data_t * ptr)
inline

Definition at line 243 of file base_types.hpp.

244 {
245 return color_plane(const_cast<color_plane_data_t*>(ptr), [](color_plane_data_t*) { /* DO NOTHING */ });
246 }

◆ fit_rects_aspect_ratio()

void bnb::fit_rects_aspect_ratio ( pixel_rect & source_rect,
pixel_rect & target_rect,
rect_fit_mode mode = rect_fit_mode::fit_inside )

Adjust rects to have the same aspect ratio as if fitting source_rect into target_rect according to mode, return source_rect, target_rect have the same (+-rounding) aspect ratio, and are always not exceeding corresponding input rect, preserving original centers.

May do some per-axis scale adjustments within small margin for fast, integral and/or pixel-perfect scaling between pixel rects

◆ get_data()

template<typename T >
const T & bnb::full_image_t::get_data ( ) const
inlinenoexcept
Returns
Returns the image object if T is yuv or bpc8 image and at the same time yuv or bpc8 image saved.

Definition at line 716 of file full_image.hpp.

717 {
718 static_assert(std::is_base_of<base_image_t, T>::value, "Type is not image_t");
719 BNB_ASSERT(std::holds_alternative<T>(m_image));
720 return *std::get_if<T>(&m_image);
721 }

◆ get_iface()

interfaces::pixel_rect bnb::pixel_rect::get_iface ( ) const
inline

Definition at line 84 of file pixel_rect.hpp.

85 {
86 return interfaces::pixel_rect{x, y, w, h};
87 }

◆ has_data()

template<typename T >
bool bnb::full_image_t::has_data ( ) const
inlinenoexcept
Returns
Returns true if T is yuv or bpc8 image and at the same time yuv or bpc8 image saved.

Definition at line 724 of file full_image.hpp.

725 {
726 static_assert(std::is_base_of<base_image_t, T>::value, "Type is not image_t");
727 return std::holds_alternative<T>(m_image);
728 }

◆ intersect()

pixel_rect bnb::pixel_rect::intersect ( const pixel_rect & rect) const
inline

Definition at line 30 of file pixel_rect.hpp.

31 {
32 auto newtlx = std::max(x, rect.x);
33 auto newtly = std::max(y, rect.y);
34 auto newbrx = std::min(x + w, rect.x + rect.w);
35 auto newbry = std::min(y + h, rect.y + rect.h);
36
37 if (newbrx < newtlx || newbry < newtly)
38 return pixel_rect();
39
40 return pixel_rect{newtlx, newtly, newbrx - newtlx, newbry - newtly};
41 }

◆ is_valid()

bool bnb::pixel_rect::is_valid ( ) const
inline

Definition at line 19 of file pixel_rect.hpp.

20 {
21 return w > 0 && h > 0;
22 }

◆ operator interfaces::pixel_rect()

bnb::pixel_rect::operator interfaces::pixel_rect ( ) const
inline

Definition at line 89 of file pixel_rect.hpp.

90 {
91 return interfaces::pixel_rect(x, y, w, h);
92 }

◆ operator!=()

bool bnb::pixel_rect::operator!= ( const pixel_rect & cmp) const
inlinenoexcept

Definition at line 47 of file pixel_rect.hpp.

48 {
49 return !(*this == cmp);
50 }

◆ operator==()

bool bnb::pixel_rect::operator== ( const pixel_rect & cmp) const
inlinenoexcept

Definition at line 43 of file pixel_rect.hpp.

44 {
45 return w == cmp.w && h == cmp.h && x == cmp.x && y == cmp.y;
46 }

◆ pixel_buffer_format_is_bpc8()

bool bnb::pixel_buffer_format_is_bpc8 ( pixel_buffer_format format)
inline

Definition at line 40 of file full_image.hpp.

41 {
42 return static_cast<bool>(static_cast<int32_t>(format) & 0x0100);
43 }

◆ pixel_buffer_format_is_i420()

bool bnb::pixel_buffer_format_is_i420 ( pixel_buffer_format format)
inline

Definition at line 50 of file full_image.hpp.

51 {
52 return static_cast<bool>(static_cast<int32_t>(format) & 0x0400);
53 }

◆ pixel_buffer_format_is_nv12()

bool bnb::pixel_buffer_format_is_nv12 ( pixel_buffer_format format)
inline

Definition at line 45 of file full_image.hpp.

46 {
47 return static_cast<bool>(static_cast<int32_t>(format) & 0x0200);
48 }

◆ pixel_buffer_format_is_yuv()

bool bnb::pixel_buffer_format_is_yuv ( pixel_buffer_format format)
inline

Definition at line 55 of file full_image.hpp.

56 {
57 return static_cast<bool>(static_cast<int32_t>(format) & 0x0600);
58 }

◆ pixel_buffer_format_to_str()

std::string_view bnb::pixel_buffer_format_to_str ( pixel_buffer_format format)
inline

Definition at line 60 of file full_image.hpp.

61 {
62 switch (format) {
63 case pixel_buffer_format::bpc8_rgb:
64 return "bpc8_rgb";
65 case pixel_buffer_format::bpc8_bgr:
66 return "bpc8_bgr";
67 case pixel_buffer_format::bpc8_rgba:
68 return "bpc8_rgba";
69 case pixel_buffer_format::bpc8_bgra:
70 return "bpc8_bgra";
71 case pixel_buffer_format::bpc8_argb:
72 return "bpc8_argb";
73 case pixel_buffer_format::nv12:
74 return "nv12";
75 case pixel_buffer_format::i420:
76 return "i420";
77 }
78 BNB_THROW(std::invalid_argument, "Unknown format.");
79 }

◆ pixel_rect() [1/4]

bnb::pixel_rect::pixel_rect ( )
inline

Definition at line 68 of file pixel_rect.hpp.

69 : x(0)
70 , y(0)
71 , w(0)
72 , h(0)
73 {
74 }

◆ pixel_rect() [2/4]

bnb::pixel_rect::pixel_rect ( const interfaces::pixel_rect & rect)
inline

Definition at line 76 of file pixel_rect.hpp.

77 : x(rect.x)
78 , y(rect.y)
79 , w(rect.w)
80 , h(rect.h)
81 {
82 }

◆ pixel_rect() [3/4]

bnb::pixel_rect::pixel_rect ( int32_t _w,
int32_t _h )
inline

Definition at line 60 of file pixel_rect.hpp.

61 : x(0)
62 , y(0)
63 , w(_w)
64 , h(_h)
65 {
66 }

◆ pixel_rect() [4/4]

bnb::pixel_rect::pixel_rect ( int32_t _x,
int32_t _y,
int32_t _w,
int32_t _h )
inline

Definition at line 52 of file pixel_rect.hpp.

53 : x(_x)
54 , y(_y)
55 , w(_w)
56 , h(_h)
57 {
58 }

◆ transform() [1/6]

void bnb::transform ( const float * src,
uint32_t src_w,
uint32_t src_h,
float * dst,
uint32_t dst_w,
uint32_t dst_h,
uint32_t channels,
const transformation & t )

Transform src image to dst.

Parameters
src,src_w,src_hsource 32 bit float image buffer, width and height
dst,dst_w,dst_hdestination 32 bit float image buffer, width and height
channelsnumber of channels per pixel
ttransformation (src -> dst) to apply

◆ transform() [2/6]

pixel_rect bnb::transform ( const pixel_rect & rect,
const transformation & t )

Apply transformation to rect Result is normalized wrt.

flips/rotates so that w > 0 && h > 0

Parameters
rectpixel_rect to transform
ttransformation to apply
Returns
result pixel_rect

◆ transform() [3/6]

point2d bnb::transform ( const point2d & point,
const transformation & from,
const transformation & to )
inline

Transform point through common basis Apply transformation to point from some basis to another one through common basis NOTE: both transformations should be (common -> image) param point 2D point to transform param from,to transformations (common -> image) to apply by formula (from -> common -> to) return result 2D point.

Definition at line 261 of file transformation.hpp.

262 {
263 return transform(point, from.inverse() >> to);
264 }
void transform(const uint8_t *src, uint32_t src_w, uint32_t src_h, uint8_t *dst, uint32_t dst_w, uint32_t dst_h, uint32_t channels, const transformation &t)
Transform src image to dst.

◆ transform() [4/6]

point2d bnb::transform ( const point2d & point,
const transformation & t )

Apply transformation to point.

Parameters
point2D point to transform
ttransformation to apply
Returns
result 2D point

◆ transform() [5/6]

void bnb::transform ( const uint8_t * src,
uint32_t src_w,
uint32_t src_h,
uint8_t * dst,
uint32_t dst_w,
uint32_t dst_h,
uint32_t channels,
const transformation & from,
const transformation & to )
inline

Transform src image to dst through common basis NOTE: both transformations should be (common -> image)

Parameters
src,src_w,src_hsource image buffer, width and height
dst,dst_w,dst_hdestination image buffer, width and height
channelsnumber of channels per pixel
from,totransformations (common -> image) to apply by formula (from -> common -> to)

Definition at line 227 of file transformation.hpp.

228 {
229 transform(src, src_w, src_h, dst, dst_w, dst_h, channels, from.inverse() >> to);
230 }

◆ transform() [6/6]

void bnb::transform ( const uint8_t * src,
uint32_t src_w,
uint32_t src_h,
uint8_t * dst,
uint32_t dst_w,
uint32_t dst_h,
uint32_t channels,
const transformation & t )

Transform src image to dst.

Parameters
src,src_w,src_hsource uint8_t image buffer, width and height
dst,dst_w,dst_hdestination uint8_t image buffer, width and height
channelsnumber of channels per pixel
ttransformation (src -> dst) to apply

◆ transform1x1()

void bnb::transform1x1 ( const uint8_t * src,
uint8_t * dst,
uint32_t w,
uint32_t h,
uint32_t channels,
const transformation & t )
inline

Transform src image to dst param src, dst source, destination image buffers param w, h source, destination width and height param channels number of channels per pixel param t transformation (src -> dst) to apply.

Definition at line 239 of file transformation.hpp.

240 {
241 return transform(src, w, h, dst, w, h, channels, t);
242 }

◆ transform_point()

interfaces::point2d bnb::transformation::transform_point ( const interfaces::point2d & p) const
inlineoverridevirtual

Apply transform to point.

Implements bnb::interfaces::transformation.

Definition at line 276 of file transformation.hpp.

277 {
278 auto pt = bnb::transform(point2d{{p.x, p.y}}, *this);
279 return {pt.x, pt.y};
280 }

◆ transform_rect()

interfaces::pixel_rect bnb::transformation::transform_rect ( const interfaces::pixel_rect & rect) const
inlineoverridevirtual

Implements bnb::interfaces::transformation.

Definition at line 281 of file transformation.hpp.

282 {
283 return bnb::transform({rect}, *this).get_iface();
284 }

◆ transpose()

void bnb::pixel_rect::transpose ( )
inline

Definition at line 24 of file pixel_rect.hpp.

25 {
26 std::swap(x, y);
27 std::swap(w, h);
28 }

Variable Documentation

◆ h

int32_t bnb::pixel_rect::h = 0

Definition at line 17 of file pixel_rect.hpp.

◆ w

int32_t bnb::pixel_rect::w = 0

Definition at line 17 of file pixel_rect.hpp.

◆ x

int32_t bnb::pixel_rect::x = 0

Definition at line 16 of file pixel_rect.hpp.

◆ y

int32_t bnb::pixel_rect::y = 0

Definition at line 16 of file pixel_rect.hpp.