├── OpenVDB_example
├── addons.make
├── bin
│ └── data
│ │ └── .gitkeep
├── OpenVDB_example.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── wesleysmith.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── WorkspaceSettings.xcsettings
│ ├── xcuserdata
│ │ └── wesleysmith.xcuserdatad
│ │ │ ├── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ │ └── xcdebugger
│ │ │ └── Breakpoints.xcbkptlist
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── OpenVDB_example Debug.xcscheme
│ │ └── OpenVDB_example Release.xcscheme
├── src
│ ├── main.cpp
│ └── ofApp.h
├── Makefile
├── Project.xcconfig
└── openFrameworks-Info.plist
├── libs
├── OpenEXR
│ ├── libs
│ │ ├── libHalf.dylib
│ │ └── libHalf.11.dylib
│ └── OpenEXR
│ │ ├── halfExport.h
│ │ ├── OpenEXRConfig.h
│ │ ├── IlmBaseConfig.h
│ │ ├── IexExport.h
│ │ ├── ImfExport.h
│ │ ├── IlmThreadForward.h
│ │ ├── ImathExport.h
│ │ ├── IlmThreadExport.h
│ │ ├── ImathGLU.h
│ │ ├── ImfInt64.h
│ │ ├── ImfFloatAttribute.h
│ │ ├── ImfGenericInputFile.h
│ │ ├── ImfIntAttribute.h
│ │ ├── ImfDoubleAttribute.h
│ │ ├── IexMathIeeeExc.h
│ │ ├── ImfPartType.h
│ │ ├── Iex.h
│ │ ├── ImfPixelType.h
│ │ ├── IexMathExc.h
│ │ ├── ImathInt64.h
│ │ ├── ImfGenericOutputFile.h
│ │ ├── ImfLineOrder.h
│ │ ├── ImathHalfLimits.h
│ │ ├── ImfTestFile.h
│ │ ├── ImfStringAttribute.h
│ │ ├── ImfRationalAttribute.h
│ │ ├── ImfDeepImageStateAttribute.h
│ │ ├── ImfEnvmapAttribute.h
│ │ ├── ImfTimeCodeAttribute.h
│ │ ├── ImfKeyCodeAttribute.h
│ │ ├── ImathForward.h
│ │ ├── ImfCompressionAttribute.h
│ │ ├── ImfPreviewImageAttribute.h
│ │ ├── ImfLineOrderAttribute.h
│ │ ├── ImfChannelListAttribute.h
│ │ ├── ImfStringVectorAttribute.h
│ │ ├── ImfTileDescriptionAttribute.h
│ │ ├── ImfWav.h
│ │ ├── ImfChromaticitiesAttribute.h
│ │ ├── ImfCompression.h
│ │ ├── ImathExc.h
│ │ ├── ImfHuf.h
│ │ ├── ImfOutputPart.h
│ │ ├── ImfBoxAttribute.h
│ │ ├── ImfRational.h
│ │ ├── ImfRgba.h
│ │ ├── IexMathFpu.h
│ │ └── ImfTileDescription.h
├── OpenVDB
│ ├── libs
│ │ ├── libopenvdb.so
│ │ ├── libopenvdb.so.2.3
│ │ └── libopenvdb.so.2.3.0
│ └── openvdb
│ │ ├── Metadata.h
│ │ ├── viewer
│ │ ├── Font.h
│ │ ├── Viewer.h
│ │ ├── Camera.h
│ │ └── ClipBox.h
│ │ ├── PlatformConfig.h
│ │ ├── util
│ │ └── Name.h
│ │ └── metadata
│ │ └── StringMetadata.h
└── tbb
│ ├── libs
│ └── libtbb.dylib
│ └── tbb
│ ├── index.html
│ ├── compat
│ ├── thread
│ └── ppl.h
│ ├── aligned_space.h
│ ├── null_mutex.h
│ ├── null_rw_mutex.h
│ ├── tbbmalloc_proxy.h
│ ├── machine
│ ├── mic_common.h
│ ├── linux_common.h
│ ├── windows_api.h
│ └── ibm_aix51.h
│ ├── combinable.h
│ ├── tbb.h
│ ├── parallel_for_each.h
│ └── internal
│ └── _tbb_windef.h
├── README.md
├── LICENSE
└── src
└── ofxOpenVDB.h
/OpenVDB_example/addons.make:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/OpenVDB_example/bin/data/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/libs/OpenEXR/libs/libHalf.dylib:
--------------------------------------------------------------------------------
1 | libHalf.11.dylib
--------------------------------------------------------------------------------
/libs/OpenVDB/libs/libopenvdb.so:
--------------------------------------------------------------------------------
1 | libopenvdb.so.2.3.0
--------------------------------------------------------------------------------
/libs/OpenVDB/libs/libopenvdb.so.2.3:
--------------------------------------------------------------------------------
1 | libopenvdb.so.2.3.0
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ofxOpenVDB
2 | ==========
3 |
4 | OpenVDB voxel processing for OpenFrameworks
5 |
--------------------------------------------------------------------------------
/libs/tbb/libs/libtbb.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weshoke/ofxOpenVDB/HEAD/libs/tbb/libs/libtbb.dylib
--------------------------------------------------------------------------------
/libs/OpenEXR/libs/libHalf.11.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weshoke/ofxOpenVDB/HEAD/libs/OpenEXR/libs/libHalf.11.dylib
--------------------------------------------------------------------------------
/libs/OpenVDB/libs/libopenvdb.so.2.3.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weshoke/ofxOpenVDB/HEAD/libs/OpenVDB/libs/libopenvdb.so.2.3.0
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/project.xcworkspace/xcuserdata/wesleysmith.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weshoke/ofxOpenVDB/HEAD/OpenVDB_example/OpenVDB_example.xcodeproj/project.xcworkspace/xcuserdata/wesleysmith.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/OpenVDB_example/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ofMain.h"
2 | #include "ofApp.h"
3 |
4 | //========================================================================
5 | int main( ){
6 | ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
7 |
8 | // this kicks off the running of my app
9 | // can be OF_WINDOW or OF_FULLSCREEN
10 | // pass in width and height too:
11 | ofRunApp(new ofApp());
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/OpenVDB_example/Makefile:
--------------------------------------------------------------------------------
1 | # Attempt to load a config.make file.
2 | # If none is found, project defaults in config.project.make will be used.
3 | ifneq ($(wildcard config.make),)
4 | include config.make
5 | endif
6 |
7 | # make sure the the OF_ROOT location is defined
8 | ifndef OF_ROOT
9 | OF_ROOT=../../..
10 | endif
11 |
12 | # call the project makefile!
13 | include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
14 |
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/project.xcworkspace/xcuserdata/wesleysmith.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges
6 |
7 | SnapshotAutomaticallyBeforeSignificantChanges
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/OpenVDB_example/src/ofApp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ofMain.h"
4 | #include "ofxOpenVDB.h"
5 |
6 | class ofApp : public ofBaseApp{
7 | public:
8 | void setup();
9 | void update();
10 | void draw();
11 |
12 | void keyPressed(int key);
13 | void keyReleased(int key);
14 | void mouseMoved(int x, int y );
15 | void mouseDragged(int x, int y, int button);
16 | void mousePressed(int x, int y, int button);
17 | void mouseReleased(int x, int y, int button);
18 | void windowResized(int w, int h);
19 | void dragEvent(ofDragInfo dragInfo);
20 | void gotMessage(ofMessage msg);
21 |
22 | ofEasyCam camera;
23 | FloatGrid::Ptr floatGrid;
24 | ofVbo mesh;
25 | ofVbo edgeMesh;
26 | };
27 |
--------------------------------------------------------------------------------
/OpenVDB_example/Project.xcconfig:
--------------------------------------------------------------------------------
1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
3 | OF_PATH = ../../..
4 |
5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"
7 |
8 | //ICONS - NEW IN 0072
9 | ICON_NAME_DEBUG = icon-debug.icns
10 | ICON_NAME_RELEASE = icon.icns
11 | ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/
12 |
13 | //IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to:
14 | //ICON_FILE_PATH = bin/data/
15 |
16 | OTHER_LDFLAGS = $(OF_CORE_LIBS)
17 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
18 |
--------------------------------------------------------------------------------
/OpenVDB_example/openFrameworks-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | cc.openFrameworks.ofapp
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | APPL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 | CFBundleIconFile
20 | ${ICON}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/xcuserdata/wesleysmith.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | OpenVDB_example Debug.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 13
11 |
12 | OpenVDB_example Release.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 14
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | E4B69B5A0A3A1756003C02F2
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/halfExport.h:
--------------------------------------------------------------------------------
1 | #ifndef HALFEXPORT_H
2 | #define HALFEXPORT_H
3 |
4 | //
5 | // Copyright (c) 2008 Lucasfilm Entertainment Company Ltd.
6 | // All rights reserved. Used under authorization.
7 | // This material contains the confidential and proprietary
8 | // information of Lucasfilm Entertainment Company and
9 | // may not be copied in whole or in part without the express
10 | // written permission of Lucasfilm Entertainment Company.
11 | // This copyright notice does not imply publication.
12 | //
13 |
14 | #if defined(OPENEXR_DLL)
15 | #if defined(HALF_EXPORTS)
16 | #define HALF_EXPORT __declspec(dllexport)
17 | #else
18 | #define HALF_EXPORT __declspec(dllimport)
19 | #endif
20 | #define HALF_EXPORT_CONST
21 | #else
22 | #define HALF_EXPORT
23 | #define HALF_EXPORT_CONST const
24 | #endif
25 |
26 | #endif // #ifndef HALFEXPORT_H
27 |
28 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Overview
5 | Include files for Intel® Threading Building Blocks classes and functions.
6 |
7 |
Click here to see all files in the directory.
8 |
9 | Directories
10 |
11 | - compat
12 |
- Include files for source level compatibility with other frameworks.
13 |
- internal
14 |
- Include files with implementation details; not for direct use.
15 |
- machine
16 |
- Include files for low-level architecture specific functionality; not for direct use.
17 |
18 |
19 |
20 | Up to parent directory
21 |
22 | Copyright © 2005-2014 Intel Corporation. All Rights Reserved.
23 |
24 | Intel is a registered trademark or trademark of Intel Corporation
25 | or its subsidiaries in the United States and other countries.
26 |
27 | * Other names and brands may be claimed as the property of others.
28 |
29 |
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 weshoke
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/xcuserdata/wesleysmith.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
18 |
19 |
31 |
32 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/OpenEXRConfig.h:
--------------------------------------------------------------------------------
1 | /* config/OpenEXRConfig.h. Generated from OpenEXRConfig.h.in by configure. */
2 | //
3 | // Define and set to 1 if the target system supports a proc filesystem
4 | // compatible with the Linux kernel's proc filesystem. Note that this
5 | // is only used by a program in the IlmImfTest test suite, it's not
6 | // used by any OpenEXR library or application code.
7 | //
8 |
9 | /* #undef OPENEXR_IMF_HAVE_LINUX_PROCFS */
10 |
11 | //
12 | // Define and set to 1 if the target system is a Darwin-based system
13 | // (e.g., OS X).
14 | //
15 |
16 | #define OPENEXR_IMF_HAVE_DARWIN 1
17 |
18 | //
19 | // Define and set to 1 if the target system has a complete
20 | // implementation, specifically if it supports the std::right
21 | // formatter.
22 | //
23 |
24 | #define OPENEXR_IMF_HAVE_COMPLETE_IOMANIP 1
25 |
26 | //
27 | // Define and set to 1 if the target system has support for large
28 | // stack sizes.
29 | //
30 |
31 | /* #undef OPENEXR_IMF_HAVE_LARGE_STACK */
32 |
33 | //
34 | // Current internal library namepace name
35 | //
36 | #define OPENEXR_IMF_INTERNAL_NAMESPACE_CUSTOM 1
37 | #define OPENEXR_IMF_INTERNAL_NAMESPACE Imf_2_1
38 |
39 | //
40 | // Current public user namepace name
41 | //
42 |
43 | /* #undef OPENEXR_IMF_NAMESPACE_CUSTOM */
44 | #define OPENEXR_IMF_NAMESPACE Imf
45 |
46 | //
47 | // Version string for runtime access
48 | //
49 |
50 | #define OPENEXR_VERSION_STRING "2.1.0"
51 | #define OPENEXR_PACKAGE_STRING "OpenEXR 2.1.0"
52 |
53 | #define OPENEXR_VERSION_MAJOR 2
54 | #define OPENEXR_VERSION_MINOR 1
55 | #define OPENEXR_VERSION_PATCH 0
56 |
57 | // Version as a single hex number, e.g. 0x01000300 == 1.0.3
58 | #define OPENEXR_VERSION_HEX ((OPENEXR_VERSION_MAJOR << 24) | \
59 | (OPENEXR_VERSION_MINOR << 16) | \
60 | (OPENEXR_VERSION_PATCH << 8))
61 |
62 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IlmBaseConfig.h:
--------------------------------------------------------------------------------
1 | /* config/IlmBaseConfig.h. Generated from IlmBaseConfig.h.in by configure. */
2 | //
3 | // Define and set to 1 if the target system has POSIX thread support
4 | // and you want IlmBase to use it for multithreaded file I/O.
5 | //
6 |
7 | #define HAVE_PTHREAD 1
8 |
9 | //
10 | // Define and set to 1 if the target system supports POSIX semaphores
11 | // and you want OpenEXR to use them; otherwise, OpenEXR will use its
12 | // own semaphore implementation.
13 | //
14 |
15 | /* #undef HAVE_POSIX_SEMAPHORES */
16 |
17 |
18 | /* #undef HAVE_UCONTEXT_H */
19 |
20 |
21 | //
22 | // Dealing with FPEs
23 | //
24 | /* #undef ILMBASE_HAVE_CONTROL_REGISTER_SUPPORT */
25 |
26 |
27 | //
28 | // Define and set to 1 if the target system has support for large
29 | // stack sizes.
30 | //
31 |
32 | /* #undef ILMBASE_HAVE_LARGE_STACK */
33 |
34 | //
35 | // Current (internal) library namepace name and corresponding public
36 | // client namespaces.
37 | //
38 | #define ILMBASE_INTERNAL_NAMESPACE_CUSTOM 1
39 | #define IMATH_INTERNAL_NAMESPACE Imath_2_1
40 | #define IEX_INTERNAL_NAMESPACE Iex_2_1
41 | #define ILMTHREAD_INTERNAL_NAMESPACE IlmThread_2_1
42 |
43 | /* #undef ILMBASE_NAMESPACE_CUSTOM */
44 | #define IMATH_NAMESPACE Imath
45 | #define IEX_NAMESPACE Iex
46 | #define ILMTHREAD_NAMESPACE IlmThread
47 |
48 |
49 | //
50 | // Define and set to 1 if the target system has support for large
51 | // stack sizes.
52 | //
53 |
54 | /* #undef ILMBASE_HAVE_LARGE_STACK */
55 |
56 |
57 | //
58 | // Version information
59 | //
60 | #define ILMBASE_VERSION_STRING "2.1.0"
61 | #define ILMBASE_PACKAGE_STRING "IlmBase 2.1.0"
62 |
63 | #define ILMBASE_VERSION_MAJOR 2
64 | #define ILMBASE_VERSION_MINOR 1
65 | #define ILMBASE_VERSION_PATCH 0
66 |
67 | // Version as a single hex number, e.g. 0x01000300 == 1.0.3
68 | #define ILMBASE_VERSION_HEX ((ILMBASE_VERSION_MAJOR << 24) | \
69 | (ILMBASE_VERSION_MINOR << 16) | \
70 | (ILMBASE_VERSION_PATCH << 8))
71 |
72 |
73 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/compat/thread:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_thread_H
30 | #define __TBB_thread_H
31 |
32 | #include "../tbb_thread.h"
33 |
34 | #if TBB_IMPLEMENT_CPP0X
35 |
36 | namespace std {
37 |
38 | typedef tbb::tbb_thread thread;
39 |
40 | namespace this_thread {
41 | using tbb::this_tbb_thread::get_id;
42 | using tbb::this_tbb_thread::yield;
43 |
44 | inline void sleep_for(const tbb::tick_count::interval_t& rel_time) {
45 | tbb::internal::thread_sleep_v3( rel_time );
46 | }
47 |
48 | }
49 |
50 | }
51 |
52 | #endif /* TBB_IMPLEMENT_CPP0X */
53 |
54 | #endif /* __TBB_thread_H */
55 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/Metadata.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_METADATA_HAS_BEEN_INCLUDED
32 | #define OPENVDB_METADATA_HAS_BEEN_INCLUDED
33 |
34 | #include
35 | #include
36 |
37 | #endif // OPENVDB_METADATA_HAS_BEEN_INCLUDED
38 |
39 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
40 | // All rights reserved. This software is distributed under the
41 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
42 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IexExport.h:
--------------------------------------------------------------------------------
1 | #ifndef IEXEXPORT_H
2 | #define IEXEXPORT_H
3 |
4 | ///////////////////////////////////////////////////////////////////////////
5 | //
6 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
7 | // Digital Ltd. LLC
8 | //
9 | // All rights reserved.
10 | //
11 | // Redistribution and use in source and binary forms, with or without
12 | // modification, are permitted provided that the following conditions are
13 | // met:
14 | // * Redistributions of source code must retain the above copyright
15 | // notice, this list of conditions and the following disclaimer.
16 | // * Redistributions in binary form must reproduce the above
17 | // copyright notice, this list of conditions and the following disclaimer
18 | // in the documentation and/or other materials provided with the
19 | // distribution.
20 | // * Neither the name of Industrial Light & Magic nor the names of
21 | // its contributors may be used to endorse or promote products derived
22 | // from this software without specific prior written permission.
23 | //
24 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 | //
36 | ///////////////////////////////////////////////////////////////////////////
37 |
38 | #if defined(OPENEXR_DLL)
39 | #if defined(IEX_EXPORTS)
40 | #define IEX_EXPORT __declspec(dllexport)
41 | #else
42 | #define IEX_EXPORT __declspec(dllimport)
43 | #endif
44 | #define IEX_EXPORT_CONST
45 | #else
46 | #define IEX_EXPORT
47 | #define IEX_EXPORT_CONST const
48 | #endif
49 |
50 | #endif // #ifndef IEXEXPORT_H
51 |
52 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfExport.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #if defined(OPENEXR_DLL)
36 | #if defined(ILMIMF_EXPORTS)
37 | #define IMF_EXPORT __declspec(dllexport)
38 | #define IMF_EXPORT_CONST extern __declspec(dllexport)
39 | #else
40 | #define IMF_EXPORT __declspec(dllimport)
41 | #define IMF_EXPORT_CONST extern __declspec(dllimport)
42 | #endif
43 | #else
44 | #define IMF_EXPORT
45 | #define IMF_EXPORT_CONST extern const
46 | #endif
47 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IlmThreadForward.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_ILMTHREADFORWARD_H
36 | #define INCLUDED_ILMTHREADFORWARD_H
37 |
38 | #include "IlmThreadNamespace.h"
39 |
40 | ILMTHREAD_INTERNAL_NAMESPACE_HEADER_ENTER
41 |
42 | class Thread;
43 | class Mutex;
44 | class Lock;
45 | class ThreadPool;
46 | class Task;
47 | class TaskGroup;
48 | class Semaphore;
49 |
50 | ILMTHREAD_INTERNAL_NAMESPACE_HEADER_EXIT
51 |
52 | #endif // INCLUDED_ILMTHREADFORWARD_H
53 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathExport.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #if defined(OPENEXR_DLL)
36 | #if defined(IMATH_EXPORTS)
37 | #define IMATH_EXPORT __declspec(dllexport)
38 | #define IMATH_EXPORT_CONST extern __declspec(dllexport)
39 | #else
40 | #define IMATH_EXPORT __declspec(dllimport)
41 | #define IMATH_EXPORT_CONST extern __declspec(dllimport)
42 | #endif
43 | #else
44 | #define IMATH_EXPORT
45 | #define IMATH_EXPORT_CONST extern const
46 | #endif
47 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/aligned_space.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_aligned_space_H
30 | #define __TBB_aligned_space_H
31 |
32 | #include "tbb_stddef.h"
33 | #include "tbb_machine.h"
34 |
35 | namespace tbb {
36 |
37 | //! Block of space aligned sufficiently to construct an array T with N elements.
38 | /** The elements are not constructed or destroyed by this class.
39 | @ingroup memory_allocation */
40 | template
41 | class aligned_space {
42 | private:
43 | typedef __TBB_TypeWithAlignmentAtLeastAsStrict(T) element_type;
44 | element_type array[(sizeof(T)*N+sizeof(element_type)-1)/sizeof(element_type)];
45 | public:
46 | //! Pointer to beginning of array
47 | T* begin() {return internal::punned_cast(this);}
48 |
49 | //! Pointer to one past last element in array.
50 | T* end() {return begin()+N;}
51 | };
52 |
53 | } // namespace tbb
54 |
55 | #endif /* __TBB_aligned_space_H */
56 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IlmThreadExport.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #if defined(OPENEXR_DLL)
36 | #if defined(ILMTHREAD_EXPORTS)
37 | #define ILMTHREAD_EXPORT __declspec(dllexport)
38 | #define ILMTHREAD_EXPORT_CONST extern __declspec(dllexport)
39 | #else
40 | #define ILMTHREAD_EXPORT __declspec(dllimport)
41 | #define ILMTHREAD_EXPORT_CONST extern __declspec(dllimport)
42 | #endif
43 | #else
44 | #define ILMTHREAD_EXPORT
45 | #define ILMTHREAD_EXPORT_CONST extern const
46 | #endif
47 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathGLU.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMATHGLU_H
38 | #define INCLUDED_IMATHGLU_H
39 |
40 | #include
41 | #include
42 |
43 | #include "ImathVec.h"
44 |
45 | inline
46 | void
47 | gluLookAt(const IMATH_INTERNAL_NAMESPACE::V3f &pos, const IMATH_INTERNAL_NAMESPACE::V3f &interest, const IMATH_INTERNAL_NAMESPACE::V3f &up)
48 | {
49 | gluLookAt(pos.x, pos.y, pos.z,
50 | interest.x, interest.y, interest.z,
51 | up.x, up.y, up.z);
52 | }
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfInt64.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2006, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_IMF_INT64_H
36 | #define INCLUDED_IMF_INT64_H
37 |
38 | //----------------------------------------------------------------------------
39 | //
40 | // Int64 -- unsigned 64-bit integers, imported from namespace Imath
41 | //
42 | //----------------------------------------------------------------------------
43 |
44 | #include "ImathInt64.h"
45 | #include "ImfNamespace.h"
46 |
47 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
48 |
49 | using IMATH_NAMESPACE::Int64;
50 |
51 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
52 |
53 |
54 |
55 |
56 | #endif // INCLUDED_IMF_INT64_H
57 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/null_mutex.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_null_mutex_H
30 | #define __TBB_null_mutex_H
31 |
32 | namespace tbb {
33 |
34 | //! A mutex which does nothing
35 | /** A null_mutex does no operation and simulates success.
36 | @ingroup synchronization */
37 | class null_mutex {
38 | //! Deny assignment and copy construction
39 | null_mutex( const null_mutex& );
40 | void operator=( const null_mutex& );
41 | public:
42 | //! Represents acquisition of a mutex.
43 | class scoped_lock {
44 | public:
45 | scoped_lock() {}
46 | scoped_lock( null_mutex& ) {}
47 | ~scoped_lock() {}
48 | void acquire( null_mutex& ) {}
49 | bool try_acquire( null_mutex& ) { return true; }
50 | void release() {}
51 | };
52 |
53 | null_mutex() {}
54 |
55 | // Mutex traits
56 | static const bool is_rw_mutex = false;
57 | static const bool is_recursive_mutex = true;
58 | static const bool is_fair_mutex = true;
59 | };
60 |
61 | }
62 |
63 | #endif /* __TBB_null_mutex_H */
64 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfFloatAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_FLOAT_ATTRIBUTE_H
38 | #define INCLUDED_IMF_FLOAT_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class FloatAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 |
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute FloatAttribute;
53 | template <> IMF_EXPORT const char *FloatAttribute::staticTypeName ();
54 |
55 |
56 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfGenericInputFile.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef IMFGENERICINPUTFILE_H_
36 | #define IMFGENERICINPUTFILE_H_
37 |
38 | #include "ImfIO.h"
39 | #include "ImfHeader.h"
40 | #include "ImfNamespace.h"
41 | #include "ImfExport.h"
42 |
43 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
44 |
45 | class IMF_EXPORT GenericInputFile
46 | {
47 | public:
48 | virtual ~GenericInputFile() {}
49 |
50 | protected:
51 | GenericInputFile() {}
52 | void readMagicNumberAndVersionField(OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int& version);
53 | };
54 |
55 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
56 |
57 |
58 | #endif /* IMFGENERICINPUTFILE_H_ */
59 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfIntAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_INT_ATTRIBUTE_H
38 | #define INCLUDED_IMF_INT_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class IntAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfNamespace.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute IntAttribute;
53 | template <> IMF_EXPORT const char *IntAttribute::staticTypeName ();
54 |
55 |
56 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfDoubleAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_DOUBLE_ATTRIBUTE_H
38 | #define INCLUDED_IMF_DOUBLE_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class DoubleAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfExport.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute DoubleAttribute;
53 | template <> IMF_EXPORT const char *DoubleAttribute::staticTypeName ();
54 |
55 |
56 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
57 |
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IexMathIeeeExc.h:
--------------------------------------------------------------------------------
1 | #ifndef INCLUDED_IEXMATHIEEE_EXC_H
2 | #define INCLUDED_IEXMATHIEEE_EXC_H
3 |
4 | ///////////////////////////////////////////////////////////////////////////
5 | //
6 | // Copyright (c) 1997, Industrial Light & Magic, a division of Lucas
7 | // Digital Ltd. LLC
8 | //
9 | // All rights reserved.
10 | //
11 | // Redistribution and use in source and binary forms, with or without
12 | // modification, are permitted provided that the following conditions are
13 | // met:
14 | // * Redistributions of source code must retain the above copyright
15 | // notice, this list of conditions and the following disclaimer.
16 | // * Redistributions in binary form must reproduce the above
17 | // copyright notice, this list of conditions and the following disclaimer
18 | // in the documentation and/or other materials provided with the
19 | // distribution.
20 | // * Neither the name of Industrial Light & Magic nor the names of
21 | // its contributors may be used to endorse or promote products derived
22 | // from this software without specific prior written permission.
23 | //
24 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 | //
36 | ///////////////////////////////////////////////////////////////////////////
37 |
38 |
39 | //---------------------------------------------------------------------------
40 | //
41 | // Names for the loating point exceptions defined by IEEE standard 754
42 | //
43 | //---------------------------------------------------------------------------
44 |
45 | #include "IexNamespace.h"
46 |
47 | IEX_INTERNAL_NAMESPACE_HEADER_ENTER
48 |
49 |
50 | enum IeeeExcType
51 | {
52 | IEEE_OVERFLOW = 1,
53 | IEEE_UNDERFLOW = 2,
54 | IEEE_DIVZERO = 4,
55 | IEEE_INEXACT = 8,
56 | IEEE_INVALID = 16
57 | };
58 |
59 |
60 | IEX_INTERNAL_NAMESPACE_HEADER_EXIT
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfPartType.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef IMFPARTTYPE_H_
36 | #define IMFPARTTYPE_H_
37 |
38 | #include
39 | #include "ImfNamespace.h"
40 |
41 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
42 |
43 |
44 | const std::string SCANLINEIMAGE = "scanlineimage";
45 | const std::string TILEDIMAGE = "tiledimage";
46 | const std::string DEEPSCANLINE = "deepscanline";
47 | const std::string DEEPTILE = "deeptile";
48 |
49 | bool isImage(const std::string& name);
50 |
51 | bool isTiled(const std::string& name);
52 |
53 | bool isDeepData(const std::string& name);
54 |
55 | bool isSupportedType(const std::string& name);
56 |
57 |
58 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
59 |
60 |
61 | #endif /* IMFPARTTYPE_H_ */
62 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/Iex.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IEX_H
38 | #define INCLUDED_IEX_H
39 |
40 |
41 | //--------------------------------
42 | //
43 | // Exception handling
44 | //
45 | //--------------------------------
46 |
47 |
48 | #include "IexMacros.h"
49 | #include "IexBaseExc.h"
50 | #include "IexMathExc.h"
51 | #include "IexThrowErrnoExc.h"
52 |
53 | // Note that we do not include file IexErrnoExc.h here. That file
54 | // defines over 150 classes and significantly slows down compilation.
55 | // If you throw ErrnoExc exceptions using the throwErrnoExc() function,
56 | // you don't need IexErrnoExc.h. You have to include IexErrnoExc.h
57 | // only if you want to catch specific subclasses of ErrnoExc.
58 |
59 |
60 | #endif
61 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfPixelType.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_PIXEL_TYPE_H
38 | #define INCLUDED_IMF_PIXEL_TYPE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // enum PixelType
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfNamespace.h"
47 |
48 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | enum PixelType
52 | {
53 | UINT = 0, // unsigned int (32 bit)
54 | HALF = 1, // half (16 bit floating point)
55 | FLOAT = 2, // float (32 bit floating point)
56 |
57 | NUM_PIXELTYPES // number of different pixel types
58 | };
59 |
60 |
61 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
62 |
63 |
64 |
65 |
66 |
67 | #endif
68 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IexMathExc.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002-2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IEXMATHEXC_H
38 | #define INCLUDED_IEXMATHEXC_H
39 |
40 | #include "IexBaseExc.h"
41 |
42 | IEX_INTERNAL_NAMESPACE_HEADER_ENTER
43 |
44 | //---------------------------------------------------------
45 | // Exception classess which correspond to specific floating
46 | // point exceptions.
47 | //---------------------------------------------------------
48 |
49 | DEFINE_EXC (OverflowExc, MathExc) // Overflow
50 | DEFINE_EXC (UnderflowExc, MathExc) // Underflow
51 | DEFINE_EXC (DivzeroExc, MathExc) // Division by zero
52 | DEFINE_EXC (InexactExc, MathExc) // Inexact result
53 | DEFINE_EXC (InvalidFpOpExc, MathExc) // Invalid operation
54 |
55 | IEX_INTERNAL_NAMESPACE_HEADER_EXIT
56 |
57 | #endif // INCLUDED_IEXMATHEXC_H
58 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathInt64.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2006-2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMATH_INT64_H
37 | #define INCLUDED_IMATH_INT64_H
38 |
39 | //----------------------------------------------------------------------------
40 | //
41 | // Int64 -- unsigned 64-bit integers
42 | //
43 | //----------------------------------------------------------------------------
44 |
45 | #include "ImathNamespace.h"
46 | #include
47 |
48 | IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | #if (defined _WIN32 || defined _WIN64) && _MSC_VER >= 1300
52 | typedef unsigned __int64 Int64;
53 | #elif ULONG_MAX == 18446744073709551615LU
54 | typedef long unsigned int Int64;
55 | #else
56 | typedef long long unsigned int Int64;
57 | #endif
58 |
59 |
60 | IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
61 |
62 | #endif // INCLUDED_IMATH_INT64_H
63 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/compat/ppl.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_compat_ppl_H
30 | #define __TBB_compat_ppl_H
31 |
32 | #include "../task_group.h"
33 | #include "../parallel_invoke.h"
34 | #include "../parallel_for_each.h"
35 | #include "../parallel_for.h"
36 | #include "../tbb_exception.h"
37 | #include "../critical_section.h"
38 | #include "../reader_writer_lock.h"
39 | #include "../combinable.h"
40 |
41 | namespace Concurrency {
42 |
43 | #if __TBB_TASK_GROUP_CONTEXT
44 | using tbb::task_handle;
45 | using tbb::task_group_status;
46 | using tbb::task_group;
47 | using tbb::structured_task_group;
48 | using tbb::invalid_multiple_scheduling;
49 | using tbb::missing_wait;
50 | using tbb::make_task;
51 |
52 | using tbb::not_complete;
53 | using tbb::complete;
54 | using tbb::canceled;
55 |
56 | using tbb::is_current_task_group_canceling;
57 | #endif /* __TBB_TASK_GROUP_CONTEXT */
58 |
59 | using tbb::parallel_invoke;
60 | using tbb::strict_ppl::parallel_for;
61 | using tbb::parallel_for_each;
62 | using tbb::critical_section;
63 | using tbb::reader_writer_lock;
64 | using tbb::combinable;
65 |
66 | using tbb::improper_lock;
67 |
68 | } // namespace Concurrency
69 |
70 | #endif /* __TBB_compat_ppl_H */
71 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/null_rw_mutex.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_null_rw_mutex_H
30 | #define __TBB_null_rw_mutex_H
31 |
32 | namespace tbb {
33 |
34 | //! A rw mutex which does nothing
35 | /** A null_rw_mutex is a rw mutex that does nothing and simulates successful operation.
36 | @ingroup synchronization */
37 | class null_rw_mutex {
38 | //! Deny assignment and copy construction
39 | null_rw_mutex( const null_rw_mutex& );
40 | void operator=( const null_rw_mutex& );
41 | public:
42 | //! Represents acquisition of a mutex.
43 | class scoped_lock {
44 | public:
45 | scoped_lock() {}
46 | scoped_lock( null_rw_mutex& , bool = true ) {}
47 | ~scoped_lock() {}
48 | void acquire( null_rw_mutex& , bool = true ) {}
49 | bool upgrade_to_writer() { return true; }
50 | bool downgrade_to_reader() { return true; }
51 | bool try_acquire( null_rw_mutex& , bool = true ) { return true; }
52 | void release() {}
53 | };
54 |
55 | null_rw_mutex() {}
56 |
57 | // Mutex traits
58 | static const bool is_rw_mutex = true;
59 | static const bool is_recursive_mutex = true;
60 | static const bool is_fair_mutex = true;
61 | };
62 |
63 | }
64 |
65 | #endif /* __TBB_null_rw_mutex_H */
66 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/viewer/Font.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_VIEWER_FONT_HAS_BEEN_INCLUDED
32 | #define OPENVDB_VIEWER_FONT_HAS_BEEN_INCLUDED
33 |
34 | #include
35 |
36 | #if defined(__APPLE__) || defined(MACOSX)
37 | #include
38 | #include
39 | #else
40 | #include
41 | #include
42 | #endif
43 |
44 |
45 | namespace openvdb_viewer {
46 |
47 | class BitmapFont13
48 | {
49 | public:
50 | BitmapFont13() {}
51 |
52 | static void initialize();
53 |
54 | static void enableFontRendering();
55 | static void disableFontRendering();
56 |
57 | static void print(GLint px, GLint py, const std::string&);
58 |
59 | private:
60 | static GLuint sOffset;
61 | static GLubyte sCharacters[95][13];
62 | };
63 |
64 | } // namespace openvdb_viewer
65 |
66 | #endif // OPENVDB_VIEWER_FONT_HAS_BEEN_INCLUDED
67 |
68 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
69 | // All rights reserved. This software is distributed under the
70 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
71 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfGenericOutputFile.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef IMFGENERICOUTPUTFILE_H_
36 | #define IMFGENERICOUTPUTFILE_H_
37 |
38 | #include "ImfVersion.h"
39 | #include "ImfIO.h"
40 | #include "ImfXdr.h"
41 | #include "ImfHeader.h"
42 | #include "ImfNamespace.h"
43 | #include "ImfExport.h"
44 |
45 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
46 |
47 |
48 | class IMF_EXPORT GenericOutputFile
49 | {
50 | public:
51 | virtual ~GenericOutputFile() {}
52 |
53 | protected:
54 | GenericOutputFile() {}
55 | void writeMagicNumberAndVersionField (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, const Header& header);
56 | void writeMagicNumberAndVersionField (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, const Header * headers, int parts);
57 |
58 | };
59 |
60 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
61 |
62 | #endif /* GENERICOUTPUTFILE_H_ */
63 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/PlatformConfig.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 | ///
31 | /// @file PlatformConfig.h
32 |
33 | #ifndef OPENVDB_PLATFORMCONFIG_HAS_BEEN_INCLUDED
34 | #define OPENVDB_PLATFORMCONFIG_HAS_BEEN_INCLUDED
35 |
36 | // Windows specific configuration
37 | #ifdef _WIN32
38 |
39 | // By default, assume we're building OpenVDB as a DLL if we're dynamically
40 | // linking in the CRT, unless OPENVDB_STATICLIB is defined.
41 | #if defined(_DLL) && !defined(OPENVDB_STATICLIB) && !defined(OPENVDB_DLL)
42 | #define OPENVDB_DLL
43 | #endif
44 |
45 | // By default, assume that we're dynamically linking OpenEXR, unless
46 | // OPENVDB_OPENEXR_STATICLIB is defined.
47 | #if !defined(OPENVDB_OPENEXR_STATICLIB) && !defined(OPENEXR_DLL)
48 | #define OPENEXR_DLL
49 | #endif
50 |
51 | #endif // _WIN32
52 |
53 | #endif // OPENVDB_PLATFORMCONFIG_HAS_BEEN_INCLUDED
54 |
55 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
56 | // All rights reserved. This software is distributed under the
57 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
58 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfLineOrder.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_LINE_ORDER_H
38 | #define INCLUDED_IMF_LINE_ORDER_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // enum LineOrder
43 | //
44 | //-----------------------------------------------------------------------------
45 | #include "ImfNamespace.h"
46 |
47 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
48 |
49 |
50 | enum LineOrder
51 | {
52 | INCREASING_Y = 0, // first scan line has lowest y coordinate
53 |
54 | DECREASING_Y = 1, // first scan line has highest y coordinate
55 |
56 | RANDOM_Y = 2, // only for tiled files; tiles are written
57 | // in random order
58 |
59 | NUM_LINEORDERS // number of different line orders
60 | };
61 |
62 |
63 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
64 |
65 |
66 |
67 |
68 |
69 | #endif
70 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathHalfLimits.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002-2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMATHHALFLIMITS_H
38 | #define INCLUDED_IMATHHALFLIMITS_H
39 |
40 | //--------------------------------------------------
41 | //
42 | // Imath-style limits for class half.
43 | //
44 | //--------------------------------------------------
45 |
46 | #include "ImathLimits.h"
47 | #include "ImathNamespace.h"
48 |
49 | #include "half.h"
50 |
51 | IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
52 |
53 |
54 | template <>
55 | struct limits
56 | {
57 | static float min() {return -HALF_MAX;}
58 | static float max() {return HALF_MAX;}
59 | static float smallest() {return HALF_MIN;}
60 | static float epsilon() {return HALF_EPSILON;}
61 | static bool isIntegral() {return false;}
62 | static bool isSigned() {return true;}
63 | };
64 |
65 |
66 | IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
67 |
68 | #endif // INCLUDED_IMATHHALFLIMITS_H
69 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/tbbmalloc_proxy.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | /*
30 | Replacing the standard memory allocation routines in Microsoft* C/C++ RTL
31 | (malloc/free, global new/delete, etc.) with the TBB memory allocator.
32 |
33 | Include the following header to a source of any binary which is loaded during
34 | application startup
35 |
36 | #include "tbb/tbbmalloc_proxy.h"
37 |
38 | or add following parameters to the linker options for the binary which is
39 | loaded during application startup. It can be either exe-file or dll.
40 |
41 | For win32
42 | tbbmalloc_proxy.lib /INCLUDE:"___TBB_malloc_proxy"
43 | win64
44 | tbbmalloc_proxy.lib /INCLUDE:"__TBB_malloc_proxy"
45 | */
46 |
47 | #ifndef __TBB_tbbmalloc_proxy_H
48 | #define __TBB_tbbmalloc_proxy_H
49 |
50 | #if _MSC_VER
51 |
52 | #ifdef _DEBUG
53 | #pragma comment(lib, "tbbmalloc_proxy_debug.lib")
54 | #else
55 | #pragma comment(lib, "tbbmalloc_proxy.lib")
56 | #endif
57 |
58 | #if defined(_WIN64)
59 | #pragma comment(linker, "/include:__TBB_malloc_proxy")
60 | #else
61 | #pragma comment(linker, "/include:___TBB_malloc_proxy")
62 | #endif
63 |
64 | #else
65 | /* Primarily to support MinGW */
66 |
67 | extern "C" void __TBB_malloc_proxy();
68 | struct __TBB_malloc_proxy_caller {
69 | __TBB_malloc_proxy_caller() { __TBB_malloc_proxy(); }
70 | } volatile __TBB_malloc_proxy_helper_object;
71 |
72 | #endif // _MSC_VER
73 |
74 | #endif //__TBB_tbbmalloc_proxy_H
75 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfTestFile.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_TEST_FILE_H
37 | #define INCLUDED_IMF_TEST_FILE_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // Utility routines to test quickly if a given
42 | // file is an OpenEXR file, and whether the
43 | // file is scanline-based or tiled.
44 | //
45 | //-----------------------------------------------------------------------------
46 |
47 | #include "ImfForward.h"
48 | #include "ImfExport.h"
49 | #include "ImfNamespace.h"
50 |
51 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
52 |
53 |
54 | IMF_EXPORT bool isOpenExrFile (const char fileName[], bool &isTiled);
55 | IMF_EXPORT bool isOpenExrFile (const char fileName[]);
56 | IMF_EXPORT bool isTiledOpenExrFile (const char fileName[]);
57 | IMF_EXPORT bool isOpenExrFile (IStream &is, bool &isTiled);
58 | IMF_EXPORT bool isOpenExrFile (IStream &is);
59 | IMF_EXPORT bool isTiledOpenExrFile (IStream &is);
60 |
61 |
62 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/util/Name.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
32 | #define OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
33 |
34 | #include
35 | #include
36 | #include
37 | #include
38 | #include
39 |
40 | namespace openvdb {
41 | OPENVDB_USE_VERSION_NAMESPACE
42 | namespace OPENVDB_VERSION_NAME {
43 |
44 | typedef std::string Name;
45 |
46 | inline Name
47 | readString(std::istream& is)
48 | {
49 | uint32_t size;
50 | is.read(reinterpret_cast(&size), sizeof(uint32_t));
51 | std::string buffer(size, ' ');
52 | is.read(&buffer[0], size);
53 | return buffer;
54 | }
55 |
56 |
57 | inline void
58 | writeString(std::ostream& os, const Name& name)
59 | {
60 | uint32_t size = uint32_t(name.size());
61 | os.write(reinterpret_cast(&size), sizeof(uint32_t));
62 | os.write(&name[0], size);
63 | }
64 |
65 | } // namespace OPENVDB_VERSION_NAME
66 | } // namespace openvdb
67 |
68 | #endif // OPENVDB_UTIL_NAME_HAS_BEEN_INCLUDED
69 |
70 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
71 | // All rights reserved. This software is distributed under the
72 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
73 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/metadata/StringMetadata.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_METADATA_STRINGMETADATA_HAS_BEEN_INCLUDED
32 | #define OPENVDB_METADATA_STRINGMETADATA_HAS_BEEN_INCLUDED
33 |
34 | #include
35 | #include
36 |
37 |
38 | namespace openvdb {
39 | OPENVDB_USE_VERSION_NAMESPACE
40 | namespace OPENVDB_VERSION_NAME {
41 |
42 | typedef TypedMetadata StringMetadata;
43 |
44 |
45 | template <>
46 | inline Index32
47 | StringMetadata::size() const
48 | {
49 | return mValue.size();
50 | }
51 |
52 |
53 | template<>
54 | inline void
55 | StringMetadata::readValue(std::istream& is, Index32 size)
56 | {
57 | mValue.resize(size, '\0');
58 | is.read(&mValue[0], size);
59 | }
60 |
61 | template<>
62 | inline void
63 | StringMetadata::writeValue(std::ostream &os) const
64 | {
65 | os.write(reinterpret_cast(&mValue[0]), this->size());
66 | }
67 |
68 | } // namespace OPENVDB_VERSION_NAME
69 | } // namespace openvdb
70 |
71 | #endif // OPENVDB_METADATA_STRINGMETADATA_HAS_BEEN_INCLUDED
72 |
73 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
74 | // All rights reserved. This software is distributed under the
75 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
76 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfStringAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_STRING_ATTRIBUTE_H
38 | #define INCLUDED_IMF_STRING_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class StringAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute StringAttribute;
53 |
54 | template <>
55 | IMF_EXPORT
56 | const char *StringAttribute::staticTypeName ();
57 |
58 | template <>
59 | IMF_EXPORT
60 | void StringAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
61 | int) const;
62 |
63 | template <>
64 | IMF_EXPORT
65 | void StringAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
66 | int, int);
67 |
68 |
69 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
70 |
71 | #endif
72 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfRationalAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_IMF_RATIONAL_ATTRIBUTE_H
36 | #define INCLUDED_IMF_RATIONAL_ATTRIBUTE_H
37 |
38 | //-----------------------------------------------------------------------------
39 | //
40 | // class RationalAttribute
41 | //
42 | //-----------------------------------------------------------------------------
43 |
44 | #include "ImfAttribute.h"
45 | #include "ImfRational.h"
46 |
47 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
48 |
49 |
50 | typedef TypedAttribute RationalAttribute;
51 |
52 | template <>
53 | IMF_EXPORT
54 | const char *RationalAttribute::staticTypeName ();
55 |
56 | template <>
57 | IMF_EXPORT
58 | void RationalAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
59 | int) const;
60 |
61 | template <>
62 | IMF_EXPORT
63 | void RationalAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
64 | int, int);
65 |
66 |
67 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
68 |
69 | #endif
70 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfDeepImageStateAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2013, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_IMF_DEEPIMAGESTATE_ATTRIBUTE_H
36 | #define INCLUDED_IMF_DEEPIMAGESTATE_ATTRIBUTE_H
37 |
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class DeepImageStateAttribute
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "ImfAttribute.h"
46 | #include "ImfDeepImageState.h"
47 | #include "ImfExport.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute
53 | DeepImageStateAttribute;
54 |
55 | template <> IMF_EXPORT const char *DeepImageStateAttribute::staticTypeName ();
56 |
57 | template <> IMF_EXPORT
58 | void DeepImageStateAttribute::writeValueTo
59 | (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &, int) const;
60 |
61 | template <> IMF_EXPORT
62 | void DeepImageStateAttribute::readValueFrom
63 | (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &, int, int);
64 |
65 |
66 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfEnvmapAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_IMF_ENVMAP_ATTRIBUTE_H
36 | #define INCLUDED_IMF_ENVMAP_ATTRIBUTE_H
37 |
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class EnvmapAttribute
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "ImfAttribute.h"
46 | #include "ImfEnvmap.h"
47 | #include "ImfExport.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute EnvmapAttribute;
53 |
54 | template <> IMF_EXPORT const char *EnvmapAttribute::staticTypeName ();
55 |
56 | template <> IMF_EXPORT
57 | void EnvmapAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
58 | int) const;
59 |
60 | template <> IMF_EXPORT
61 | void EnvmapAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
62 | int,
63 | int);
64 |
65 |
66 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfTimeCodeAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_TIME_CODE_ATTRIBUTE_H
37 | #define INCLUDED_IMF_TIME_CODE_ATTRIBUTE_H
38 |
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class TimeCodeAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfTimeCode.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute TimeCodeAttribute;
53 |
54 | template <>
55 | IMF_EXPORT
56 | const char *TimeCodeAttribute::staticTypeName ();
57 |
58 | template <>
59 | IMF_EXPORT
60 | void TimeCodeAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
61 | int) const;
62 |
63 | template <>
64 | IMF_EXPORT
65 | void TimeCodeAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
66 | int, int);
67 |
68 |
69 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
70 |
71 |
72 |
73 |
74 | #endif
75 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfKeyCodeAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_KEY_CODE_ATTRIBUTE_H
37 | #define INCLUDED_IMF_KEY_CODE_ATTRIBUTE_H
38 |
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class KeyCodeAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfKeyCode.h"
48 | #include "ImfExport.h"
49 |
50 |
51 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
52 |
53 |
54 | typedef TypedAttribute KeyCodeAttribute;
55 |
56 | template <>
57 | IMF_EXPORT
58 | const char *KeyCodeAttribute::staticTypeName ();
59 |
60 | template <>
61 | IMF_EXPORT
62 | void KeyCodeAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
63 | int) const;
64 |
65 | template <>
66 | IMF_EXPORT
67 | void KeyCodeAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
68 | int, int);
69 |
70 |
71 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
72 |
73 | #endif
74 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathForward.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef INCLUDED_IMATHFORWARD_H
36 | #define INCLUDED_IMATHFORWARD_H
37 |
38 | #include "ImathNamespace.h"
39 |
40 | IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
41 |
42 | //
43 | // Basic template type declarations.
44 | //
45 |
46 | template class Box;
47 | template class Color3;
48 | template class Color4;
49 | template class Euler;
50 | template class Frustum;
51 | template class FrustumTest;
52 | template class Interval;
53 | template class Line3;
54 | template class Matrix33;
55 | template class Matrix44;
56 | template class Plane3;
57 | template class Quat;
58 | template class Shear6;
59 | template class Sphere3;
60 | template class TMatrix;
61 | template class TMatrixBase;
62 | template class TMatrixData;
63 | template class Vec2;
64 | template class Vec3;
65 | template class Vec4;
66 |
67 | class Rand32;
68 | class Rand48;
69 |
70 | IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
71 |
72 | #endif // INCLUDED_IMATHFORWARD_H
73 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfCompressionAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_COMPRESSION_ATTRIBUTE_H
38 | #define INCLUDED_IMF_COMPRESSION_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class CompressionAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfCompression.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute CompressionAttribute;
53 | template <> const char *CompressionAttribute::staticTypeName ();
54 | template <> void CompressionAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
55 | int) const;
56 | template <> void CompressionAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
57 | int,
58 | int);
59 |
60 |
61 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
62 |
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfPreviewImageAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_PREVIEW_IMAGE_ATTRIBUTE_H
37 | #define INCLUDED_IMF_PREVIEW_IMAGE_ATTRIBUTE_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class PreviewImageAttribute
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "ImfAttribute.h"
46 | #include "ImfPreviewImage.h"
47 |
48 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | typedef TypedAttribute PreviewImageAttribute;
52 |
53 | template <>
54 | IMF_EXPORT
55 | const char *PreviewImageAttribute::staticTypeName ();
56 |
57 | template <>
58 | IMF_EXPORT
59 | void PreviewImageAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
60 | int) const;
61 |
62 | template <>
63 | IMF_EXPORT
64 | void PreviewImageAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
65 | int, int);
66 |
67 |
68 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfLineOrderAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_LINE_ORDER_ATTRIBUTE_H
38 | #define INCLUDED_IMF_LINE_ORDER_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class LineOrderAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfLineOrder.h"
48 | #include "ImfExport.h"
49 |
50 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
51 |
52 |
53 | typedef TypedAttribute LineOrderAttribute;
54 |
55 | template <>
56 | IMF_EXPORT
57 | const char *LineOrderAttribute::staticTypeName ();
58 |
59 | template <>
60 | IMF_EXPORT
61 | void LineOrderAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
62 | int) const;
63 |
64 | template <>
65 | IMF_EXPORT
66 | void LineOrderAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
67 | int, int);
68 |
69 |
70 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/machine/mic_common.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_mic_common_H
30 | #define __TBB_mic_common_H
31 |
32 | #ifndef __TBB_machine_H
33 | #error Do not #include this internal file directly; use public TBB headers instead.
34 | #endif
35 |
36 | #if ! __TBB_DEFINE_MIC
37 | #error mic_common.h should be included only when building for Intel(R) Many Integrated Core Architecture
38 | #endif
39 |
40 | #ifndef __TBB_PREFETCHING
41 | #define __TBB_PREFETCHING 1
42 | #endif
43 | #if __TBB_PREFETCHING
44 | #include
45 | #define __TBB_cl_prefetch(p) _mm_prefetch((const char*)p, _MM_HINT_T1)
46 | #define __TBB_cl_evict(p) _mm_clevict(p, _MM_HINT_T1)
47 | #endif
48 |
49 | /** Intel(R) Many Integrated Core Architecture does not support mfence and pause instructions **/
50 | #define __TBB_full_memory_fence() __asm__ __volatile__("lock; addl $0,(%%rsp)":::"memory")
51 | #define __TBB_Pause(x) _mm_delay_32(16*(x))
52 | #define __TBB_STEALING_PAUSE 1500/16
53 | #include
54 | #define __TBB_Yield() sched_yield()
55 |
56 | // low-level timing intrinsic and its type
57 | #define __TBB_machine_time_stamp() _rdtsc()
58 | typedef uint64_t machine_tsc_t;
59 |
60 | /** Specifics **/
61 | #define __TBB_STEALING_ABORT_ON_CONTENTION 1
62 | #define __TBB_YIELD2P 1
63 | #define __TBB_HOARD_NONLOCAL_TASKS 1
64 |
65 | #if ! ( __FreeBSD__ || __linux__ )
66 | #error Intel(R) Many Integrated Core Compiler does not define __FreeBSD__ or __linux__ anymore. Check for the __TBB_XXX_BROKEN defined under __FreeBSD__ or __linux__.
67 | #endif /* ! ( __FreeBSD__ || __linux__ ) */
68 |
69 | #endif /* __TBB_mic_common_H */
70 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfChannelListAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_CHANNEL_LIST_ATTRIBUTE_H
38 | #define INCLUDED_IMF_CHANNEL_LIST_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class ChannelListAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfChannelList.h"
48 | #include "ImfExport.h"
49 |
50 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
51 |
52 |
53 | typedef TypedAttribute ChannelListAttribute;
54 |
55 | template <>
56 | IMF_EXPORT
57 | const char *ChannelListAttribute::staticTypeName ();
58 |
59 | template <>
60 | IMF_EXPORT
61 | void ChannelListAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
62 | int) const;
63 |
64 | template <>
65 | IMF_EXPORT
66 | void ChannelListAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
67 | int, int);
68 |
69 |
70 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
71 |
72 |
73 | #endif
74 |
75 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfStringVectorAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2007, Weta Digital Ltd
4 | //
5 | // All rights reserved.
6 | //
7 | // Redistribution and use in source and binary forms, with or without
8 | // modification, are permitted provided that the following conditions are
9 | // met:
10 | // * Redistributions of source code must retain the above copyright
11 | // notice, this list of conditions and the following disclaimer.
12 | // * Redistributions in binary form must reproduce the above
13 | // copyright notice, this list of conditions and the following disclaimer
14 | // in the documentation and/or other materials provided with the
15 | // distribution.
16 | // * Neither the name of Weta Digital nor the names of
17 | // its contributors may be used to endorse or promote products derived
18 | // from this software without specific prior written permission.
19 | //
20 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 | //
32 | ///////////////////////////////////////////////////////////////////////////
33 |
34 |
35 |
36 | #ifndef INCLUDED_IMF_STRINGVECTOR_ATTRIBUTE_H
37 | #define INCLUDED_IMF_STRINGVECTOR_ATTRIBUTE_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class StringVectorAttribute
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "ImfAttribute.h"
46 | #include "ImfNamespace.h"
47 |
48 | #include
49 | #include
50 |
51 |
52 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
53 |
54 | typedef std::vector StringVector;
55 | typedef TypedAttribute StringVectorAttribute;
56 |
57 | template <>
58 | IMF_EXPORT
59 | const char *StringVectorAttribute::staticTypeName ();
60 |
61 | template <>
62 | IMF_EXPORT
63 | void StringVectorAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
64 | int) const;
65 |
66 | template <>
67 | IMF_EXPORT
68 | void StringVectorAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
69 | int, int);
70 |
71 |
72 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
73 |
74 | #endif
75 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfTileDescriptionAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_TILE_DESCRIPTION_ATTRIBUTE_H
37 | #define INCLUDED_IMF_TILE_DESCRIPTION_ATTRIBUTE_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class TileDescriptionAttribute
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "ImfAttribute.h"
46 | #include "ImfTileDescription.h"
47 |
48 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 | typedef TypedAttribute TileDescriptionAttribute;
51 |
52 | template <>
53 | IMF_EXPORT
54 | const char *
55 | TileDescriptionAttribute::staticTypeName ();
56 |
57 | template <>
58 | IMF_EXPORT
59 | void
60 | TileDescriptionAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
61 | int) const;
62 |
63 | template <>
64 | IMF_EXPORT
65 | void
66 | TileDescriptionAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
67 | int, int);
68 |
69 |
70 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
71 |
72 | #endif
73 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfWav.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_WAV_H
38 | #define INCLUDED_IMF_WAV_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // 16-bit Haar Wavelet encoding and decoding
43 | //
44 | //-----------------------------------------------------------------------------
45 | #include "ImfNamespace.h"
46 | #include "ImfExport.h"
47 |
48 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | IMF_EXPORT
52 | void
53 | wav2Encode
54 | (unsigned short *in, // io: values in[y][x] are transformed in place
55 | int nx, // i : x size
56 | int ox, // i : x offset
57 | int ny, // i : y size
58 | int oy, // i : y offset
59 | unsigned short mx); // i : maximum in[x][y] value
60 |
61 | IMF_EXPORT
62 | void
63 | wav2Decode
64 | (unsigned short *in, // io: values in[y][x] are transformed in place
65 | int nx, // i : x size
66 | int ox, // i : x offset
67 | int ny, // i : y size
68 | int oy, // i : y offset
69 | unsigned short mx); // i : maximum in[x][y] value
70 |
71 |
72 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
73 |
74 |
75 |
76 |
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfChromaticitiesAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2003, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_CHROMATICITIES_ATTRIBUTE_H
37 | #define INCLUDED_IMF_CHROMATICITIES_ATTRIBUTE_H
38 |
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class ChromaticitiesAttribute
43 | //
44 | //-----------------------------------------------------------------------------
45 |
46 | #include "ImfAttribute.h"
47 | #include "ImfChromaticities.h"
48 |
49 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
50 |
51 |
52 | typedef TypedAttribute ChromaticitiesAttribute;
53 |
54 | template <>
55 | IMF_EXPORT
56 | const char *ChromaticitiesAttribute::staticTypeName ();
57 |
58 | template <>
59 | IMF_EXPORT
60 | void ChromaticitiesAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
61 | int) const;
62 |
63 | template <>
64 | IMF_EXPORT
65 | void ChromaticitiesAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
66 | int,
67 | int);
68 |
69 |
70 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
71 |
72 |
73 | #endif
74 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfCompression.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_COMPRESSION_H
38 | #define INCLUDED_IMF_COMPRESSION_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // enum Compression
43 | //
44 | //-----------------------------------------------------------------------------
45 | #include "ImfNamespace.h"
46 |
47 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
48 |
49 | enum Compression
50 | {
51 | NO_COMPRESSION = 0, // no compression
52 |
53 | RLE_COMPRESSION = 1, // run length encoding
54 |
55 | ZIPS_COMPRESSION = 2, // zlib compression, one scan line at a time
56 |
57 | ZIP_COMPRESSION = 3, // zlib compression, in blocks of 16 scan lines
58 |
59 | PIZ_COMPRESSION = 4, // piz-based wavelet compression
60 |
61 | PXR24_COMPRESSION = 5, // lossy 24-bit float compression
62 |
63 | B44_COMPRESSION = 6, // lossy 4-by-4 pixel block compression,
64 | // fixed compression rate
65 |
66 | B44A_COMPRESSION = 7, // lossy 4-by-4 pixel block compression,
67 | // flat fields are compressed more
68 |
69 | NUM_COMPRESSION_METHODS // number of different compression methods
70 | };
71 |
72 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
73 |
74 |
75 | #endif
76 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImathExc.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002-2012, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMATHEXC_H
37 | #define INCLUDED_IMATHEXC_H
38 |
39 |
40 | //-----------------------------------------------
41 | //
42 | // Imath library-specific exceptions
43 | //
44 | //-----------------------------------------------
45 |
46 | #include "ImathNamespace.h"
47 | #include "IexBaseExc.h"
48 | #include "ImathExport.h"
49 |
50 | IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
51 |
52 | // Attempt to normalize null vector
53 | DEFINE_EXC_EXP (IMATH_EXPORT, NullVecExc, ::IEX_NAMESPACE::MathExc)
54 |
55 | // Attempt to normalize a point at infinity
56 | DEFINE_EXC_EXP (IMATH_EXPORT, InfPointExc, ::IEX_NAMESPACE::MathExc)
57 |
58 | // Attempt to normalize null quaternion
59 | DEFINE_EXC_EXP (IMATH_EXPORT, NullQuatExc, ::IEX_NAMESPACE::MathExc)
60 |
61 | // Attempt to invert singular matrix
62 | DEFINE_EXC_EXP (IMATH_EXPORT, SingMatrixExc, ::IEX_NAMESPACE::MathExc)
63 |
64 | // Attempt to remove zero scaling from matrix
65 | DEFINE_EXC_EXP (IMATH_EXPORT, ZeroScaleExc, ::IEX_NAMESPACE::MathExc)
66 |
67 | // Attempt to normalize a vector of whose elementsare an integer type
68 | DEFINE_EXC_EXP (IMATH_EXPORT, IntVecNormalizeExc, ::IEX_NAMESPACE::MathExc)
69 |
70 |
71 | IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
72 |
73 | #endif // INCLUDED_IMATHEXC_H
74 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/combinable.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_combinable_H
30 | #define __TBB_combinable_H
31 |
32 | #include "enumerable_thread_specific.h"
33 | #include "cache_aligned_allocator.h"
34 |
35 | namespace tbb {
36 | /** \name combinable
37 | **/
38 | //@{
39 | //! Thread-local storage with optional reduction
40 | /** @ingroup containers */
41 | template
42 | class combinable {
43 | private:
44 | typedef typename tbb::cache_aligned_allocator my_alloc;
45 |
46 | typedef typename tbb::enumerable_thread_specific my_ets_type;
47 | my_ets_type my_ets;
48 |
49 | public:
50 |
51 | combinable() { }
52 |
53 | template
54 | combinable( finit _finit) : my_ets(_finit) { }
55 |
56 | //! destructor
57 | ~combinable() {
58 | }
59 |
60 | combinable(const combinable& other) : my_ets(other.my_ets) { }
61 |
62 | combinable & operator=( const combinable & other) { my_ets = other.my_ets; return *this; }
63 |
64 | void clear() { my_ets.clear(); }
65 |
66 | T& local() { return my_ets.local(); }
67 |
68 | T& local(bool & exists) { return my_ets.local(exists); }
69 |
70 | // combine_func_t has signature T(T,T) or T(const T&, const T&)
71 | template
72 | T combine(combine_func_t f_combine) { return my_ets.combine(f_combine); }
73 |
74 | // combine_func_t has signature void(T) or void(const T&)
75 | template
76 | void combine_each(combine_func_t f_combine) { my_ets.combine_each(f_combine); }
77 |
78 | };
79 | } // namespace tbb
80 | #endif /* __TBB_combinable_H */
81 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfHuf.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_HUF_H
38 | #define INCLUDED_IMF_HUF_H
39 |
40 | #include "ImfExport.h"
41 | #include "ImfNamespace.h"
42 |
43 | //-----------------------------------------------------------------------------
44 | //
45 | // 16-bit Huffman compression and decompression:
46 | //
47 | // hufCompress (r, nr, c)
48 | //
49 | // Compresses the contents of array r (of length nr),
50 | // stores the compressed data in array c, and returns
51 | // the size of the compressed data (in bytes).
52 | //
53 | // To avoid buffer overflows, the size of array c should
54 | // be at least 2 * nr + 65536.
55 | //
56 | // hufUncompress (c, nc, r, nr)
57 | //
58 | // Uncompresses the data in array c (with length nc),
59 | // and stores the results in array r (with length nr).
60 | //
61 | //-----------------------------------------------------------------------------
62 |
63 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
64 |
65 |
66 | IMF_EXPORT
67 | int
68 | hufCompress (const unsigned short raw[/*nRaw*/],
69 | int nRaw,
70 | char compressed[/*2 * nRaw + 65536*/]);
71 |
72 | IMF_EXPORT
73 | void
74 | hufUncompress (const char compressed[/*nCompressed*/],
75 | int nCompressed,
76 | unsigned short raw[/*nRaw*/],
77 | int nRaw);
78 |
79 |
80 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
81 |
82 | #endif
83 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/tbb.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_tbb_H
30 | #define __TBB_tbb_H
31 |
32 | /**
33 | This header bulk-includes declarations or definitions of all the functionality
34 | provided by TBB (save for malloc dependent headers).
35 |
36 | If you use only a few TBB constructs, consider including specific headers only.
37 | Any header listed below can be included independently of others.
38 | **/
39 |
40 | #if TBB_PREVIEW_AGGREGATOR
41 | #include "aggregator.h"
42 | #endif
43 | #include "aligned_space.h"
44 | #include "atomic.h"
45 | #include "blocked_range.h"
46 | #include "blocked_range2d.h"
47 | #include "blocked_range3d.h"
48 | #include "cache_aligned_allocator.h"
49 | #include "combinable.h"
50 | #include "concurrent_unordered_map.h"
51 | #include "concurrent_hash_map.h"
52 | #include "concurrent_queue.h"
53 | #include "concurrent_vector.h"
54 | #include "critical_section.h"
55 | #include "enumerable_thread_specific.h"
56 | #include "mutex.h"
57 | #include "null_mutex.h"
58 | #include "null_rw_mutex.h"
59 | #include "parallel_do.h"
60 | #include "parallel_for.h"
61 | #include "parallel_for_each.h"
62 | #include "parallel_invoke.h"
63 | #include "parallel_reduce.h"
64 | #include "parallel_scan.h"
65 | #include "parallel_sort.h"
66 | #include "partitioner.h"
67 | #include "pipeline.h"
68 | #include "queuing_mutex.h"
69 | #include "queuing_rw_mutex.h"
70 | #include "reader_writer_lock.h"
71 | #include "concurrent_priority_queue.h"
72 | #include "recursive_mutex.h"
73 | #include "spin_mutex.h"
74 | #include "spin_rw_mutex.h"
75 | #include "task.h"
76 | #include "task_group.h"
77 | #include "task_scheduler_init.h"
78 | #include "task_scheduler_observer.h"
79 | #include "tbb_allocator.h"
80 | #include "tbb_exception.h"
81 | #include "tbb_thread.h"
82 | #include "tick_count.h"
83 |
84 | #endif /* __TBB_tbb_H */
85 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/parallel_for_each.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_parallel_for_each_H
30 | #define __TBB_parallel_for_each_H
31 |
32 | #include "parallel_do.h"
33 |
34 | namespace tbb {
35 |
36 | //! @cond INTERNAL
37 | namespace internal {
38 | // The class calls user function in operator()
39 | template
40 | class parallel_for_each_body : internal::no_assign {
41 | const Function &my_func;
42 | public:
43 | parallel_for_each_body(const Function &_func) : my_func(_func) {}
44 | parallel_for_each_body(const parallel_for_each_body &_caller) : my_func(_caller.my_func) {}
45 |
46 | void operator() ( typename std::iterator_traits::reference value ) const {
47 | my_func(value);
48 | }
49 | };
50 | } // namespace internal
51 | //! @endcond
52 |
53 | /** \name parallel_for_each
54 | **/
55 | //@{
56 | //! Calls function f for all items from [first, last) interval using user-supplied context
57 | /** @ingroup algorithms */
58 | #if __TBB_TASK_GROUP_CONTEXT
59 | template
60 | void parallel_for_each(InputIterator first, InputIterator last, const Function& f, task_group_context &context) {
61 | internal::parallel_for_each_body body(f);
62 | tbb::parallel_do (first, last, body, context);
63 | }
64 | #endif /* __TBB_TASK_GROUP_CONTEXT */
65 |
66 | //! Uses default context
67 | template
68 | void parallel_for_each(InputIterator first, InputIterator last, const Function& f) {
69 | internal::parallel_for_each_body body(f);
70 | tbb::parallel_do (first, last, body);
71 | }
72 |
73 | //@}
74 |
75 | } // namespace
76 |
77 | #endif /* __TBB_parallel_for_each_H */
78 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/machine/linux_common.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_machine_H
30 | #error Do not #include this internal file directly; use public TBB headers instead.
31 | #endif
32 |
33 | #include
34 | #define __TBB_Yield() sched_yield()
35 |
36 | #include
37 | /* Futex definitions */
38 | #include
39 |
40 | #if defined(SYS_futex)
41 |
42 | #define __TBB_USE_FUTEX 1
43 | #include
44 | #include
45 | // Unfortunately, some versions of Linux do not have a header that defines FUTEX_WAIT and FUTEX_WAKE.
46 |
47 | #ifdef FUTEX_WAIT
48 | #define __TBB_FUTEX_WAIT FUTEX_WAIT
49 | #else
50 | #define __TBB_FUTEX_WAIT 0
51 | #endif
52 |
53 | #ifdef FUTEX_WAKE
54 | #define __TBB_FUTEX_WAKE FUTEX_WAKE
55 | #else
56 | #define __TBB_FUTEX_WAKE 1
57 | #endif
58 |
59 | #ifndef __TBB_ASSERT
60 | #error machine specific headers must be included after tbb_stddef.h
61 | #endif
62 |
63 | namespace tbb {
64 |
65 | namespace internal {
66 |
67 | inline int futex_wait( void *futex, int comparand ) {
68 | int r = syscall( SYS_futex,futex,__TBB_FUTEX_WAIT,comparand,NULL,NULL,0 );
69 | #if TBB_USE_ASSERT
70 | int e = errno;
71 | __TBB_ASSERT( r==0||r==EWOULDBLOCK||(r==-1&&(e==EAGAIN||e==EINTR)), "futex_wait failed." );
72 | #endif /* TBB_USE_ASSERT */
73 | return r;
74 | }
75 |
76 | inline int futex_wakeup_one( void *futex ) {
77 | int r = ::syscall( SYS_futex,futex,__TBB_FUTEX_WAKE,1,NULL,NULL,0 );
78 | __TBB_ASSERT( r==0||r==1, "futex_wakeup_one: more than one thread woken up?" );
79 | return r;
80 | }
81 |
82 | inline int futex_wakeup_all( void *futex ) {
83 | int r = ::syscall( SYS_futex,futex,__TBB_FUTEX_WAKE,INT_MAX,NULL,NULL,0 );
84 | __TBB_ASSERT( r>=0, "futex_wakeup_all: error in waking up threads" );
85 | return r;
86 | }
87 |
88 | } /* namespace internal */
89 |
90 | } /* namespace tbb */
91 |
92 | #endif /* SYS_futex */
93 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfOutputPart.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 | #ifndef IMFOUTPUTPART_H_
36 | #define IMFOUTPUTPART_H_
37 |
38 | #include "ImfMultiPartOutputFile.h"
39 | #include "ImfOutputFile.h"
40 | #include "ImfForward.h"
41 | #include "ImfNamespace.h"
42 | #include "ImfExport.h"
43 |
44 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
45 |
46 |
47 | //---------------------------------------------------------------------
48 | // class OutputPart:
49 | //
50 | // Same interface as OutputFile. Please refer to OutputFile.
51 | //---------------------------------------------------------------------
52 |
53 | class IMF_EXPORT OutputPart
54 | {
55 | public:
56 | OutputPart(MultiPartOutputFile& multiPartFile, int partNumber);
57 |
58 | const char * fileName () const;
59 | const Header & header () const;
60 | void setFrameBuffer (const FrameBuffer &frameBuffer);
61 | const FrameBuffer & frameBuffer () const;
62 | void writePixels (int numScanLines = 1);
63 | int currentScanLine () const;
64 | void copyPixels (InputFile &in);
65 | void copyPixels (InputPart &in);
66 |
67 | void updatePreviewImage (const PreviewRgba newPixels[]);
68 | void breakScanLine (int y, int offset, int length, char c);
69 |
70 | private:
71 | OutputFile* file;
72 | };
73 |
74 |
75 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
76 |
77 | #endif /* IMFOUTPUTPART_H_ */
78 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/viewer/Viewer.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_VIEWER_VIEWER_HAS_BEEN_INCLUDED
32 | #define OPENVDB_VIEWER_VIEWER_HAS_BEEN_INCLUDED
33 |
34 | #include
35 | #include
36 |
37 |
38 | namespace openvdb_viewer {
39 |
40 | class Viewer;
41 |
42 |
43 | /// @brief Initialize and return a viewer.
44 | /// @param progName the name of the calling program (for use in info displays)
45 | /// @param verbose if true, print diagnostic info to stdout
46 | /// @note Currently, the viewer window is a singleton (but that might change
47 | /// in the future), so although this function returns a new Viewer instance
48 | /// on each call, all instances are associated with the same window.
49 | /// Typically, then, this function should be called only once.
50 | Viewer init(const std::string& progName, bool verbose = false);
51 |
52 |
53 | /// Manager for a window that displays OpenVDB grids
54 | class Viewer
55 | {
56 | public:
57 | /// Resize the window associated with this viewer and display the given grids.
58 | void view(const openvdb::GridCPtrVec&, int width = 900, int height = 800);
59 |
60 | /// When multiple grids are being viewed, advance to the next grid.
61 | void showNextGrid();
62 | /// When multiple grids are being viewed, return to the previous grid.
63 | void showPrevGrid();
64 |
65 | private:
66 | friend Viewer init(const std::string&, bool);
67 | Viewer();
68 | };
69 |
70 | } // namespace openvdb_viewer
71 |
72 | #endif // OPENVDB_VIEWER_VIEWER_HAS_BEEN_INCLUDED
73 |
74 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
75 | // All rights reserved. This software is distributed under the
76 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
77 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/internal/_tbb_windef.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_tbb_windef_H
30 | #error Do not #include this internal file directly; use public TBB headers instead.
31 | #endif /* __TBB_tbb_windef_H */
32 |
33 | // Check that the target Windows version has all API calls requried for TBB.
34 | // Do not increase the version in condition beyond 0x0500 without prior discussion!
35 | #if defined(_WIN32_WINNT) && _WIN32_WINNT<0x0501
36 | #error TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater.
37 | #endif
38 |
39 | #if !defined(_MT)
40 | #error TBB requires linkage with multithreaded C/C++ runtime library. \
41 | Choose multithreaded DLL runtime in project settings, or use /MD[d] compiler switch.
42 | #endif
43 |
44 | // Workaround for the problem with MVSC headers failing to define namespace std
45 | namespace std {
46 | using ::size_t; using ::ptrdiff_t;
47 | }
48 |
49 | #define __TBB_STRING_AUX(x) #x
50 | #define __TBB_STRING(x) __TBB_STRING_AUX(x)
51 |
52 | // Default setting of TBB_USE_DEBUG
53 | #ifdef TBB_USE_DEBUG
54 | # if TBB_USE_DEBUG
55 | # if !defined(_DEBUG)
56 | # pragma message(__FILE__ "(" __TBB_STRING(__LINE__) ") : Warning: Recommend using /MDd if compiling with TBB_USE_DEBUG!=0")
57 | # endif
58 | # else
59 | # if defined(_DEBUG)
60 | # pragma message(__FILE__ "(" __TBB_STRING(__LINE__) ") : Warning: Recommend using /MD if compiling with TBB_USE_DEBUG==0")
61 | # endif
62 | # endif
63 | #endif
64 |
65 | #if (__TBB_BUILD || __TBBMALLOC_BUILD) && !defined(__TBB_NO_IMPLICIT_LINKAGE)
66 | #define __TBB_NO_IMPLICIT_LINKAGE 1
67 | #endif
68 |
69 | #if _MSC_VER
70 | #if !__TBB_NO_IMPLICIT_LINKAGE
71 | #ifdef __TBB_LIB_NAME
72 | #pragma comment(lib, __TBB_STRING(__TBB_LIB_NAME))
73 | #else
74 | #ifdef _DEBUG
75 | #pragma comment(lib, "tbb_debug.lib")
76 | #else
77 | #pragma comment(lib, "tbb.lib")
78 | #endif
79 | #endif
80 | #endif
81 | #endif
82 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfBoxAttribute.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 |
37 | #ifndef INCLUDED_IMF_BOX_ATTRIBUTE_H
38 | #define INCLUDED_IMF_BOX_ATTRIBUTE_H
39 |
40 | //-----------------------------------------------------------------------------
41 | //
42 | // class Box2iAttribute
43 | // class Box2fAttribute
44 | //
45 | //-----------------------------------------------------------------------------
46 |
47 | #include "ImfForward.h"
48 | #include "ImfExport.h"
49 | #include "ImfAttribute.h"
50 | #include "ImathBox.h"
51 | #include "ImfNamespace.h"
52 |
53 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
54 |
55 |
56 | typedef TypedAttribute Box2iAttribute;
57 |
58 | template <>
59 | IMF_EXPORT
60 | const char *Box2iAttribute::staticTypeName ();
61 | template <>
62 | IMF_EXPORT
63 | void Box2iAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
64 | int) const;
65 | template <>
66 | IMF_EXPORT
67 | void Box2iAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
68 | int, int);
69 |
70 |
71 | typedef TypedAttribute Box2fAttribute;
72 | template <>
73 | IMF_EXPORT
74 | const char *Box2fAttribute::staticTypeName ();
75 | template <>
76 | IMF_EXPORT
77 | void Box2fAttribute::writeValueTo (OPENEXR_IMF_INTERNAL_NAMESPACE::OStream &,
78 | int) const;
79 | template <>
80 | IMF_EXPORT
81 | void Box2fAttribute::readValueFrom (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &,
82 | int, int);
83 |
84 |
85 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
86 |
87 | #endif
88 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/viewer/Camera.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 | //
31 | /// @file Camera.h
32 | /// @brief Basic GL camera class
33 |
34 | #ifndef OPENVDB_VIEWER_CAMERA_HAS_BEEN_INCLUDED
35 | #define OPENVDB_VIEWER_CAMERA_HAS_BEEN_INCLUDED
36 |
37 | #include
38 |
39 |
40 | namespace openvdb_viewer {
41 |
42 | class Camera
43 | {
44 | public:
45 | Camera();
46 |
47 | void aim();
48 |
49 | void lookAt(const openvdb::Vec3d& p, double dist = 1.0);
50 | void lookAtTarget();
51 |
52 | void setTarget(const openvdb::Vec3d& p, double dist = 1.0);
53 |
54 | void setNearFarPlanes(double n, double f) { mNearPlane = n; mFarPlane = f; }
55 | void setFieldOfView(double degrees) { mFov = degrees; }
56 | void setSpeed(double zoomSpeed, double strafeSpeed, double tumblingSpeed);
57 |
58 | void keyCallback(int key, int action);
59 | void mouseButtonCallback(int button, int action);
60 | void mousePosCallback(int x, int y);
61 | void mouseWheelCallback(int pos, int prevPos);
62 |
63 | bool needsDisplay() const { return mNeedsDisplay; }
64 |
65 | private:
66 | // Camera parameters
67 | double mFov, mNearPlane, mFarPlane;
68 | openvdb::Vec3d mTarget, mLookAt, mUp, mForward, mRight, mEye;
69 | double mTumblingSpeed, mZoomSpeed, mStrafeSpeed;
70 | double mHead, mPitch, mTargetDistance, mDistance;
71 |
72 | // Input states
73 | bool mMouseDown, mStartTumbling, mZoomMode, mChanged, mNeedsDisplay;
74 | double mMouseXPos, mMouseYPos;
75 | int mWheelPos;
76 |
77 | static const double sDeg2rad;
78 | }; // class Camera
79 |
80 | } // namespace openvdb_viewer
81 |
82 | #endif // OPENVDB_VIEWER_CAMERA_HAS_BEEN_INCLUDED
83 |
84 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
85 | // All rights reserved. This software is distributed under the
86 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
87 |
--------------------------------------------------------------------------------
/libs/OpenVDB/openvdb/viewer/ClipBox.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
4 | //
5 | // All rights reserved. This software is distributed under the
6 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
7 | //
8 | // Redistributions of source code must retain the above copyright
9 | // and license notice and the following restrictions and disclaimer.
10 | //
11 | // * Neither the name of DreamWorks Animation nor the names of
12 | // its contributors may be used to endorse or promote products derived
13 | // from this software without specific prior written permission.
14 | //
15 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
20 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 | // IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
27 | // LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
28 | //
29 | ///////////////////////////////////////////////////////////////////////////
30 |
31 | #ifndef OPENVDB_VIEWER_CLIPBOX_HAS_BEEN_INCLUDED
32 | #define OPENVDB_VIEWER_CLIPBOX_HAS_BEEN_INCLUDED
33 |
34 | #include
35 |
36 | #if defined(__APPLE__) || defined(MACOSX)
37 | #include
38 | #include
39 | #else
40 | #include
41 | #include
42 | #endif
43 |
44 |
45 | namespace openvdb_viewer {
46 |
47 | class ClipBox
48 | {
49 | public:
50 | ClipBox();
51 |
52 | void enableClipping() const;
53 | void disableClipping() const;
54 |
55 | void setBBox(const openvdb::BBoxd&);
56 | void setStepSize(const openvdb::Vec3d& s) { mStepSize = s; }
57 |
58 | void render();
59 |
60 | void update(double steps);
61 | void reset();
62 |
63 | bool isActive() const { return (mXIsActive || mYIsActive ||mZIsActive); }
64 |
65 | bool& activateXPlanes() { return mXIsActive; }
66 | bool& activateYPlanes() { return mYIsActive; }
67 | bool& activateZPlanes() { return mZIsActive; }
68 |
69 | bool& shiftIsDown() { return mShiftIsDown; }
70 | bool& ctrlIsDown() { return mCtrlIsDown; }
71 |
72 | bool mouseButtonCallback(int button, int action);
73 | bool mousePosCallback(int x, int y);
74 |
75 | private:
76 | void update() const;
77 |
78 | openvdb::Vec3d mStepSize;
79 | openvdb::BBoxd mBBox;
80 | bool mXIsActive, mYIsActive, mZIsActive, mShiftIsDown, mCtrlIsDown;
81 | GLdouble mFrontPlane[4], mBackPlane[4], mLeftPlane[4], mRightPlane[4],
82 | mTopPlane[4], mBottomPlane[4];
83 | double mMouseXPos, mMouseYPos;
84 | }; // class ClipBox
85 |
86 | } // namespace openvdb_viewer
87 |
88 | #endif // OPENVDB_VIEWER_CLIPBOX_HAS_BEEN_INCLUDED
89 |
90 | // Copyright (c) 2012-2013 DreamWorks Animation LLC
91 | // All rights reserved. This software is distributed under the
92 | // Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
93 |
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/xcshareddata/xcschemes/OpenVDB_example Debug.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
69 |
70 |
76 |
77 |
78 |
79 |
81 |
82 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/OpenVDB_example/OpenVDB_example.xcodeproj/xcshareddata/xcschemes/OpenVDB_example Release.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
69 |
70 |
76 |
77 |
78 |
79 |
81 |
82 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfRational.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2006, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_RATIONAL_H
37 | #define INCLUDED_IMF_RATIONAL_H
38 |
39 | #include "ImfExport.h"
40 | #include "ImfNamespace.h"
41 |
42 | //-----------------------------------------------------------------------------
43 | //
44 | // Rational numbers
45 | //
46 | // A rational number is represented as pair of integers, n and d.
47 | // The value of of the rational number is
48 | //
49 | // n/d for d > 0
50 | // positive infinity for n > 0, d == 0
51 | // negative infinity for n < 0, d == 0
52 | // not a number (NaN) for n == 0, d == 0
53 | //
54 | //-----------------------------------------------------------------------------
55 |
56 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
57 |
58 |
59 | class IMF_EXPORT Rational
60 | {
61 | public:
62 |
63 | int n; // numerator
64 | unsigned int d; // denominator
65 |
66 |
67 | //----------------------------------------
68 | // Default constructor, sets value to zero
69 | //----------------------------------------
70 |
71 | Rational (): n (0), d (1) {}
72 |
73 |
74 | //-------------------------------------
75 | // Constructor, explicitly sets n and d
76 | //-------------------------------------
77 |
78 | Rational (int n, int d): n (n), d (d) {}
79 |
80 |
81 | //----------------------------
82 | // Constructor, approximates x
83 | //----------------------------
84 |
85 | explicit Rational (double x);
86 |
87 |
88 | //---------------------------------
89 | // Approximate conversion to double
90 | //---------------------------------
91 |
92 | operator double () const {return double (n) / double (d);}
93 | };
94 |
95 |
96 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
97 |
98 | #endif
99 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfRgba.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_RGBA_H
37 | #define INCLUDED_IMF_RGBA_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class Rgba
42 | //
43 | //-----------------------------------------------------------------------------
44 |
45 | #include "half.h"
46 | #include "ImfNamespace.h"
47 |
48 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | //
52 | // RGBA pixel
53 | //
54 |
55 | struct Rgba
56 | {
57 | half r;
58 | half g;
59 | half b;
60 | half a;
61 |
62 | Rgba () {}
63 | Rgba (half r, half g, half b, half a = 1.f): r (r), g (g), b (b), a (a) {}
64 |
65 | Rgba & operator = (const Rgba &other)
66 | {
67 | r = other.r;
68 | g = other.g;
69 | b = other.b;
70 | a = other.a;
71 |
72 | return *this;
73 | }
74 | };
75 |
76 |
77 | //
78 | // Channels in an RGBA file
79 | //
80 |
81 | enum RgbaChannels
82 | {
83 | WRITE_R = 0x01, // Red
84 | WRITE_G = 0x02, // Green
85 | WRITE_B = 0x04, // Blue
86 | WRITE_A = 0x08, // Alpha
87 |
88 | WRITE_Y = 0x10, // Luminance, for black-and-white images,
89 | // or in combination with chroma
90 |
91 | WRITE_C = 0x20, // Chroma (two subsampled channels, RY and BY,
92 | // supported only for scanline-based files)
93 |
94 | WRITE_RGB = 0x07, // Red, green, blue
95 | WRITE_RGBA = 0x0f, // Red, green, blue, alpha
96 |
97 | WRITE_YC = 0x30, // Luminance, chroma
98 | WRITE_YA = 0x18, // Luminance, alpha
99 | WRITE_YCA = 0x38 // Luminance, chroma, alpha
100 | };
101 |
102 |
103 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
104 |
105 |
106 |
107 |
108 |
109 | #endif
110 |
--------------------------------------------------------------------------------
/src/ofxOpenVDB.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include "ofxOpenVDBRayIntersector64.h"
9 |
10 | using namespace openvdb;
11 |
12 |
13 | namespace ofxOpenVDB {
14 |
15 | template
16 | void drawCube(const Grid& grid, const Coord &minCoord, const Coord &maxCoord) {
17 | Vec3d world000 = grid.indexToWorld(minCoord);
18 | Vec3d world100 = grid.indexToWorld(Coord(maxCoord[0]+1, minCoord[1], minCoord[2]));
19 | Vec3d world010 = grid.indexToWorld(Coord(minCoord[0], maxCoord[1]+1, minCoord[2]));
20 | Vec3d world110 = grid.indexToWorld(Coord(maxCoord[0]+1, maxCoord[1]+1, minCoord[2]));
21 | Vec3d world001 = grid.indexToWorld(Coord(minCoord[0], minCoord[1], maxCoord[2]+1));
22 | Vec3d world101 = grid.indexToWorld(Coord(maxCoord[0]+1, minCoord[1], maxCoord[2]+1));
23 | Vec3d world011 = grid.indexToWorld(Coord(minCoord[0], maxCoord[1]+1, maxCoord[2]+1));
24 | Vec3d world111 = grid.indexToWorld(maxCoord+Coord(1, 1, 1));
25 |
26 | glVertex3dv(world000.asPointer());
27 | glVertex3dv(world100.asPointer());
28 |
29 | glVertex3dv(world100.asPointer());
30 | glVertex3dv(world110.asPointer());
31 |
32 | glVertex3dv(world110.asPointer());
33 | glVertex3dv(world010.asPointer());
34 |
35 | glVertex3dv(world010.asPointer());
36 | glVertex3dv(world000.asPointer());
37 |
38 |
39 | glVertex3dv(world001.asPointer());
40 | glVertex3dv(world101.asPointer());
41 |
42 | glVertex3dv(world101.asPointer());
43 | glVertex3dv(world111.asPointer());
44 |
45 | glVertex3dv(world111.asPointer());
46 | glVertex3dv(world011.asPointer());
47 |
48 | glVertex3dv(world011.asPointer());
49 | glVertex3dv(world001.asPointer());
50 |
51 |
52 | glVertex3dv(world000.asPointer());
53 | glVertex3dv(world001.asPointer());
54 |
55 | glVertex3dv(world100.asPointer());
56 | glVertex3dv(world101.asPointer());
57 |
58 | glVertex3dv(world110.asPointer());
59 | glVertex3dv(world111.asPointer());
60 |
61 | glVertex3dv(world010.asPointer());
62 | glVertex3dv(world011.asPointer());
63 | }
64 |
65 | template
66 | void drawVoxel(const Grid& grid, Coord c) {
67 | const typename Grid::TreeType::LeafNodeType *node = grid.getConstAccessor().probeConstLeaf(c);
68 | if(node) {
69 | glBegin(GL_LINES);
70 | drawCube(grid, c, c);
71 | glEnd();
72 | }
73 | }
74 |
75 | template
76 | void drawGridHiearchy(const Grid& grid) {
77 | static ofVec4f colors[] = {
78 | ofVec4f(0., 142./255., 87./255., 0.7),
79 | ofVec4f(1., 144./255., 54./255., 0.7),
80 | ofVec4f(0., 152./255., 246./255., 0.7),
81 | ofVec4f(123./255., 8./255., 7./255., 0.6)
82 | };
83 |
84 | glBegin(GL_LINES);
85 | for(typename Grid::TreeType::NodeCIter iter = grid.tree().cbeginNode(); iter.test(); ++iter) {
86 | CoordBBox bbox;
87 | if(!iter.getBoundingBox(bbox)) continue;
88 |
89 | Index depth = iter.getDepth();
90 | glColor4fv(colors[depth].getPtr());
91 |
92 | const Coord &minCoord = bbox.min();
93 | const Coord &maxCoord = bbox.max();
94 | drawCube(grid, minCoord, maxCoord);
95 | }
96 |
97 | glColor4f(0, 0, 0, 1);
98 | for(typename Grid::TreeType::ValueOnCIter iter = grid.tree().cbeginValueOn(); iter.test(); ++iter) {
99 | CoordBBox bbox;
100 | if(!iter.getBoundingBox(bbox)) continue;
101 |
102 | const Coord &minCoord = bbox.min();
103 | const Coord &maxCoord = bbox.max();
104 | drawCube(grid, minCoord, maxCoord);
105 | }
106 | glEnd();
107 | }
108 |
109 | }
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/IexMathFpu.h:
--------------------------------------------------------------------------------
1 | #ifndef INCLUDED_IEXMATHFPU_H
2 | #define INCLUDED_IEXMATHFPU_H
3 |
4 | ///////////////////////////////////////////////////////////////////////////
5 | //
6 | // Copyright (c) 1997, Industrial Light & Magic, a division of Lucas
7 | // Digital Ltd. LLC
8 | //
9 | // All rights reserved.
10 | //
11 | // Redistribution and use in source and binary forms, with or without
12 | // modification, are permitted provided that the following conditions are
13 | // met:
14 | // * Redistributions of source code must retain the above copyright
15 | // notice, this list of conditions and the following disclaimer.
16 | // * Redistributions in binary form must reproduce the above
17 | // copyright notice, this list of conditions and the following disclaimer
18 | // in the documentation and/or other materials provided with the
19 | // distribution.
20 | // * Neither the name of Industrial Light & Magic nor the names of
21 | // its contributors may be used to endorse or promote products derived
22 | // from this software without specific prior written permission.
23 | //
24 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 | //
36 | ///////////////////////////////////////////////////////////////////////////
37 |
38 |
39 | //------------------------------------------------------------------------
40 | //
41 | // Functions to control floating point exceptions.
42 | //
43 | //------------------------------------------------------------------------
44 |
45 | #include "IexMathIeeeExc.h"
46 | #include "IexNamespace.h"
47 |
48 | IEX_INTERNAL_NAMESPACE_HEADER_ENTER
49 |
50 |
51 | //-----------------------------------------
52 | // setFpExceptions() defines which floating
53 | // point exceptions cause SIGFPE signals.
54 | //-----------------------------------------
55 |
56 | void setFpExceptions (int when = (IEEE_OVERFLOW | IEEE_DIVZERO | IEEE_INVALID));
57 |
58 |
59 | //----------------------------------------
60 | // fpExceptions() tells you which floating
61 | // point exceptions cause SIGFPE signals.
62 | //----------------------------------------
63 |
64 | int fpExceptions ();
65 |
66 |
67 | //------------------------------------------
68 | // setFpExceptionHandler() defines a handler
69 | // that will be called when SIGFPE occurs.
70 | //------------------------------------------
71 |
72 | extern "C" typedef void (* FpExceptionHandler) (int type, const char explanation[]);
73 |
74 | void setFpExceptionHandler (FpExceptionHandler handler);
75 |
76 | // -----------------------------------------
77 | // handleExceptionsSetInRegisters() examines
78 | // the exception registers and calls the
79 | // floating point exception handler if the
80 | // bits are set. This function exists to
81 | // allow trapping of exception register states
82 | // that can get set though no SIGFPE occurs.
83 | // -----------------------------------------
84 |
85 | void handleExceptionsSetInRegisters();
86 |
87 |
88 | IEX_INTERNAL_NAMESPACE_HEADER_EXIT
89 |
90 |
91 | #endif
92 |
--------------------------------------------------------------------------------
/libs/OpenEXR/OpenEXR/ImfTileDescription.h:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright (c) 2004, Industrial Light & Magic, a division of Lucas
4 | // Digital Ltd. LLC
5 | //
6 | // All rights reserved.
7 | //
8 | // Redistribution and use in source and binary forms, with or without
9 | // modification, are permitted provided that the following conditions are
10 | // met:
11 | // * Redistributions of source code must retain the above copyright
12 | // notice, this list of conditions and the following disclaimer.
13 | // * Redistributions in binary form must reproduce the above
14 | // copyright notice, this list of conditions and the following disclaimer
15 | // in the documentation and/or other materials provided with the
16 | // distribution.
17 | // * Neither the name of Industrial Light & Magic nor the names of
18 | // its contributors may be used to endorse or promote products derived
19 | // from this software without specific prior written permission.
20 | //
21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | //
33 | ///////////////////////////////////////////////////////////////////////////
34 |
35 |
36 | #ifndef INCLUDED_IMF_TILE_DESCRIPTION_H
37 | #define INCLUDED_IMF_TILE_DESCRIPTION_H
38 |
39 | //-----------------------------------------------------------------------------
40 | //
41 | // class TileDescription and enum LevelMode
42 | //
43 | //-----------------------------------------------------------------------------
44 | #include "ImfNamespace.h"
45 |
46 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
47 |
48 |
49 | enum LevelMode
50 | {
51 | ONE_LEVEL = 0,
52 | MIPMAP_LEVELS = 1,
53 | RIPMAP_LEVELS = 2,
54 |
55 | NUM_LEVELMODES // number of different level modes
56 | };
57 |
58 |
59 | enum LevelRoundingMode
60 | {
61 | ROUND_DOWN = 0,
62 | ROUND_UP = 1,
63 |
64 | NUM_ROUNDINGMODES // number of different rounding modes
65 | };
66 |
67 |
68 | class TileDescription
69 | {
70 | public:
71 |
72 | unsigned int xSize; // size of a tile in the x dimension
73 | unsigned int ySize; // size of a tile in the y dimension
74 | LevelMode mode;
75 | LevelRoundingMode roundingMode;
76 |
77 | TileDescription (unsigned int xs = 32,
78 | unsigned int ys = 32,
79 | LevelMode m = ONE_LEVEL,
80 | LevelRoundingMode r = ROUND_DOWN)
81 | :
82 | xSize (xs),
83 | ySize (ys),
84 | mode (m),
85 | roundingMode (r)
86 | {
87 | // empty
88 | }
89 |
90 | bool
91 | operator == (const TileDescription &other) const
92 | {
93 | return xSize == other.xSize &&
94 | ySize == other.ySize &&
95 | mode == other.mode &&
96 | roundingMode == other.roundingMode;
97 | }
98 | };
99 |
100 |
101 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
102 |
103 |
104 |
105 |
106 |
107 | #endif
108 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/machine/windows_api.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | #ifndef __TBB_machine_windows_api_H
30 | #define __TBB_machine_windows_api_H
31 |
32 | #if _WIN32 || _WIN64
33 |
34 | #if _XBOX
35 |
36 | #define NONET
37 | #define NOD3D
38 | #include
39 |
40 | #else // Assume "usual" Windows
41 |
42 | #include
43 |
44 | #endif // _XBOX
45 |
46 | #if _WIN32_WINNT < 0x0600
47 | // The following Windows API function is declared explicitly;
48 | // otherwise it fails to compile by VS2005.
49 | #if !defined(WINBASEAPI) || (_WIN32_WINNT < 0x0501 && _MSC_VER == 1400)
50 | #define __TBB_WINBASEAPI extern "C"
51 | #else
52 | #define __TBB_WINBASEAPI WINBASEAPI
53 | #endif
54 | __TBB_WINBASEAPI BOOL WINAPI TryEnterCriticalSection( LPCRITICAL_SECTION );
55 | __TBB_WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount( LPCRITICAL_SECTION, DWORD );
56 | // Overloading WINBASEAPI macro and using local functions missing in Windows XP/2003
57 | #define InitializeCriticalSectionEx inlineInitializeCriticalSectionEx
58 | #define CreateSemaphoreEx inlineCreateSemaphoreEx
59 | #define CreateEventEx inlineCreateEventEx
60 | inline BOOL WINAPI inlineInitializeCriticalSectionEx( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD )
61 | {
62 | return InitializeCriticalSectionAndSpinCount( lpCriticalSection, dwSpinCount );
63 | }
64 | inline HANDLE WINAPI inlineCreateSemaphoreEx( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName, DWORD, DWORD )
65 | {
66 | return CreateSemaphore( lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName );
67 | }
68 | inline HANDLE WINAPI inlineCreateEventEx( LPSECURITY_ATTRIBUTES lpEventAttributes, LPCTSTR lpName, DWORD dwFlags, DWORD )
69 | {
70 | BOOL manual_reset = dwFlags&0x00000001 ? TRUE : FALSE; // CREATE_EVENT_MANUAL_RESET
71 | BOOL initial_set = dwFlags&0x00000002 ? TRUE : FALSE; // CREATE_EVENT_INITIAL_SET
72 | return CreateEvent( lpEventAttributes, manual_reset, initial_set, lpName );
73 | }
74 | #endif
75 |
76 | #if defined(RTL_SRWLOCK_INIT)
77 | #ifndef __TBB_USE_SRWLOCK
78 | // TODO: turn it on when bug 1952 will be fixed
79 | #define __TBB_USE_SRWLOCK 0
80 | #endif
81 | #endif
82 |
83 | #else
84 | #error tbb/machine/windows_api.h should only be used for Windows based platforms
85 | #endif // _WIN32 || _WIN64
86 |
87 | #endif // __TBB_machine_windows_api_H
88 |
--------------------------------------------------------------------------------
/libs/tbb/tbb/machine/ibm_aix51.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2005-2014 Intel Corporation. All Rights Reserved.
3 |
4 | This file is part of Threading Building Blocks.
5 |
6 | Threading Building Blocks is free software; you can redistribute it
7 | and/or modify it under the terms of the GNU General Public License
8 | version 2 as published by the Free Software Foundation.
9 |
10 | Threading Building Blocks is distributed in the hope that it will be
11 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with Threading Building Blocks; if not, write to the Free Software
17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | As a special exception, you may use this file as part of a free software
20 | library without restriction. Specifically, if other files instantiate
21 | templates or use macros or inline functions from this file, or you compile
22 | this file and link it with other files to produce an executable, this
23 | file does not by itself cause the resulting executable to be covered by
24 | the GNU General Public License. This exception does not however
25 | invalidate any other reasons why the executable file might be covered by
26 | the GNU General Public License.
27 | */
28 |
29 | // TODO: revise by comparing with mac_ppc.h
30 |
31 | #if !defined(__TBB_machine_H) || defined(__TBB_machine_ibm_aix51_H)
32 | #error Do not #include this internal file directly; use public TBB headers instead.
33 | #endif
34 |
35 | #define __TBB_machine_ibm_aix51_H
36 |
37 | #define __TBB_WORDSIZE 8
38 | #define __TBB_ENDIANNESS __TBB_ENDIAN_BIG // assumption based on operating system
39 |
40 | #include
41 | #include
42 | #include
43 |
44 | extern "C" {
45 | int32_t __TBB_machine_cas_32 (volatile void* ptr, int32_t value, int32_t comparand);
46 | int64_t __TBB_machine_cas_64 (volatile void* ptr, int64_t value, int64_t comparand);
47 | void __TBB_machine_flush ();
48 | void __TBB_machine_lwsync ();
49 | void __TBB_machine_isync ();
50 | }
51 |
52 | // Mapping of old entry point names retained for the sake of backward binary compatibility
53 | #define __TBB_machine_cmpswp4 __TBB_machine_cas_32
54 | #define __TBB_machine_cmpswp8 __TBB_machine_cas_64
55 |
56 | #define __TBB_Yield() sched_yield()
57 |
58 | #define __TBB_USE_GENERIC_PART_WORD_CAS 1
59 | #define __TBB_USE_GENERIC_FETCH_ADD 1
60 | #define __TBB_USE_GENERIC_FETCH_STORE 1
61 | #define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE 1
62 | #define __TBB_USE_GENERIC_RELAXED_LOAD_STORE 1
63 | #define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1
64 |
65 | #if __GNUC__
66 | #define __TBB_control_consistency_helper() __asm__ __volatile__( "isync": : :"memory")
67 | #define __TBB_acquire_consistency_helper() __asm__ __volatile__("lwsync": : :"memory")
68 | #define __TBB_release_consistency_helper() __asm__ __volatile__("lwsync": : :"memory")
69 | #define __TBB_full_memory_fence() __asm__ __volatile__( "sync": : :"memory")
70 | #else
71 | // IBM C++ Compiler does not support inline assembly
72 | // TODO: Since XL 9.0 or earlier GCC syntax is supported. Replace with more
73 | // lightweight implementation (like in mac_ppc.h)
74 | #define __TBB_control_consistency_helper() __TBB_machine_isync ()
75 | #define __TBB_acquire_consistency_helper() __TBB_machine_lwsync ()
76 | #define __TBB_release_consistency_helper() __TBB_machine_lwsync ()
77 | #define __TBB_full_memory_fence() __TBB_machine_flush ()
78 | #endif
79 |
--------------------------------------------------------------------------------