├── 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 | --------------------------------------------------------------------------------