HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
ImfDeepImageState.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 INCLUDED_IMF_DEEPIMAGESTATE_H
7
#define INCLUDED_IMF_DEEPIMAGESTATE_H
8
9
//-----------------------------------------------------------------------------
10
//
11
// enum DeepImageState -- describes how orderly the pixel data
12
// in a deep image are
13
//
14
// The samples in a deep image pixel may be sorted according to
15
// depth, and the sample depths or depth ranges may or may not
16
// overlap each other. A pixel is
17
//
18
// - SORTED if for every i and j with i < j
19
//
20
// (Z[i] < Z[j]) || (Z[i] == Z[j] && ZBack[i] < ZBack[j]),
21
//
22
// - NON_OVERLAPPING if for every i and j with i != j
23
//
24
// (Z[i] < Z[j] && ZBack[i] <= Z[j]) ||
25
// (Z[j] < Z[i] && ZBack[j] <= Z[i]) ||
26
// (Z[i] == Z[j] && ZBack[i] <= Z[i] & ZBack[j] > Z[j]) ||
27
// (Z[i] == Z[j] && ZBack[j] <= Z[j] & ZBack[i] > Z[i]),
28
//
29
// - TIDY if it is SORTED and NON_OVERLAPPING,
30
//
31
// - MESSY if it is neither SORTED nor NON_OVERLAPPING.
32
//
33
// A deep image is
34
//
35
// - MESSY if at least one of its pixels is MESSY,
36
// - SORTED if all of its pixels are SORTED,
37
// - NON_OVERLAPPING if all of its pixels are NON_OVERLAPPING,
38
// - TIDY if all of its pixels are TIDY.
39
//
40
// Note: the rather complicated definition of NON_OVERLAPPING prohibits
41
// overlapping volume samples, coincident point samples and point samples
42
// in the middle of a volume sample, but it does allow point samples at
43
// the front or back of a volume sample.
44
//
45
//-----------------------------------------------------------------------------
46
47
#include "
ImfExport.h
"
48
#include "
ImfNamespace.h
"
49
50
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
51
52
enum
IMF_EXPORT_ENUM
DeepImageState
:
int
53
{
54
DIS_MESSY
= 0,
55
DIS_SORTED
= 1,
56
DIS_NON_OVERLAPPING
= 2,
57
DIS_TIDY
= 3,
58
59
DIS_NUMSTATES
// Number of different image states
60
};
61
62
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
63
64
#endif
IMF_EXPORT_ENUM
#define IMF_EXPORT_ENUM
Definition:
ImfExport.h:56
ImfNamespace.h
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition:
ImfNamespace.h:83
DIS_SORTED
DIS_SORTED
Definition:
ImfDeepImageState.h:55
DIS_NON_OVERLAPPING
DIS_NON_OVERLAPPING
Definition:
ImfDeepImageState.h:56
DeepImageState
DeepImageStateint
Definition:
ImfDeepImageState.h:52
DIS_TIDY
DIS_TIDY
Definition:
ImfDeepImageState.h:57
ImfExport.h
OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
Definition:
ImfNamespace.h:80
DIS_MESSY
DIS_MESSY
Definition:
ImfDeepImageState.h:54
OpenEXR
ImfDeepImageState.h
Generated on Wed Apr 2 2025 02:48:51 for HDK by
1.8.6