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 
15 
16 //-------------------------------------------------------------------------------
17 // class TiledOutputPart:
18 //
19 // Same interface as TiledOutputFile. Please have a reference to TiledOutputFile.
20 //-------------------------------------------------------------------------------
21 
23 {
24 public:
26  TiledOutputPart (MultiPartOutputFile& multiPartFile, int partNumber);
27 
29  const char* fileName () const;
31  const Header& header () const;
35  const FrameBuffer& frameBuffer () const;
37  unsigned int tileXSize () const;
39  unsigned int tileYSize () const;
41  LevelMode levelMode () const;
45  int numLevels () const;
47  int numXLevels () const;
49  int numYLevels () const;
51  bool isValidLevel (int lx, int ly) const;
53  int levelWidth (int lx) const;
55  int levelHeight (int ly) const;
57  int numXTiles (int lx = 0) const;
59  int numYTiles (int ly = 0) const;
63  IMATH_NAMESPACE::Box2i dataWindowForLevel (int lx, int ly) const;
65  IMATH_NAMESPACE::Box2i dataWindowForTile (int dx, int dy, int l = 0) const;
68  dataWindowForTile (int dx, int dy, int lx, int ly) const;
70  void writeTile (int dx, int dy, int l = 0);
72  void writeTile (int dx, int dy, int lx, int ly);
74  void writeTiles (int dx1, int dx2, int dy1, int dy2, int lx, int ly);
76  void writeTiles (int dx1, int dx2, int dy1, int dy2, int l = 0);
78  void copyPixels (TiledInputFile& in);
80  void copyPixels (InputFile& in);
82  void copyPixels (TiledInputPart& in);
84  void copyPixels (InputPart& in);
85 
87  void updatePreviewImage (const PreviewRgba newPixels[]);
89  void
90  breakTile (int dx, int dy, int lx, int ly, int offset, int length, char c);
91 
92 private:
93  TiledOutputFile* file;
94 };
95 
97 
98 #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:83
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:80
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