More work on serialization and BulletFileLoader

This commit is contained in:
erwin.coumans
2010-01-22 00:15:33 +00:00
parent 50aa82a240
commit 26a056e629
49 changed files with 6714 additions and 160 deletions

View File

@@ -0,0 +1,32 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_H__
#define __BULLET_H__
#include "bullet_PointerArray.h"
#include "bullet_btPhysicsSystem.h"
#include "bullet_ListBase.h"
#include "bullet_btVector3Data.h"
#include "bullet_btMatrix3x3Data.h"
#include "bullet_btTransformData.h"
#include "bullet_btCollisionShapeData.h"
#include "bullet_btConvexInternalShapeData.h"
#include "bullet_btCollisionObjectData.h"
#include "bullet_btRigidBodyData.h"
#endif//__BULLET_H__

View File

@@ -0,0 +1,40 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLETCOMMON_H__
#define __BULLETCOMMON_H__
// put an empty struct in the case
typedef struct bInvalidHandle {
int unused;
}bInvalidHandle;
namespace Bullet {
class PointerArray;
class btPhysicsSystem;
class ListBase;
class btVector3Data;
class btMatrix3x3Data;
class btTransformData;
class btCollisionShapeData;
class btConvexInternalShapeData;
class btCollisionObjectData;
class btRigidBodyData;
}
#endif//__BULLETCOMMON_H__

View File

@@ -0,0 +1,40 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_LISTBASE__H__
#define __BULLET_LISTBASE__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
namespace Bullet {
// ---------------------------------------------- //
class ListBase
{
public:
void *first;
void *last;
};
}
#endif//__BULLET_LISTBASE__H__

View File

@@ -0,0 +1,41 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_POINTERARRAY__H__
#define __BULLET_POINTERARRAY__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
namespace Bullet {
// ---------------------------------------------- //
class PointerArray
{
public:
int m_size;
int m_capacity;
void *m_data;
};
}
#endif//__BULLET_POINTERARRAY__H__

View File

@@ -0,0 +1,63 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTCOLLISIONOBJECTDATA__H__
#define __BULLET_BTCOLLISIONOBJECTDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btTransformData.h"
#include "bullet_btVector3Data.h"
namespace Bullet {
// ---------------------------------------------- //
class btCollisionObjectData
{
public:
btTransformData m_worldTransform;
btTransformData m_interpolationWorldTransform;
btVector3Data m_interpolationLinearVelocity;
btVector3Data m_interpolationAngularVelocity;
btVector3Data m_anisotropicFriction;
int m_hasAnisotropicFriction;
btScalar m_contactProcessingThreshold;
void *m_broadphaseHandle;
void *m_collisionShape;
btCollisionShapeData *m_rootCollisionShape;
int m_collisionFlags;
int m_islandTag1;
int m_companionId;
int m_activationState1;
btScalar m_deactivationTime;
btScalar m_friction;
btScalar m_restitution;
int m_internalType;
void *m_userObjectPointer;
btScalar m_hitFraction;
btScalar m_ccdSweptSphereRadius;
btScalar m_ccdMotionThreshold;
int m_checkCollideWith;
};
}
#endif//__BULLET_BTCOLLISIONOBJECTDATA__H__

View File

@@ -0,0 +1,41 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTCOLLISIONSHAPEDATA__H__
#define __BULLET_BTCOLLISIONSHAPEDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
namespace Bullet {
// ---------------------------------------------- //
class btCollisionShapeData
{
public:
void *m_userPointer;
int m_shapeType;
char m_padding[4];
};
}
#endif//__BULLET_BTCOLLISIONSHAPEDATA__H__

View File

@@ -0,0 +1,45 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTCONVEXINTERNALSHAPEDATA__H__
#define __BULLET_BTCONVEXINTERNALSHAPEDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btCollisionShapeData.h"
#include "bullet_btVector3Data.h"
namespace Bullet {
// ---------------------------------------------- //
class btConvexInternalShapeData
{
public:
btCollisionShapeData m_collisionShapeData;
btVector3Data m_localScaling;
btVector3Data m_implicitShapeDimensions;
btScalar m_collisionMargin;
char m_padding[4];
};
}
#endif//__BULLET_BTCONVEXINTERNALSHAPEDATA__H__

View File

@@ -0,0 +1,40 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTMATRIX3X3DATA__H__
#define __BULLET_BTMATRIX3X3DATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btVector3Data.h"
namespace Bullet {
// ---------------------------------------------- //
class btMatrix3x3Data
{
public:
btVector3Data m_el[3];
};
}
#endif//__BULLET_BTMATRIX3X3DATA__H__

View File

@@ -0,0 +1,42 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTPHYSICSSYSTEM__H__
#define __BULLET_BTPHYSICSSYSTEM__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_PointerArray.h"
namespace Bullet {
// ---------------------------------------------- //
class btPhysicsSystem
{
public:
PointerArray m_collisionShapes;
PointerArray m_collisionObjects;
PointerArray m_constraints;
};
}
#endif//__BULLET_BTPHYSICSSYSTEM__H__

View File

@@ -0,0 +1,62 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTRIGIDBODYDATA__H__
#define __BULLET_BTRIGIDBODYDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btCollisionObjectData.h"
#include "bullet_btMatrix3x3Data.h"
#include "bullet_btVector3Data.h"
namespace Bullet {
// ---------------------------------------------- //
class btRigidBodyData
{
public:
btCollisionObjectData m_collisionObjectData;
btMatrix3x3Data m_invInertiaTensorWorld;
btVector3Data m_linearVelocity;
btVector3Data m_angularVelocity;
btScalar m_inverseMass;
btVector3Data m_angularFactor;
btVector3Data m_linearFactor;
btVector3Data m_gravity;
btVector3Data m_gravity_acceleration;
btVector3Data m_invInertiaLocal;
btVector3Data m_totalForce;
btVector3Data m_totalTorque;
btScalar m_linearDamping;
btScalar m_angularDamping;
int m_additionalDamping;
btScalar m_additionalDampingFactor;
btScalar m_additionalLinearDampingThresholdSqr;
btScalar m_additionalAngularDampingThresholdSqr;
btScalar m_additionalAngularDampingFactor;
btScalar m_linearSleepingThreshold;
btScalar m_angularSleepingThreshold;
};
}
#endif//__BULLET_BTRIGIDBODYDATA__H__

View File

@@ -0,0 +1,42 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTTRANSFORMDATA__H__
#define __BULLET_BTTRANSFORMDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btMatrix3x3Data.h"
#include "bullet_btVector3Data.h"
namespace Bullet {
// ---------------------------------------------- //
class btTransformData
{
public:
btMatrix3x3Data m_basis;
btVector3Data m_origin;
};
}
#endif//__BULLET_BTTRANSFORMDATA__H__

View File

@@ -0,0 +1,39 @@
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
// Auto generated from makesdna dna.c
#ifndef __BULLET_BTVECTOR3DATA__H__
#define __BULLET_BTVECTOR3DATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
namespace Bullet {
// ---------------------------------------------- //
class btVector3Data
{
public:
btScalar m_floats[4];
};
}
#endif//__BULLET_BTVECTOR3DATA__H__