// // SPDX-License-Identifier: BSD-3-Clause // Copyright (c) Contributors to the OpenEXR Project. // #ifndef INCLUDED_IMF_DEEP_IMAGE_H #define INCLUDED_IMF_DEEP_IMAGE_H //---------------------------------------------------------------------------- // // class DeepImage // // For an explanation of images, levels and channels, // see the comments in header file Image.h. // //---------------------------------------------------------------------------- #include "ImfDeepImageLevel.h" #include "ImfImage.h" #include "ImfUtilExport.h" #include "ImfTileDescription.h" OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER class IMFUTIL_EXPORT_TYPE DeepImage : public Image { public: // // Constructors and destructor. // The default constructor constructs an image with an empty data // window level mode ONE_LEVEL and level rounding mode ROUND_DOWN. // IMFUTIL_EXPORT DeepImage(); IMFUTIL_EXPORT DeepImage(const IMATH_NAMESPACE::Box2i &dataWindow, LevelMode levelMode = ONE_LEVEL, LevelRoundingMode levelRoundingMode = ROUND_DOWN); IMFUTIL_EXPORT virtual ~DeepImage(); // // Accessing image levels by level number // IMFUTIL_EXPORT virtual DeepImageLevel & level(int l = 0); IMFUTIL_EXPORT virtual const DeepImageLevel & level(int l = 0) const; IMFUTIL_EXPORT virtual DeepImageLevel & level(int lx, int ly); IMFUTIL_EXPORT virtual const DeepImageLevel & level(int lx, int ly) const; protected: IMFUTIL_EXPORT virtual DeepImageLevel * newLevel (int lx, int ly, const IMATH_NAMESPACE::Box2i &dataWindow); }; OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT #endif