HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ImfForward.h
Go to the documentation of this file.
1 
2 
3 ///////////////////////////////////////////////////////////////////////////
4 //
5 // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas
6 // Digital Ltd. LLC
7 //
8 // Portions (c) 2012 Weta Digital Ltd
9 //
10 // All rights reserved.
11 //
12 // Redistribution and use in source and binary forms, with or without
13 // modification, are permitted provided that the following conditions are
14 // met:
15 // * Redistributions of source code must retain the above copyright
16 // notice, this list of conditions and the following disclaimer.
17 // * Redistributions in binary form must reproduce the above
18 // copyright notice, this list of conditions and the following disclaimer
19 // in the documentation and/or other materials provided with the
20 // distribution.
21 // * Neither the name of Industrial Light & Magic nor the names of
22 // its contributors may be used to endorse or promote products derived
23 // from this software without specific prior written permission.
24 //
25 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 //
37 ///////////////////////////////////////////////////////////////////////////
38 
39 #ifndef INCLUDED_IMF_FORWARD_H
40 #define INCLUDED_IMF_FORWARD_H
41 
42 ////////////////////////////////////////////////////////////////////
43 //
44 // Forward declarations for OpenEXR - correctly declares namespace
45 //
46 ////////////////////////////////////////////////////////////////////
47 
48 #include "ImfNamespace.h"
49 
51 
52 
53 // classes for basic types;
54 template<class T> class Array;
55 template<class T> class Array2D;
56 struct Channel;
57 class ChannelList;
58 struct Chromaticities;
59 
60 // attributes used in headers are TypedAttributes
61 class Attribute;
62 
63 class Header;
64 
65 // file handling classes
66 class OutputFile;
67 class TiledInputFile;
68 class ScanLineInputFile;
69 class InputFile;
70 class TiledOutputFile;
73 class DeepTiledInputFile;
75 class AcesInputFile;
76 class AcesOutputFile;
77 class TiledInputPart;
78 class TiledInputFile;
79 class TileOffsets;
80 
81 // multipart file handling
82 class GenericInputFile;
83 class GenericOutputFile;
84 class MultiPartInputFile;
86 
87 class InputPart;
88 class TiledInputPart;
90 class DeepTiledInputPart;
91 
92 class OutputPart;
93 class ScanLineOutputPart;
94 class TiledOutputPart;
97 
98 
99 // internal use only
100 struct InputPartData;
101 struct OutputStreamMutex;
102 struct OutputPartData;
103 struct InputStreamMutex;
104 
105 // frame buffers
106 
107 class FrameBuffer;
108 class DeepFrameBuffer;
109 struct DeepSlice;
110 
111 // compositing
112 class DeepCompositing;
114 
115 // preview image
116 class PreviewImage;
117 struct PreviewRgba;
118 
119 // streams
120 class OStream;
121 class IStream;
122 
123 
125 
126 
127 #endif // include guard
Definition: ImfIO.h:58
Definition: ImfArray.h:77
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
Definition: ImfNamespace.h:109
Definition: ImfIO.h:155
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
Definition: ImfNamespace.h:108