6 #ifndef INCLUDED_IMF_DEEP_IMAGE_CHANNEL_H
7 #define INCLUDED_IMF_DEEP_IMAGE_CHANNEL_H
84 virtual void setSamplesToZero
86 unsigned int oldNumSamples,
87 unsigned int newNumSamples) = 0;
89 virtual void moveSampleList
91 unsigned int oldNumSamples,
92 unsigned int newNumSamples,
93 size_t newSampleListPosition) = 0;
95 virtual void moveSamplesToNewBuffer
96 (
const unsigned int * oldNumSamples,
97 const unsigned int * newNumSamples,
98 const size_t * newSampleListPositions) = 0;
100 virtual void initializeSampleLists () = 0;
104 virtual void resetBasePointer () = 0;
138 T * operator () (
int x,
int y);
139 const T * operator () (
int x,
int y)
const;
148 T * at (
int x,
int y);
149 const T * at (
int x,
int y)
const;
161 T *
const *
row (
int r);
162 const T *
const *
row (
int r)
const;
181 unsigned int oldNumSamples,
182 unsigned int newNumSamples);
187 unsigned int oldNumSamples,
188 unsigned int newNumSamples,
189 size_t newSampleListPosition);
193 (
const unsigned int * oldNumSamples,
194 const unsigned int * newNumSamples,
195 const size_t * newSampleListPositions);
206 T ** _sampleListPointers;
234 return _base[y * pixelsPerRow() +
x];
242 return _base[y * pixelsPerRow() +
x];
251 return _base[y * pixelsPerRow() +
x];
260 return _base[y * pixelsPerRow() +
x];
268 return _base + r * pixelsPerRow();
273 inline const T *
const *
276 return _base + r * pixelsPerRow();
279 #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
#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