6 #ifndef INCLUDED_IMF_DEEP_IMAGE_CHANNEL_H
7 #define INCLUDED_IMF_DEEP_IMAGE_CHANNEL_H
80 virtual void setSamplesToZero (
81 size_t i,
unsigned int oldNumSamples,
unsigned int newNumSamples) = 0;
83 virtual void moveSampleList (
85 unsigned int oldNumSamples,
86 unsigned int newNumSamples,
87 size_t newSampleListPosition) = 0;
89 virtual void moveSamplesToNewBuffer (
90 const unsigned int* oldNumSamples,
91 const unsigned int* newNumSamples,
92 const size_t* newSampleListPositions) = 0;
94 virtual void initializeSampleLists () = 0;
98 virtual void resetBasePointer () = 0;
129 T* operator() (
int x,
int y);
130 const T* operator() (
int x,
int y)
const;
138 T* at (
int x,
int y);
139 const T* at (
int x,
int y)
const;
151 T*
const*
row (
int r);
152 const T*
const*
row (
int r)
const;
170 size_t i,
unsigned int oldNumSamples,
unsigned int newNumSamples);
175 unsigned int oldNumSamples,
176 unsigned int newNumSamples,
177 size_t newSampleListPosition);
181 const unsigned int* oldNumSamples,
182 const unsigned int* newNumSamples,
183 const size_t* newSampleListPositions);
194 T** _sampleListPointers;
221 return _base[y * pixelsPerRow () +
x];
228 return _base[y * pixelsPerRow () +
x];
236 return _base[y * pixelsPerRow () +
x];
244 return _base[y * pixelsPerRow () +
x];
251 return _base + r * pixelsPerRow ();
255 inline const T*
const*
258 return _base + r * pixelsPerRow ();
261 #ifndef COMPILING_IMF_DEEP_IMAGE_CHANNEL
#define IMFUTIL_EXPORT_EXTERN_TEMPLATE
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
T * operator()(int x, int y)
#define IMFUTIL_EXPORT_TEMPLATE_TYPE
virtual PixelType pixelType() const =0
virtual void resetBasePointer()=0
TypedDeepImageChannel< half > DeepHalfChannel
virtual void moveSampleList(size_t i, unsigned int oldNumSamples, unsigned int newNumSamples, size_t newSampleListPosition)=0
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER enum IMF_EXPORT_ENUM PixelType
virtual void initializeSampleLists()=0
virtual DeepSlice slice() const =0
DeepImageChannel & operator=(const DeepImageChannel &other)=delete
virtual void moveSamplesToNewBuffer(const unsigned int *oldNumSamples, const unsigned int *newNumSamples, const size_t *newSampleListPositions)=0
virtual IMFUTIL_EXPORT void resize()
TypedDeepImageChannel< unsigned int > DeepUIntChannel
LeafData & operator=(const LeafData &)=delete
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
TypedDeepImageChannel< float > DeepFloatChannel
GLenum GLenum GLsizei void * row
virtual void setSamplesToZero(size_t i, unsigned int oldNumSamples, unsigned int newNumSamples)=0