[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61629] trunk/lib/win64_vc12/ openvdb: MSVC 2013 windows x64 (vc120) OpenVDB 3.1.0

Martijn Berger martijn.berger at gmail.com
Wed Feb 10 13:49:34 CET 2016


Revision: 61629
          https://developer.blender.org/rBL61629
Author:   juicyfruit
Date:     2016-02-10 12:49:34 +0000 (Wed, 10 Feb 2016)
Log Message:
-----------
MSVC 2013 windows x64 (vc120) OpenVDB 3.1.0

Added Paths:
-----------
    trunk/lib/win64_vc12/openvdb/
    trunk/lib/win64_vc12/openvdb/include/
    trunk/lib/win64_vc12/openvdb/include/openvdb/
    trunk/lib/win64_vc12/openvdb/include/openvdb/Exceptions.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/Grid.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/Metadata.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/Platform.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/PlatformConfig.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/Types.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/Archive.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/Compression.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/File.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/GridDescriptor.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/Queue.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/Stream.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/TempFile.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/io/io.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/BBox.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/ConjGradient.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Coord.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/DDA.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/FiniteDifference.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/LegacyFrustum.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Maps.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Mat.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Mat3.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Mat4.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Math.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Operators.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Proximity.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/QuantizedUnitVec.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Quat.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Ray.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Stats.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Stencils.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Transform.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Tuple.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Vec2.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Vec3.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/math/Vec4.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/metadata/
    trunk/lib/win64_vc12/openvdb/include/openvdb/metadata/MetaMap.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/metadata/Metadata.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/metadata/StringMetadata.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/openvdb.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/ChangeBackground.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Clip.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Composite.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Dense.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/DenseSparseTools.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Diagnostics.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Filter.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/GridOperators.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/GridTransformer.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Interpolation.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetAdvect.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetFilter.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetFracture.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetMeasure.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetMorph.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetRebuild.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetSphere.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetTracker.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/LevelSetUtil.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/MeshToVolume.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Morphology.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/ParticlesToLevelSet.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/PointAdvect.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/PointIndexGrid.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/PointPartitioner.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/PointScatter.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/PoissonSolver.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Prune.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/RayIntersector.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/RayTracer.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/SignedFloodFill.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/Statistics.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/ValueTransformer.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/VectorTransformer.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/VelocityFields.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/VolumeAdvect.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/VolumeToMesh.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tools/VolumeToSpheres.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/InternalNode.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/Iterator.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/LeafManager.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/LeafNode.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/LeafNodeBool.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/NodeManager.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/NodeUnion.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/RootNode.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/Tree.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/TreeIterator.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/tree/ValueAccessor.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/CpuTimer.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/Formats.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/MapsUtil.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/Name.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/NodeMasks.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/NullInterrupter.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/PagedArray.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/Util.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/util/logging.h
    trunk/lib/win64_vc12/openvdb/include/openvdb/version.h
    trunk/lib/win64_vc12/openvdb/lib/
    trunk/lib/win64_vc12/openvdb/lib/openvdb.lib

Added: trunk/lib/win64_vc12/openvdb/include/openvdb/Exceptions.h
===================================================================
--- trunk/lib/win64_vc12/openvdb/include/openvdb/Exceptions.h	                        (rev 0)
+++ trunk/lib/win64_vc12/openvdb/include/openvdb/Exceptions.h	2016-02-10 12:49:34 UTC (rev 61629)
@@ -0,0 +1,112 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2012-2015 DreamWorks Animation LLC
+//
+// All rights reserved. This software is distributed under the
+// Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
+//
+// Redistributions of source code must retain the above copyright
+// and license notice and the following restrictions and disclaimer.
+//
+// *     Neither the name of DreamWorks Animation nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
+// LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
+//
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef OPENVDB_EXCEPTIONS_HAS_BEEN_INCLUDED
+#define OPENVDB_EXCEPTIONS_HAS_BEEN_INCLUDED
+
+#include <exception>
+#include <string>
+#include <iostream>
+#include <openvdb/version.h>
+
+namespace openvdb {
+OPENVDB_USE_VERSION_NAMESPACE
+namespace OPENVDB_VERSION_NAME {
+
+class OPENVDB_API Exception: public std::exception
+{
+public:
+    virtual const char* what() const throw()
+    {
+        try { return mMessage.c_str(); } catch (...) {};
+        return NULL;
+    }
+
+    virtual ~Exception() throw() {}
+
+protected:
+    Exception() throw() {}
+    explicit Exception(const char* eType, const std::string* const msg = NULL) throw()
+    {
+        try {
+            if (eType) mMessage = eType;
+            if (msg) mMessage += ": " + (*msg);
+        } catch (...) {}
+    }
+
+private:
+    std::string mMessage;
+};
+
+
+#define OPENVDB_EXCEPTION(_classname) \
+class OPENVDB_API _classname: public Exception \
+{ \
+public: \
+    _classname() throw() : Exception( #_classname ) {} \
+    explicit _classname(const std::string &msg) throw() : Exception( #_classname , &msg) {} \
+}
+
+
+OPENVDB_EXCEPTION(ArithmeticError);
+OPENVDB_EXCEPTION(IllegalValueException);
+OPENVDB_EXCEPTION(IndexError);
+OPENVDB_EXCEPTION(IoError);
+OPENVDB_EXCEPTION(KeyError);
+OPENVDB_EXCEPTION(LookupError);
+OPENVDB_EXCEPTION(NotImplementedError);
+OPENVDB_EXCEPTION(ReferenceError);
+OPENVDB_EXCEPTION(RuntimeError);
+OPENVDB_EXCEPTION(TypeError);
+OPENVDB_EXCEPTION(ValueError);
+
+
+#undef OPENVDB_EXCEPTION
+
+} // namespace OPENVDB_VERSION_NAME
+} // namespace openvdb
+
+
+#define OPENVDB_THROW(exception, message) \
+{ \
+    std::string _openvdb_throw_msg; \
+    try { \
+        std::ostringstream _openvdb_throw_os; \
+        _openvdb_throw_os << message; \
+        _openvdb_throw_msg = _openvdb_throw_os.str(); \
+    } catch (...) {} \
+    throw exception(_openvdb_throw_msg); \
+} // OPENVDB_THROW
+
+#endif // OPENVDB_EXCEPTIONS_HAS_BEEN_INCLUDED
+
+// Copyright (c) 2012-2015 DreamWorks Animation LLC
+// All rights reserved. This software is distributed under the
+// Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )

Added: trunk/lib/win64_vc12/openvdb/include/openvdb/Grid.h
===================================================================
--- trunk/lib/win64_vc12/openvdb/include/openvdb/Grid.h	                        (rev 0)
+++ trunk/lib/win64_vc12/openvdb/include/openvdb/Grid.h	2016-02-10 12:49:34 UTC (rev 61629)
@@ -0,0 +1,1401 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2012-2015 DreamWorks Animation LLC
+//
+// All rights reserved. This software is distributed under the
+// Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
+//
+// Redistributions of source code must retain the above copyright
+// and license notice and the following restrictions and disclaimer.
+//
+// *     Neither the name of DreamWorks Animation nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
+// LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
+//
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef OPENVDB_GRID_HAS_BEEN_INCLUDED
+#define OPENVDB_GRID_HAS_BEEN_INCLUDED
+
+#include <iostream>
+#include <set>
+#include <vector>
+#include <boost/static_assert.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include <boost/type_traits/is_floating_point.hpp>
+#include <openvdb/Types.h>
+#include <openvdb/util/Name.h>
+#include <openvdb/math/Transform.h>
+#include <openvdb/tree/Tree.h>
+#include <openvdb/metadata/MetaMap.h>
+#include <openvdb/Exceptions.h>
+
+
+namespace openvdb {
+OPENVDB_USE_VERSION_NAMESPACE
+namespace OPENVDB_VERSION_NAME {
+
+typedef tree::TreeBase TreeBase;
+
+template<typename> class Grid; // forward declaration
+
+
+/// @brief Create a new grid of type @c GridType with a given background value.
+///
+/// @note Calling createGrid<GridType>(background) is equivalent to calling
+/// GridType::create(background).
+template<typename GridType>
+inline typename GridType::Ptr createGrid(const typename GridType::ValueType& background);
+
+
+/// @brief Create a new grid of type @c GridType with background value zero.
+///
+/// @note Calling createGrid<GridType>() is equivalent to calling GridType::create().
+template<typename GridType>
+inline typename GridType::Ptr createGrid();
+
+
+/// @brief Create a new grid of the appropriate type that wraps the given tree.
+///
+/// @note This function can be called without specifying the template argument,
+/// i.e., as createGrid(tree).
+template<typename TreePtrType>
+inline typename Grid<typename TreePtrType::element_type>::Ptr createGrid(TreePtrType);
+
+
+/// @brief Create a new grid of type @c GridType classified as a "Level Set",
+/// i.e., a narrow-band level set.
+///
+/// @note @c GridType::ValueType must be a floating-point scalar.
+///
+/// @param voxelSize  the size of a voxel in world units
+/// @param halfWidth  the half width of the narrow band in voxel units
+///
+/// @details The voxel size and the narrow band half width define the grid's
+/// background value as halfWidth*voxelWidth.  The transform is linear
+/// with a uniform scaling only corresponding to the specified voxel size.
+///
+/// @note It is generally advisable to specify a half-width of the narrow band
+/// that is larger than one voxel unit, otherwise zero crossings are not guaranteed.
+template<typename GridType>
+typename GridType::Ptr createLevelSet(
+    Real voxelSize = 1.0, Real halfWidth = LEVEL_SET_HALF_WIDTH);
+
+
+////////////////////////////////////////
+
+
+/// @brief Abstract base class for typed grids
+class OPENVDB_API GridBase: public MetaMap
+{
+public:
+    typedef boost::shared_ptr<GridBase> Ptr;
+    typedef boost::shared_ptr<const GridBase> ConstPtr;
+
+    typedef Ptr (*GridFactory)();
+
+
+    virtual ~GridBase() {}
+
+    /// @brief Return a new grid of the same type as this grid and whose
+    /// metadata and transform are deep copies of this grid's.
+    virtual GridBase::Ptr copyGrid(CopyPolicy treePolicy = CP_SHARE) const = 0;
+
+    /// Return a new grid whose metadata, transform and tree are deep copies of this grid's.
+    virtual GridBase::Ptr deepCopyGrid() const = 0;
+
+
+    //
+    // Registry methods
+    //
+    /// Create a new grid of the given (registered) type.
+    static Ptr createGrid(const Name& type);
+
+    /// Return @c true if the given grid type name is registered.
+    static bool isRegistered(const Name &type);
+
+    /// Clear the grid type registry.
+    static void clearRegistry();
+
+
+    //
+    // Grid type methods
+    //
+    /// Return the name of this grid's type.
+    virtual Name type() const = 0;
+    /// Return the name of the type of a voxel's value (e.g., "float" or "vec3d").
+    virtual Name valueType() const = 0;
+
+    /// Return @c true if this grid is of the same type as the template parameter.
+    template<typename GridType>
+    bool isType() const { return (this->type() == GridType::gridType()); }
+
+    //@{
+    /// @brief Return the result of downcasting a GridBase pointer to a Grid pointer
+    /// of the specified type, or return a null pointer if the types are incompatible.
+    template<typename GridType>
+    static typename GridType::Ptr grid(const GridBase::Ptr&);
+    template<typename GridType>
+    static typename GridType::ConstPtr grid(const GridBase::ConstPtr&);
+    template<typename GridType>
+    static typename GridType::ConstPtr constGrid(const GridBase::Ptr&);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list