64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
|
//
|
||
|
// 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
|