cgv
Loading...
Searching...
No Matches
packing_info.h
1
#pragma once
2
3
#include <stddef.h>
4
5
#include <cgv/data/lib_begin.h>
6
7
namespace
cgv
{
8
namespace
data {
9
24
class
CGV_API
packing_info
25
{
26
protected
:
27
bool
is_packed : 1;
28
unsigned
bd0 : 6;
29
unsigned
bd1 : 6;
30
unsigned
bd2 : 6;
31
unsigned
bd3 : 6;
32
unsigned
ca : 6;
34
bool
prepare_bit_operation(
unsigned
ci,
void
* ptr,
unsigned
&off,
unsigned
&bd,
unsigned
* &iptr)
const
;
35
bool
prepare_bit_operation(
unsigned
ci,
const
void
* ptr,
unsigned
&off,
unsigned
&bd,
const
unsigned
* &iptr)
const
;
36
unsigned
int
get_bit_offset(
unsigned
ci)
const
;
37
public
:
41
packing_info
(
unsigned
align = 1,
unsigned
d0 = 0,
unsigned
d1 = 0,
unsigned
d2 = 0,
unsigned
d3 = 0);
43
void
clear();
45
unsigned
get_bit_depth(
unsigned
ci)
const
;
47
void
set_bit_depth(
unsigned
ci,
unsigned
depth);
49
bool
is_packing()
const
;
51
void
set_packing(
bool
enable =
true
);
53
unsigned
int
get_component_alignment()
const
;
55
void
set_component_alignment(
unsigned
a);
57
static
size_t
align(
size_t
v,
unsigned
a);
59
int
get_signed(
unsigned
ci,
const
void
* ptr)
const
;
61
unsigned
int
get_unsigned(
unsigned
ci,
const
void
* ptr)
const
;
63
bool
set_signed(
unsigned
ci,
void
* ptr,
int
v)
const
;
65
bool
set_unsigned(
unsigned
ci,
void
* ptr,
unsigned
v)
const
;
67
bool
operator == (
const
packing_info
& pi)
const
;
69
bool
operator != (
const
packing_info
& pi)
const
;
70
};
71
72
}
73
}
74
75
#include <cgv/config/lib_end.h>
cgv::data::packing_info
the packing_info class stores information about packed integers structures.
Definition
packing_info.h:25
cgv
the cgv namespace
Definition
print.h:11
cgv
data
packing_info.h
Generated by
1.9.8