diff --git a/thirdparty/vhacd/inc/btAlignedAllocator.h b/thirdparty/vhacd/inc/btAlignedAllocator.h
index 11f6e12dca..8011595d89 100644
--- a/thirdparty/vhacd/inc/btAlignedAllocator.h
+++ b/thirdparty/vhacd/inc/btAlignedAllocator.h
@@ -21,6 +21,9 @@ subject to the following restrictions:
 ///that is better portable and more predictable
 
 #include "btScalar.h"
+
+namespace VHACD {
+
 //#define BT_DEBUG_MEMORY_ALLOCATIONS 1
 #ifdef BT_DEBUG_MEMORY_ALLOCATIONS
 
@@ -101,4 +104,6 @@ public:
     friend bool operator==(const self_type&, const self_type&) { return true; }
 };
 
+}; // namespace VHACD
+
 #endif //BT_ALIGNED_ALLOCATOR
diff --git a/thirdparty/vhacd/inc/btAlignedObjectArray.h b/thirdparty/vhacd/inc/btAlignedObjectArray.h
index e6620adf6f..7446a8bfd9 100644
--- a/thirdparty/vhacd/inc/btAlignedObjectArray.h
+++ b/thirdparty/vhacd/inc/btAlignedObjectArray.h
@@ -38,6 +38,8 @@ subject to the following restrictions:
 #include <new> //for placement new
 #endif //BT_USE_PLACEMENT_NEW
 
+namespace VHACD {
+
 ///The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods
 ///It is developed to replace stl::vector to avoid portability issues, including STL alignment issues to add SIMD/SSE data
 template <typename T>
@@ -445,4 +447,6 @@ public:
     }
 };
 
+}; // namespace VHACD
+
 #endif //BT_OBJECT_ARRAY__
diff --git a/thirdparty/vhacd/inc/btConvexHullComputer.h b/thirdparty/vhacd/inc/btConvexHullComputer.h
index 3c5075c2cb..194917cdec 100644
--- a/thirdparty/vhacd/inc/btConvexHullComputer.h
+++ b/thirdparty/vhacd/inc/btConvexHullComputer.h
@@ -18,6 +18,8 @@ subject to the following restrictions:
 #include "btAlignedObjectArray.h"
 #include "btVector3.h"
 
+namespace VHACD {
+
 /// Convex hull implementation based on Preparata and Hong
 /// See http://code.google.com/p/bullet/issues/detail?id=275
 /// Ole Kniemeyer, MAXON Computer GmbH
@@ -94,4 +96,6 @@ public:
     }
 };
 
+}; // namespace VHACD
+
 #endif //BT_CONVEX_HULL_COMPUTER_H
diff --git a/thirdparty/vhacd/inc/btMinMax.h b/thirdparty/vhacd/inc/btMinMax.h
index 40b0ceb6ed..12aaeda9c4 100644
--- a/thirdparty/vhacd/inc/btMinMax.h
+++ b/thirdparty/vhacd/inc/btMinMax.h
@@ -17,6 +17,8 @@ subject to the following restrictions:
 
 #include "btScalar.h"
 
+namespace VHACD {
+
 template <class T>
 SIMD_FORCE_INLINE const T& btMin(const T& a, const T& b)
 {
@@ -62,4 +64,6 @@ SIMD_FORCE_INLINE void btClamp(T& a, const T& lb, const T& ub)
     }
 }
 
+}; // namespace VHACD
+
 #endif //BT_GEN_MINMAX_H
diff --git a/thirdparty/vhacd/inc/btScalar.h b/thirdparty/vhacd/inc/btScalar.h
index b814474bdf..404bcbcfe1 100644
--- a/thirdparty/vhacd/inc/btScalar.h
+++ b/thirdparty/vhacd/inc/btScalar.h
@@ -28,11 +28,15 @@ subject to the following restrictions:
 /* SVN $Revision$ on $Date$ from http://bullet.googlecode.com*/
 #define BT_BULLET_VERSION 279
 
+namespace VHACD {
+
 inline int32_t btGetVersion()
 {
     return BT_BULLET_VERSION;
 }
 
+}; // namespace VHACD
+
 #if defined(DEBUG) || defined(_DEBUG)
 #define BT_DEBUG
 #endif
@@ -199,6 +203,8 @@ inline int32_t btGetVersion()
 #endif //__CELLOS_LV2__
 #endif
 
+namespace VHACD {
+
 ///The btScalar type abstracts floating point numbers, to easily switch between double and single floating point precision.
 #if defined(BT_USE_DOUBLE_PRECISION)
 typedef double btScalar;
@@ -530,4 +536,7 @@ struct btTypedObject {
         return m_objectType;
     }
 };
+
+}; // namespace VHACD
+
 #endif //BT_SCALAR_H
diff --git a/thirdparty/vhacd/inc/btVector3.h b/thirdparty/vhacd/inc/btVector3.h
index 0f2fefbbd5..356a6a9cfc 100644
--- a/thirdparty/vhacd/inc/btVector3.h
+++ b/thirdparty/vhacd/inc/btVector3.h
@@ -26,6 +26,8 @@ subject to the following restrictions:
 #define btVector3DataName "btVector3FloatData"
 #endif //BT_USE_DOUBLE_PRECISION
 
+namespace VHACD {
+
 /**@brief btVector3 can be used to represent 3D points and vectors.
  * It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user
  * Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers
@@ -712,4 +714,6 @@ SIMD_FORCE_INLINE void btVector3::deSerialize(const struct btVector3Data& dataIn
         m_floats[i] = dataIn.m_floats[i];
 }
 
+}; // namespace VHACD
+
 #endif //BT_VECTOR3_H
diff --git a/thirdparty/vhacd/src/btAlignedAllocator.cpp b/thirdparty/vhacd/src/btAlignedAllocator.cpp
index 11d594f6c9..bbb8baa107 100644
--- a/thirdparty/vhacd/src/btAlignedAllocator.cpp
+++ b/thirdparty/vhacd/src/btAlignedAllocator.cpp
@@ -15,6 +15,8 @@ subject to the following restrictions:
 
 #include "btAlignedAllocator.h"
 
+namespace VHACD {
+
 #ifdef _MSC_VER
 #pragma warning(disable:4311 4302)
 #endif
@@ -177,4 +179,6 @@ void btAlignedFreeInternal(void* ptr)
     sAlignedFreeFunc(ptr);
 }
 
+}; // namespace VHACD
+
 #endif //BT_DEBUG_MEMORY_ALLOCATIONS
diff --git a/thirdparty/vhacd/src/btConvexHullComputer.cpp b/thirdparty/vhacd/src/btConvexHullComputer.cpp
index d3d749adbe..4f224c8360 100644
--- a/thirdparty/vhacd/src/btConvexHullComputer.cpp
+++ b/thirdparty/vhacd/src/btConvexHullComputer.cpp
@@ -49,6 +49,8 @@ typedef unsigned long long int32_t uint64_t;
 #include <stdio.h>
 #endif
 
+namespace VHACD {
+
 // Convex hull implementation based on Preparata and Hong
 // Ole Kniemeyer, MAXON Computer GmbH
 class btConvexHullInternal {
@@ -2477,3 +2479,5 @@ btScalar btConvexHullComputer::compute(const void* coords, bool doubleCoords, in
 
     return shift;
 }
+
+}; // namespace VHACD