HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImfInputPart.h
Go to the documentation of this file.
1 //
2 // SPDX-License-Identifier: BSD-3-Clause
3 // Copyright (c) Contributors to the OpenEXR Project.
4 //
5 
6 #ifndef IMFINPUTPART_H_
7 #define IMFINPUTPART_H_
8 
9 #include "ImfForward.h"
10 
12 
13 //-------------------------------------------------------------------
14 // class InputPart:
15 //
16 // Same interface as InputFile. Please refer to InputFile.
17 //-------------------------------------------------------------------
18 
20 {
21 public:
23  InputPart (MultiPartInputFile& multiPartFile, int partNumber);
24 
26  const char* fileName () const;
28  const Header& header () const;
30  int version () const;
32  void setFrameBuffer (const FrameBuffer& frameBuffer);
34  const FrameBuffer& frameBuffer () const;
36  bool isComplete () const;
38  bool isOptimizationEnabled () const;
40  void readPixels (int scanLine1, int scanLine2);
42  void readPixels (int scanLine);
44  void readPixels (
45  const FrameBuffer& frameBuffer, int scanLine1, int scanLine2);
47  void rawPixelData (
48  int firstScanLine, const char*& pixelData, int& pixelDataSize);
49 
51  void rawPixelDataToBuffer (
52  int scanLine, char* pixelData, int& pixelDataSize) const;
53 
55  void rawTileData (
56  int& dx,
57  int& dy,
58  int& lx,
59  int& ly,
60  const char*& pixelData,
61  int& pixelDataSize);
62 
63 private:
64  InputFile* file;
65  // for internal use - give OutputFile and TiledOutputFile access to file for copyPixels
66  friend class OutputFile;
67  friend class TiledOutputFile;
68 };
69 
71 
72 #endif /* IMFINPUTPART_H_ */
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition: ImfNamespace.h:83
Provides generic access to read an image from an EXR file.
Definition: ImfInputFile.h:64
TODO: Document this.
class IMF_EXPORT_TYPE InputPart
Definition: ImfForward.h:54
#define IMF_EXPORT
Definition: ImfExport.h:54
GT_API const UT_StringHolder version
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
Definition: ImfNamespace.h:80
#define IMF_EXPORT_TYPE
Definition: ImfExport.h:57