Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Samarin <nicks1987@bigmir.net>2011-05-17 00:30:59 +0400
committerNick Samarin <nicks1987@bigmir.net>2011-05-17 00:30:59 +0400
commita918040902bdeb7c9793168710871e4a3b7777a3 (patch)
tree7380f00bce5448d777d09f4be4d7127e8eecec49 /extern/bullet2/src/BulletCollision/Gimpact
parentdaeca2f8262884c436c5678225704b594ce5347b (diff)
parent99ee18c684da65ba774175c0b57a086e8222464a (diff)
synched with trunk at revision 36569
Diffstat (limited to 'extern/bullet2/src/BulletCollision/Gimpact')
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btBoxCollision.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btClipPolygon.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btContactProcessing.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.cpp2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.h8
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp19
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h6
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactMassUtil.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h6
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp20
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h57
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.h4
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btGeometryOperations.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btQuantization.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_array.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_bitset.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_box_collision.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_box_set.h5
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_clip_polygon.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_contact.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_geom_types.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_geometry.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_hash_table.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_linear_math.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_math.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_memory.h6
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_radixsort.h2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.cpp2
-rw-r--r--extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.h2
34 files changed, 131 insertions, 50 deletions
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btBoxCollision.h b/extern/bullet2/src/BulletCollision/Gimpact/btBoxCollision.h
index 827a3c89587..d5676aaa80e 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btBoxCollision.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btBoxCollision.h
@@ -2,7 +2,7 @@
#define BT_BOX_COLLISION_H_INCLUDED
/*! \file gim_box_collision.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btClipPolygon.h b/extern/bullet2/src/BulletCollision/Gimpact/btClipPolygon.h
index 5de391a7561..de0a5231baf 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btClipPolygon.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btClipPolygon.h
@@ -2,7 +2,7 @@
#define BT_CLIP_POLYGON_H_INCLUDED
/*! \file btClipPolygon.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btContactProcessing.h b/extern/bullet2/src/BulletCollision/Gimpact/btContactProcessing.h
index 4b0b70293b4..0c66f8e106c 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btContactProcessing.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btContactProcessing.h
@@ -2,7 +2,7 @@
#define BT_CONTACT_H_INCLUDED
/*! \file gim_contact.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.cpp
index 38fed6b4fd2..863233163a6 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.cpp
@@ -1,5 +1,5 @@
/*! \file gim_box_set.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.h b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.h
index b432b615f8a..6174ae97a97 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactBvh.h
@@ -2,7 +2,7 @@
#define GIM_BOX_SET_H_INCLUDED
/*! \file gim_box_set.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
@@ -231,6 +231,8 @@ class btPrimitiveManagerBase
{
public:
+ virtual ~btPrimitiveManagerBase() {}
+
//! determines if this manager consist on only triangles, which special case will be optimized
virtual bool is_trimesh() const = 0;
virtual int get_primitive_count() const = 0;
@@ -381,9 +383,9 @@ public:
return m_box_tree.get_node_pointer(index);
}
-
+#ifdef TRI_COLLISION_PROFILING
static float getAverageTreeCollisionTime();
-
+#endif //TRI_COLLISION_PROFILING
static void find_collision(btGImpactBvh * boxset1, const btTransform & trans1,
btGImpactBvh * boxset2, const btTransform & trans2,
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
index 4d6fa88f62d..2f2c09ffc03 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
@@ -102,6 +102,7 @@ public:
{
return m_parent->m_gim_shape->getChildShape(index);
}
+ virtual ~ChildShapeRetriever() {}
};
class TriangleShapeRetriever:public ChildShapeRetriever
@@ -113,6 +114,7 @@ public:
m_parent->m_gim_shape->getBulletTriangle(index,m_parent->m_trishape);
return &m_parent->m_trishape;
}
+ virtual ~TriangleShapeRetriever() {}
};
class TetraShapeRetriever:public ChildShapeRetriever
@@ -213,7 +215,8 @@ void btGImpactCollisionAlgorithm::addContactPoint(btCollisionObject * body0,
const btVector3 & normal,
btScalar distance)
{
- m_resultOut->setShapeIdentifiers(m_part0,m_triface0,m_part1,m_triface1);
+ m_resultOut->setShapeIdentifiersA(m_part0,m_triface0);
+ m_resultOut->setShapeIdentifiersB(m_part1,m_triface1);
checkManifold(body0,body1);
m_resultOut->addContactPoint(normal,point,distance);
}
@@ -236,7 +239,8 @@ void btGImpactCollisionAlgorithm::shape_vs_shape_collision(
btCollisionAlgorithm* algor = newAlgorithm(body0,body1);
// post : checkManifold is called
- m_resultOut->setShapeIdentifiers(m_part0,m_triface0,m_part1,m_triface1);
+ m_resultOut->setShapeIdentifiersA(m_part0,m_triface0);
+ m_resultOut->setShapeIdentifiersB(m_part1,m_triface1);
algor->processCollision(body0,body1,*m_dispatchInfo,m_resultOut);
@@ -262,7 +266,8 @@ void btGImpactCollisionAlgorithm::convex_vs_convex_collision(
body1->internalSetTemporaryCollisionShape(shape1);
- m_resultOut->setShapeIdentifiers(m_part0,m_triface0,m_part1,m_triface1);
+ m_resultOut->setShapeIdentifiersA(m_part0,m_triface0);
+ m_resultOut->setShapeIdentifiersB(m_part1,m_triface1);
checkConvexAlgorithm(body0,body1);
m_convex_algorithm->processCollision(body0,body1,*m_dispatchInfo,m_resultOut);
@@ -876,22 +881,24 @@ btScalar btGImpactCollisionAlgorithm::calculateTimeOfImpact(btCollisionObject* b
///////////////////////////////////// REGISTERING ALGORITHM //////////////////////////////////////////////
-btGImpactCollisionAlgorithm::CreateFunc g_gimpact_cf;
+
//! Use this function for register the algorithm externally
void btGImpactCollisionAlgorithm::registerAlgorithm(btCollisionDispatcher * dispatcher)
{
+ static btGImpactCollisionAlgorithm::CreateFunc s_gimpact_cf;
+
int i;
for ( i = 0;i < MAX_BROADPHASE_COLLISION_TYPES ;i++ )
{
- dispatcher->registerCollisionCreateFunc(GIMPACT_SHAPE_PROXYTYPE,i ,&g_gimpact_cf);
+ dispatcher->registerCollisionCreateFunc(GIMPACT_SHAPE_PROXYTYPE,i ,&s_gimpact_cf);
}
for ( i = 0;i < MAX_BROADPHASE_COLLISION_TYPES ;i++ )
{
- dispatcher->registerCollisionCreateFunc(i,GIMPACT_SHAPE_PROXYTYPE ,&g_gimpact_cf);
+ dispatcher->registerCollisionCreateFunc(i,GIMPACT_SHAPE_PROXYTYPE ,&s_gimpact_cf);
}
}
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h
index 453472aa034..ae5d55ab7d9 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h
@@ -1,5 +1,5 @@
/*! \file btGImpactShape.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
@@ -222,13 +222,13 @@ public:
//! Use this function for register the algorithm externally
static void registerAlgorithm(btCollisionDispatcher * dispatcher);
-
+#ifdef TRI_COLLISION_PROFILING
//! Gets the average time in miliseconds of tree collisions
static float getAverageTreeCollisionTime();
//! Gets the average time in miliseconds of triangle collisions
static float getAverageTriangleCollisionTime();
-
+#endif //TRI_COLLISION_PROFILING
//! Collides two gimpact shapes
/*!
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactMassUtil.h b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactMassUtil.h
index 0a10f3cdb7b..2543aefcfc6 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactMassUtil.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactMassUtil.h
@@ -1,5 +1,5 @@
/*! \file btGImpactMassUtil.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
index ea1647a8129..cd4dfdb60e9 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
@@ -1,5 +1,5 @@
/*! \file gim_box_set.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h
index e9cccac75f5..9c990774739 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h
@@ -2,7 +2,7 @@
#define GIM_QUANTIZED_SET_H_INCLUDED
/*! \file btGImpactQuantizedBvh.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
@@ -359,9 +359,9 @@ public:
return m_box_tree.get_node_pointer(index);
}
-
+#ifdef TRI_COLLISION_PROFILING
static float getAverageTreeCollisionTime();
-
+#endif //TRI_COLLISION_PROFILING
static void find_collision(btGImpactQuantizedBvh * boxset1, const btTransform & trans1,
btGImpactQuantizedBvh * boxset2, const btTransform & trans2,
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp
index da6a4dbfc28..cceace55e4b 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.cpp
@@ -181,3 +181,23 @@ void btGImpactMeshShape::processAllTriangles(btTriangleCallback* callback,const
m_mesh_parts[i]->processAllTriangles(callback,aabbMin,aabbMax);
}
}
+
+
+///fills the dataBuffer and returns the struct name (and 0 on failure)
+const char* btGImpactMeshShape::serialize(void* dataBuffer, btSerializer* serializer) const
+{
+ btGImpactMeshShapeData* trimeshData = (btGImpactMeshShapeData*) dataBuffer;
+
+ btCollisionShape::serialize(&trimeshData->m_collisionShapeData,serializer);
+
+ m_meshInterface->serialize(&trimeshData->m_meshInterface, serializer);
+
+ trimeshData->m_collisionMargin = float(m_collisionMargin);
+
+ localScaling.serializeFloat(trimeshData->m_localScaling);
+
+ trimeshData->m_gimpactSubType = int(getGImpactShapeType());
+
+ return "btGImpactMeshShapeData";
+}
+
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h
index 05431cfce15..90015bb9ac0 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGImpactShape.h
@@ -189,7 +189,7 @@ public:
//!@{
//! Base method for determinig which kind of GIMPACT shape we get
- virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() = 0;
+ virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const = 0 ;
//! gets boxset
SIMD_FORCE_INLINE btGImpactBoxSet * getBoxSet()
@@ -276,6 +276,7 @@ public:
//! virtual method for ray collision
virtual void rayTest(const btVector3& rayFrom, const btVector3& rayTo, btCollisionWorld::RayResultCallback& resultCallback) const
{
+ (void) rayFrom; (void) rayTo; (void) resultCallback;
}
//! Function for retrieve triangles.
@@ -284,6 +285,7 @@ public:
*/
virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const
{
+ (void) callback; (void) aabbMin; (void) aabbMax;
}
//!@}
@@ -302,10 +304,12 @@ public:
class CompoundPrimitiveManager:public btPrimitiveManagerBase
{
public:
+ virtual ~CompoundPrimitiveManager() {}
btGImpactCompoundShape * m_compoundShape;
CompoundPrimitiveManager(const CompoundPrimitiveManager& compound)
+ : btPrimitiveManagerBase()
{
m_compoundShape = compound.m_compoundShape;
}
@@ -348,6 +352,7 @@ public:
virtual void get_primitive_triangle(int prim_index,btPrimitiveTriangle & triangle) const
{
btAssert(0);
+ (void) prim_index; (void) triangle;
}
};
@@ -364,6 +369,7 @@ public:
btGImpactCompoundShape(bool children_has_transform = true)
{
+ (void) children_has_transform;
m_primitive_manager.m_compoundShape = this;
m_box_set.setPrimitiveManager(&m_primitive_manager);
}
@@ -477,11 +483,13 @@ public:
virtual void getBulletTriangle(int prim_index,btTriangleShapeEx & triangle) const
{
+ (void) prim_index; (void) triangle;
btAssert(0);
}
virtual void getBulletTetrahedron(int prim_index,btTetrahedronShapeEx & tetrahedron) const
{
+ (void) prim_index; (void) tetrahedron;
btAssert(0);
}
@@ -494,7 +502,7 @@ public:
return "GImpactCompound";
}
- virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
+ virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_COMPOUND_SHAPE;
}
@@ -550,6 +558,7 @@ public:
}
TrimeshPrimitiveManager(const TrimeshPrimitiveManager & manager)
+ : btPrimitiveManagerBase()
{
m_meshInterface = manager.m_meshInterface;
m_part = manager.m_part;
@@ -582,6 +591,7 @@ public:
}
+ virtual ~TrimeshPrimitiveManager() {}
void lock()
{
@@ -746,6 +756,7 @@ public:
//! Gets the children
virtual btCollisionShape* getChildShape(int index)
{
+ (void) index;
btAssert(0);
return NULL;
}
@@ -755,6 +766,7 @@ public:
//! Gets the child
virtual const btCollisionShape* getChildShape(int index) const
{
+ (void) index;
btAssert(0);
return NULL;
}
@@ -762,6 +774,7 @@ public:
//! Gets the children transform
virtual btTransform getChildTransform(int index) const
{
+ (void) index;
btAssert(0);
return btTransform();
}
@@ -772,6 +785,8 @@ public:
*/
virtual void setChildTransform(int index, const btTransform & transform)
{
+ (void) index;
+ (void) transform;
btAssert(0);
}
@@ -801,7 +816,7 @@ public:
return "GImpactMeshShapePart";
}
- virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
+ virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_TRIMESH_SHAPE_PART;
}
@@ -825,6 +840,8 @@ public:
virtual void getBulletTetrahedron(int prim_index,btTetrahedronShapeEx & tetrahedron) const
{
+ (void) prim_index;
+ (void) tetrahedron;
btAssert(0);
}
@@ -1036,11 +1053,13 @@ public:
virtual void getBulletTriangle(int prim_index,btTriangleShapeEx & triangle) const
{
+ (void) prim_index; (void) triangle;
btAssert(0);
}
virtual void getBulletTetrahedron(int prim_index,btTetrahedronShapeEx & tetrahedron) const
{
+ (void) prim_index; (void) tetrahedron;
btAssert(0);
}
@@ -1063,12 +1082,14 @@ public:
*/
virtual void getChildAabb(int child_index,const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const
{
+ (void) child_index; (void) t; (void) aabbMin; (void) aabbMax;
btAssert(0);
}
//! Gets the children
virtual btCollisionShape* getChildShape(int index)
{
+ (void) index;
btAssert(0);
return NULL;
}
@@ -1077,6 +1098,7 @@ public:
//! Gets the child
virtual const btCollisionShape* getChildShape(int index) const
{
+ (void) index;
btAssert(0);
return NULL;
}
@@ -1084,6 +1106,7 @@ public:
//! Gets the children transform
virtual btTransform getChildTransform(int index) const
{
+ (void) index;
btAssert(0);
return btTransform();
}
@@ -1094,11 +1117,12 @@ public:
*/
virtual void setChildTransform(int index, const btTransform & transform)
{
+ (void) index; (void) transform;
btAssert(0);
}
- virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
+ virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_TRIMESH_SHAPE;
}
@@ -1116,7 +1140,32 @@ public:
It gives the triangles in local space
*/
virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const;
+
+ virtual int calculateSerializeBufferSize() const;
+
+ ///fills the dataBuffer and returns the struct name (and 0 on failure)
+ virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
+
+};
+
+///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
+struct btGImpactMeshShapeData
+{
+ btCollisionShapeData m_collisionShapeData;
+
+ btStridingMeshInterfaceData m_meshInterface;
+
+ btVector3FloatData m_localScaling;
+
+ float m_collisionMargin;
+
+ int m_gimpactSubType;
};
+SIMD_FORCE_INLINE int btGImpactMeshShape::calculateSerializeBufferSize() const
+{
+ return sizeof(btGImpactMeshShapeData);
+}
+
#endif //GIMPACT_MESH_SHAPE_H
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp
index 956fa0430e3..5d07d1adb97 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp
@@ -1,5 +1,5 @@
/*! \file btGenericPoolAllocator.cpp
-\author Francisco Len Nßjera. email projectileman@yahoo.com
+\author Francisco Leon Najera. email projectileman@yahoo.com
General purpose allocator class
*/
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.h b/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.h
index e883bcd23d2..b46d8516347 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGenericPoolAllocator.h
@@ -1,5 +1,5 @@
/*! \file btGenericPoolAllocator.h
-\author Francisco Len Nßjera. email projectileman@yahoo.com
+\author Francisco Leon Najera. email projectileman@yahoo.com
General purpose allocator class
*/
@@ -23,7 +23,7 @@ subject to the following restrictions:
#include <limits.h>
#include <stdio.h>
-#include <memory.h>
+#include <string.h>
#include "LinearMath/btAlignedAllocator.h"
#define BT_UINT_MAX UINT_MAX
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btGeometryOperations.h b/extern/bullet2/src/BulletCollision/Gimpact/btGeometryOperations.h
index bc5a416ddb7..60f06510ad7 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btGeometryOperations.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btGeometryOperations.h
@@ -2,7 +2,7 @@
#define BT_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
/*! \file btGeometryOperations.h
-*\author Francisco Len Nßjera
+*\author Francisco Leon Najera
*/
/*
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btQuantization.h b/extern/bullet2/src/BulletCollision/Gimpact/btQuantization.h
index 7faada61c95..e0487c22766 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btQuantization.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btQuantization.h
@@ -2,7 +2,7 @@
#define BT_QUANTIZATION_H_INCLUDED
/*! \file btQuantization.h
-*\author Francisco Len Nßjera
+*\author Francisco Leon Najera
*/
/*
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp b/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp
index 78696277c34..ca76cc54a12 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp
@@ -1,5 +1,5 @@
/*! \file btGImpactTriangleShape.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.h b/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.h
index bbd6b630c02..fcc981dfb69 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/btTriangleShapeEx.h
@@ -1,5 +1,5 @@
/*! \file btGImpactShape.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
This source file is part of GIMPACT Library.
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_array.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_array.h
index c8161d252d5..cfd5da8f49a 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_array.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_array.h
@@ -1,7 +1,7 @@
#ifndef GIM_ARRAY_H_INCLUDED
#define GIM_ARRAY_H_INCLUDED
/*! \file gim_array.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h
index 666abf7917a..915277404d6 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h
@@ -2,7 +2,7 @@
#define GIM_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
/*! \file gim_basic_geometry_operations.h
-*\author Francisco Len Nßjera
+*\author Francisco Leon Najera
type independant geometry routines
*/
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_bitset.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_bitset.h
index 322004a8d5b..7dee48a4c76 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_bitset.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_bitset.h
@@ -1,7 +1,7 @@
#ifndef GIM_BITSET_H_INCLUDED
#define GIM_BITSET_H_INCLUDED
/*! \file gim_bitset.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_box_collision.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_box_collision.h
index 0add5e4b99f..b360dd47038 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_box_collision.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_box_collision.h
@@ -2,7 +2,7 @@
#define GIM_BOX_COLLISION_H_INCLUDED
/*! \file gim_box_collision.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_box_set.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_box_set.h
index 1058a0872a5..61d190a7dfe 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_box_set.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_box_set.h
@@ -2,7 +2,7 @@
#define GIM_BOX_SET_H_INCLUDED
/*! \file gim_box_set.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
@@ -91,6 +91,7 @@ class GIM_PRIMITIVE_MANAGER_PROTOTYPE
{
public:
+ virtual ~GIM_PRIMITIVE_MANAGER_PROTOTYPE() {}
//! determines if this manager consist on only triangles, which special case will be optimized
virtual bool is_trimesh() = 0;
virtual GUINT get_primitive_count() = 0;
@@ -669,3 +670,5 @@ public:
#endif // GIM_BOXPRUNING_H_INCLUDED
+
+
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_clip_polygon.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_clip_polygon.h
index a91fd3aa422..e342459ce56 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_clip_polygon.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_clip_polygon.h
@@ -2,7 +2,7 @@
#define GIM_CLIP_POLYGON_H_INCLUDED
/*! \file gim_tri_collision.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_contact.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_contact.h
index ad3e12298fe..5d9f8ef8180 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_contact.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_contact.h
@@ -2,7 +2,7 @@
#define GIM_CONTACT_H_INCLUDED
/*! \file gim_contact.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_geom_types.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_geom_types.h
index 2fb1e3f9e45..6b8f9ea6c21 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_geom_types.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_geom_types.h
@@ -2,7 +2,7 @@
#define GIM_GEOM_TYPES_H_INCLUDED
/*! \file gim_geom_types.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_geometry.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_geometry.h
index 6cc41672101..c67a6991c02 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_geometry.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_geometry.h
@@ -2,7 +2,7 @@
#define GIM_GEOMETRY_H_INCLUDED
/*! \file gim_geometry.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_hash_table.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_hash_table.h
index 93c66f81823..e4237c2c570 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_hash_table.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_hash_table.h
@@ -1,7 +1,7 @@
#ifndef GIM_HASH_TABLE_H_INCLUDED
#define GIM_HASH_TABLE_H_INCLUDED
/*! \file gim_trimesh_data.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_linear_math.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_linear_math.h
index 0247d4e61cc..64f11b49543 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_linear_math.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_linear_math.h
@@ -2,7 +2,7 @@
#define GIM_LINEAR_H_INCLUDED
/*! \file gim_linear_math.h
-*\author Francisco Len Nßjera
+*\author Francisco Leon Najera
Type Independant Vector and matrix operations.
*/
/*
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_math.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_math.h
index 8b9e6806ef7..939079e1040 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_math.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_math.h
@@ -1,7 +1,7 @@
#ifndef GIM_MATH_H_INCLUDED
#define GIM_MATH_H_INCLUDED
/*! \file gim_math.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_memory.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_memory.h
index fa99eebb60e..e203888a1e2 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_memory.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_memory.h
@@ -1,7 +1,7 @@
#ifndef GIM_MEMORY_H_INCLUDED
#define GIM_MEMORY_H_INCLUDED
/*! \file gim_memory.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
@@ -34,7 +34,7 @@ email: projectileman@yahoo.com
#include "gim_math.h"
-#include <memory.h>
+#include <string.h>
#ifdef PREFETCH
#include <xmmintrin.h> // for prefetch
@@ -117,7 +117,7 @@ void gim_free(void *ptr);
-#if defined (WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
+#if defined (_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
#define GIM_SIMD_MEMORY 1
#endif
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_radixsort.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_radixsort.h
index f7dadbbca93..c246ef12543 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_radixsort.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_radixsort.h
@@ -1,7 +1,7 @@
#ifndef GIM_RADIXSORT_H_INCLUDED
#define GIM_RADIXSORT_H_INCLUDED
/*! \file gim_radixsort.h
-\author Francisco Len Nßjera.
+\author Francisco Leon Najera.
Based on the work of Michael Herf : "fast floating-point radix sort"
Avaliable on http://www.stereopsis.com/radix.html
*/
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.cpp b/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.cpp
index 74d734146a7..f9727e1d53b 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.cpp
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.cpp
@@ -1,6 +1,6 @@
/*! \file gim_tri_collision.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------
diff --git a/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.h b/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.h
index 2d6e43a1a2e..5b552a1ed51 100644
--- a/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.h
+++ b/extern/bullet2/src/BulletCollision/Gimpact/gim_tri_collision.h
@@ -2,7 +2,7 @@
#define GIM_TRI_COLLISION_H_INCLUDED
/*! \file gim_tri_collision.h
-\author Francisco Len Nßjera
+\author Francisco Leon Najera
*/
/*
-----------------------------------------------------------------------------