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 Tue Dec 24 2024 02:40:45 for HDK by
1.8.6