HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImfTiledOutputPart.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 IMFTILEDOUTPUTPART_H_
7 #define IMFTILEDOUTPUTPART_H_
8 
9 #include "ImfForward.h"
10 
11 #include "ImfTileDescription.h"
12 #include <ImathBox.h>
13 
14 
16 
17 //-------------------------------------------------------------------------------
18 // class TiledOutputPart:
19 //
20 // Same interface as TiledOutputFile. Please have a reference to TiledOutputFile.
21 //-------------------------------------------------------------------------------
22 
24 {
25  public:
27  TiledOutputPart(MultiPartOutputFile& multiPartFile, int partNumber);
28 
30  const char * fileName () const;
32  const Header & header () const;
36  const FrameBuffer & frameBuffer () const;
38  unsigned int tileXSize () const;
40  unsigned int tileYSize () const;
42  LevelMode levelMode () const;
46  int numLevels () const;
48  int numXLevels () const;
50  int numYLevels () const;
52  bool isValidLevel (int lx, int ly) const;
54  int levelWidth (int lx) const;
56  int levelHeight (int ly) const;
58  int numXTiles (int lx = 0) const;
60  int numYTiles (int ly = 0) const;
64  IMATH_NAMESPACE::Box2i dataWindowForLevel (int lx, int ly) const;
67  int l = 0) const;
70  int lx, int ly) const;
72  void writeTile (int dx, int dy, int l = 0);
74  void writeTile (int dx, int dy, int lx, int ly);
76  void writeTiles (int dx1, int dx2, int dy1, int dy2,
77  int lx, int ly);
79  void writeTiles (int dx1, int dx2, int dy1, int dy2,
80  int l = 0);
82  void copyPixels (TiledInputFile &in);
84  void copyPixels (InputFile &in);
86  void copyPixels (TiledInputPart &in);
88  void copyPixels (InputPart &in);
89 
90 
92  void updatePreviewImage (const PreviewRgba newPixels[]);
94  void breakTile (int dx, int dy,
95  int lx, int ly,
96  int offset,
97  int length,
98  char c);
99 
100  private:
101  TiledOutputFile* file;
102 };
103 
105 
106 #endif /* IMFTILEDOUTPUTPART_H_ */
IMF_EXPORT int numYLevels() const
IMF_EXPORT int numYTiles(int ly=0) const
IMF_EXPORT LevelMode levelMode() const
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition: ImfNamespace.h:80
IMF_EXPORT void copyPixels(TiledInputFile &in)
IMF_EXPORT unsigned int tileYSize() const
IMF_EXPORT void setFrameBuffer(const FrameBuffer &frameBuffer)
IMF_EXPORT void writeTile(int dx, int dy, int l=0)
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:795
IMF_EXPORT IMATH_NAMESPACE::Box2i dataWindowForLevel(int l=0) const
IMF_EXPORT int numXTiles(int lx=0) const
IMF_EXPORT void writeTiles(int dx1, int dx2, int dy1, int dy2, int lx, int ly)
IMF_EXPORT const FrameBuffer & frameBuffer() const
IMF_EXPORT int levelWidth(int lx) const
IMF_EXPORT const char * fileName() const
enum IMF_EXPORT_ENUM LevelRoundingMode
IMF_EXPORT void breakTile(int dx, int dy, int lx, int ly, int offset, int length, char c)
GLintptr offset
Definition: glcorearb.h:665
IMF_EXPORT int levelHeight(int ly) const
Box< V2i > Box2i
2D box of base type int.
Definition: ImathBox.h:143
IMF_EXPORT TiledOutputPart(MultiPartOutputFile &multiPartFile, int partNumber)
#define IMF_EXPORT
Definition: ImfExport.h:54
IMF_EXPORT bool isValidLevel(int lx, int ly) const
IMF_EXPORT void updatePreviewImage(const PreviewRgba newPixels[])
IMF_EXPORT int numXLevels() const
IMF_EXPORT int numLevels() const
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
Definition: ImfNamespace.h:79
IMF_EXPORT unsigned int tileXSize() const
IMF_EXPORT const Header & header() const
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER enum IMF_EXPORT_ENUM LevelMode
IMF_EXPORT LevelRoundingMode levelRoundingMode() const
IMF_EXPORT IMATH_NAMESPACE::Box2i dataWindowForTile(int dx, int dy, int l=0) const