DYT/Tool/OpenSceneGraph-3.6.5/include/OpenEXR/ImfDeepImage.h
2024-12-25 07:49:36 +08:00

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