64 bool initialized()
const;
68 bool allocated()
const;
76 int Z_channel()
const;
79 int Zback_channel()
const;
81 int A_channel()
const;
84 int AR_channel()
const;
87 int AG_channel()
const;
90 int AB_channel()
const;
98 size_t channelsize(
int c)
const;
100 size_t samplesize()
const;
103 bool same_channeltypes(
const DeepData& other)
const;
106 int samples(int64_t pixel)
const;
110 void set_samples(int64_t pixel,
int samps);
118 void set_capacity(int64_t pixel,
int samps);
122 int capacity(int64_t pixel)
const;
127 void insert_samples(int64_t pixel,
int samplepos,
int n = 1);
131 void erase_samples(int64_t pixel,
int samplepos,
int n = 1);
135 float deep_value(int64_t pixel,
int channel,
int sample)
const;
138 uint32_t deep_value_uint(int64_t pixel,
int channel,
int sample)
const;
142 void set_deep_value(int64_t pixel,
int channel,
int sample,
float value);
146 void set_deep_value(int64_t pixel,
int channel,
int sample, uint32_t value);
152 void* data_ptr(int64_t pixel,
int channel,
int sample);
153 const void* data_ptr(int64_t pixel,
int channel,
int sample)
const;
161 void get_pointers(std::vector<void*>& pointers)
const;
166 bool copy_deep_sample(int64_t pixel,
int sample,
const DeepData& src,
167 int64_t srcpixel,
int srcsample);
173 bool copy_deep_pixel(int64_t pixel,
const DeepData& src, int64_t srcpixel);
185 void sort(int64_t pixel);
191 void merge_overlaps(int64_t pixel);
196 void merge_deep_pixels(int64_t pixel,
const DeepData& src,
int srcpixel);
199 float opaque_z(int64_t pixel)
const;
202 void occlusion_cull(int64_t pixel);
206 Impl* m_impl =
nullptr;
207 int64_t m_npixels = 0;
GLint GLint GLsizei GLint GLenum GLenum const void * pixels
GLint GLint GLsizei GLsizei GLsizei depth
LeafData & operator=(const LeafData &)=delete
#define OIIO_NAMESPACE_END
void OIIO_UTIL_API split(string_view str, std::vector< string_view > &result, string_view sep=string_view(), int maxsplit=-1)
void sort(I begin, I end, const Pred &pred)
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)
#define OIIO_NAMESPACE_BEGIN