more work on Bullet serialization (added support for btConvexHullSupport)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
SUBDIRS( OpenGL BasicDemo Benchmarks Box2dDemo SerializeDemo )
|
SUBDIRS( OpenGL BasicDemo Benchmarks Box2dDemo ConvexDecompositionDemo SerializeDemo )
|
||||||
|
|
||||||
|
|
||||||
#todo: re-enable the rest of the demos again
|
#todo: re-enable the rest of the demos again
|
||||||
|
|||||||
@@ -12,15 +12,36 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
########################################################
|
########################################################
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
|
${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
|
||||||
|
${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition
|
||||||
|
${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader
|
||||||
)
|
)
|
||||||
|
|
||||||
|
IF (USE_GLUT)
|
||||||
|
|
||||||
|
LINK_LIBRARIES(
|
||||||
|
OpenGLSupport BulletDynamics BulletCollision LinearMath BulletFileLoader ConvexDecomposition ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(AppConvexDecompositionDemo
|
||||||
|
main.cpp
|
||||||
|
ConvexDecompositionDemo.cpp
|
||||||
|
ConvexDecompositionDemo.h
|
||||||
|
)
|
||||||
|
ELSE (USE_GLUT)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
OpenGLSupport BulletDynamics BulletCollision LinearMath ConvexDecomposition ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
OpenGLSupport BulletDynamics BulletCollision LinearMath BulletFileLoader ConvexDecomposition ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
ADD_EXECUTABLE(AppConvexDecompositionDemo
|
ADD_EXECUTABLE(AppConvexDecompositionDemo
|
||||||
main.cpp
|
WIN32
|
||||||
ConvexDecompositionDemo.cpp
|
../OpenGL/Win32AppMain.cpp
|
||||||
)
|
ConvexDecompositionDemo.cpp
|
||||||
|
ConvexDecompositionDemo.h
|
||||||
|
Win32ConvexDecompositionDemo.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
ENDIF (USE_GLUT)
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,14 @@ subject to the following restrictions:
|
|||||||
#include "LinearMath/btGeometryUtil.h"
|
#include "LinearMath/btGeometryUtil.h"
|
||||||
#include "BulletCollision/CollisionShapes/btShapeHull.h"
|
#include "BulletCollision/CollisionShapes/btShapeHull.h"
|
||||||
|
|
||||||
|
#define TEST_SERIALIZATION
|
||||||
|
|
||||||
|
#ifdef TEST_SERIALIZATION
|
||||||
|
#include "LinearMath/btSerializer.h"
|
||||||
|
#include "btBulletFile.h"
|
||||||
|
#include "btBulletFileLoader.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
//#define USE_PARALLEL_DISPATCHER 1
|
//#define USE_PARALLEL_DISPATCHER 1
|
||||||
#ifdef USE_PARALLEL_DISPATCHER
|
#ifdef USE_PARALLEL_DISPATCHER
|
||||||
#include "../../Extras/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h"
|
#include "../../Extras/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h"
|
||||||
@@ -91,27 +99,9 @@ bool MyContactCallback (
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ConvexDecompositionDemo::initPhysics(const char* filename)
|
void ConvexDecompositionDemo::setupEmptyDynamicsWorld()
|
||||||
{
|
{
|
||||||
gContactAddedCallback = &MyContactCallback;
|
m_collisionConfiguration = new btDefaultCollisionConfiguration();
|
||||||
|
|
||||||
setTexturing(true);
|
|
||||||
setShadows(true);
|
|
||||||
|
|
||||||
setCameraDistance(26.f);
|
|
||||||
|
|
||||||
ConvexDecomposition::WavefrontObj wo;
|
|
||||||
|
|
||||||
tcount = wo.loadObj(filename);
|
|
||||||
|
|
||||||
if (!tcount)
|
|
||||||
{
|
|
||||||
//when running this app from visual studio, the default starting folder is different, so make a second attempt...
|
|
||||||
tcount = wo.loadObj("../../file.obj");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
m_collisionConfiguration = new btDefaultCollisionConfiguration();
|
|
||||||
|
|
||||||
#ifdef USE_PARALLEL_DISPATCHER
|
#ifdef USE_PARALLEL_DISPATCHER
|
||||||
#ifdef USE_WIN32_THREADING
|
#ifdef USE_WIN32_THREADING
|
||||||
@@ -151,6 +141,30 @@ void ConvexDecompositionDemo::initPhysics(const char* filename)
|
|||||||
m_dynamicsWorld->getDispatchInfo().m_enableSPU = true;
|
m_dynamicsWorld->getDispatchInfo().m_enableSPU = true;
|
||||||
#endif //USE_PARALLEL_DISPATCHER
|
#endif //USE_PARALLEL_DISPATCHER
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConvexDecompositionDemo::initPhysics(const char* filename)
|
||||||
|
{
|
||||||
|
gContactAddedCallback = &MyContactCallback;
|
||||||
|
|
||||||
|
setTexturing(true);
|
||||||
|
setShadows(true);
|
||||||
|
|
||||||
|
setCameraDistance(26.f);
|
||||||
|
|
||||||
|
ConvexDecomposition::WavefrontObj wo;
|
||||||
|
|
||||||
|
tcount = wo.loadObj(filename);
|
||||||
|
|
||||||
|
if (!tcount)
|
||||||
|
{
|
||||||
|
//when running this app from visual studio, the default starting folder is different, so make a second attempt...
|
||||||
|
tcount = wo.loadObj("../../file.obj");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setupEmptyDynamicsWorld();
|
||||||
|
|
||||||
btTransform startTransform;
|
btTransform startTransform;
|
||||||
startTransform.setIdentity();
|
startTransform.setIdentity();
|
||||||
startTransform.setOrigin(btVector3(0,-4.5,0));
|
startTransform.setOrigin(btVector3(0,-4.5,0));
|
||||||
@@ -293,7 +307,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename)
|
|||||||
btConvexHullShape* convexShape = new btConvexHullShape(&(vertices[0].getX()),vertices.size());
|
btConvexHullShape* convexShape = new btConvexHullShape(&(vertices[0].getX()),vertices.size());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
convexShape->setMargin(0.01);
|
convexShape->setMargin(0.01f);
|
||||||
m_convexShapes.push_back(convexShape);
|
m_convexShapes.push_back(convexShape);
|
||||||
m_convexCentroids.push_back(centroid);
|
m_convexCentroids.push_back(centroid);
|
||||||
m_convexDemo->m_collisionShapes.push_back(convexShape);
|
m_convexDemo->m_collisionShapes.push_back(convexShape);
|
||||||
@@ -371,7 +385,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename)
|
|||||||
|
|
||||||
btTransform startTransform;
|
btTransform startTransform;
|
||||||
startTransform.setIdentity();
|
startTransform.setIdentity();
|
||||||
startTransform.setOrigin(btVector3(0,2,0));
|
startTransform.setOrigin(btVector3(0,2,14));
|
||||||
|
|
||||||
localCreateRigidBody(mass, startTransform,convexShape);
|
localCreateRigidBody(mass, startTransform,convexShape);
|
||||||
|
|
||||||
@@ -438,6 +452,9 @@ void ConvexDecompositionDemo::initPhysics(const char* filename)
|
|||||||
trans.setOrigin(centroid);
|
trans.setOrigin(centroid);
|
||||||
btConvexHullShape* convexShape = convexDecomposition.m_convexShapes[i];
|
btConvexHullShape* convexShape = convexDecomposition.m_convexShapes[i];
|
||||||
compound->addChildShape(trans,convexShape);
|
compound->addChildShape(trans,convexShape);
|
||||||
|
|
||||||
|
btRigidBody* body = localCreateRigidBody( 1.0, trans,convexShape);
|
||||||
|
|
||||||
}
|
}
|
||||||
btScalar mass=10.f;
|
btScalar mass=10.f;
|
||||||
trans.setOrigin(-convexDecompositionObjectOffset);
|
trans.setOrigin(-convexDecompositionObjectOffset);
|
||||||
@@ -464,6 +481,30 @@ void ConvexDecompositionDemo::initPhysics(const char* filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef TEST_SERIALIZATION
|
||||||
|
//test serializing this
|
||||||
|
|
||||||
|
int maxSerializeBufferSize = 1024*1024*5;
|
||||||
|
|
||||||
|
btDefaultSerializer* serializer = new btDefaultSerializer(maxSerializeBufferSize);
|
||||||
|
m_dynamicsWorld->serialize(serializer);
|
||||||
|
|
||||||
|
FILE* f2 = fopen("testFile.bullet","wb");
|
||||||
|
fwrite(serializer->getBufferPointer(),serializer->getCurrentBufferSize(),1,f2);
|
||||||
|
fclose(f2);
|
||||||
|
|
||||||
|
exitPhysics();
|
||||||
|
|
||||||
|
//now try again from the loaded file
|
||||||
|
setupEmptyDynamicsWorld();
|
||||||
|
|
||||||
|
btBulletFileLoader* fileLoader = new btBulletFileLoader(m_dynamicsWorld);
|
||||||
|
|
||||||
|
fileLoader->loadFileFromMemory("testFile.bullet");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //TEST_SERIALIZATION
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -481,7 +522,7 @@ void ConvexDecompositionDemo::clientMoveAndDisplay()
|
|||||||
renderme();
|
renderme();
|
||||||
|
|
||||||
glFlush();
|
glFlush();
|
||||||
glutSwapBuffers();
|
swapBuffers();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -499,7 +540,7 @@ void ConvexDecompositionDemo::displayCallback(void) {
|
|||||||
|
|
||||||
|
|
||||||
glFlush();
|
glFlush();
|
||||||
glutSwapBuffers();
|
swapBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -532,12 +573,16 @@ void ConvexDecompositionDemo::exitPhysics()
|
|||||||
delete shape;
|
delete shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_collisionShapes.clear();
|
||||||
|
|
||||||
for (i=0;i<m_trimeshes.size();i++)
|
for (i=0;i<m_trimeshes.size();i++)
|
||||||
{
|
{
|
||||||
btTriangleMesh* mesh = m_trimeshes[i];
|
btTriangleMesh* mesh = m_trimeshes[i];
|
||||||
delete mesh;
|
delete mesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_trimeshes.clear();
|
||||||
|
|
||||||
|
|
||||||
//delete dynamics world
|
//delete dynamics world
|
||||||
delete m_dynamicsWorld;
|
delete m_dynamicsWorld;
|
||||||
|
|||||||
@@ -15,7 +15,15 @@ subject to the following restrictions:
|
|||||||
#ifndef CONVEX_DECOMPOSITION_DEMO_H
|
#ifndef CONVEX_DECOMPOSITION_DEMO_H
|
||||||
#define CONVEX_DECOMPOSITION_DEMO_H
|
#define CONVEX_DECOMPOSITION_DEMO_H
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _WINDOWS
|
||||||
|
#include "Win32DemoApplication.h"
|
||||||
|
#define PlatformDemoApplication Win32DemoApplication
|
||||||
|
#else
|
||||||
#include "GlutDemoApplication.h"
|
#include "GlutDemoApplication.h"
|
||||||
|
#define PlatformDemoApplication GlutDemoApplication
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "LinearMath/btAlignedObjectArray.h"
|
#include "LinearMath/btAlignedObjectArray.h"
|
||||||
|
|
||||||
class btBroadphaseInterface;
|
class btBroadphaseInterface;
|
||||||
@@ -28,9 +36,10 @@ class btDefaultCollisionConfiguration;
|
|||||||
class btTriangleMesh;
|
class btTriangleMesh;
|
||||||
|
|
||||||
///ConvexDecompositionDemo shows automatic convex decomposition of a concave mesh
|
///ConvexDecompositionDemo shows automatic convex decomposition of a concave mesh
|
||||||
class ConvexDecompositionDemo : public GlutDemoApplication
|
class ConvexDecompositionDemo : public PlatformDemoApplication
|
||||||
{
|
{
|
||||||
|
|
||||||
|
void setupEmptyDynamicsWorld();
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#ifdef _WINDOWS
|
||||||
|
/*
|
||||||
|
Bullet Continuous Collision Detection and Physics Library
|
||||||
|
Copyright (c) 2003-2010 Erwin Coumans http://bulletphysics.org
|
||||||
|
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ConvexDecompositionDemo.h"
|
||||||
|
|
||||||
|
///The 'createDemo' function is called from Bullet/Demos/OpenGL/Win32AppMain.cpp to instantiate this particular demo
|
||||||
|
DemoApplication* createDemo()
|
||||||
|
{
|
||||||
|
return new ConvexDecompositionDemo();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -25,7 +25,6 @@ IF (USE_GLUT)
|
|||||||
|
|
||||||
ADD_EXECUTABLE(AppSerializeDemo
|
ADD_EXECUTABLE(AppSerializeDemo
|
||||||
main.cpp
|
main.cpp
|
||||||
${SERIALIZE_FILES}
|
|
||||||
SerializeDemo.cpp
|
SerializeDemo.cpp
|
||||||
SerializeDemo.h
|
SerializeDemo.h
|
||||||
)
|
)
|
||||||
@@ -39,7 +38,6 @@ ELSE (USE_GLUT)
|
|||||||
WIN32
|
WIN32
|
||||||
../OpenGL/Win32AppMain.cpp
|
../OpenGL/Win32AppMain.cpp
|
||||||
Win32SerializeDemo.cpp
|
Win32SerializeDemo.cpp
|
||||||
${SERIALIZE_FILES}
|
|
||||||
SerializeDemo.cpp
|
SerializeDemo.cpp
|
||||||
SerializeDemo.h
|
SerializeDemo.h
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#include "bullet_btConvexInternalShapeData.h"
|
#include "bullet_btConvexInternalShapeData.h"
|
||||||
#include "bullet_btPositionAndRadius.h"
|
#include "bullet_btPositionAndRadius.h"
|
||||||
#include "bullet_btMultiSphereShapeData.h"
|
#include "bullet_btMultiSphereShapeData.h"
|
||||||
|
#include "bullet_btConvexHullShapeData.h"
|
||||||
#include "bullet_btCollisionObjectData.h"
|
#include "bullet_btCollisionObjectData.h"
|
||||||
#include "bullet_btRigidBodyData.h"
|
#include "bullet_btRigidBodyData.h"
|
||||||
#endif//__BULLET_H__
|
#endif//__BULLET_H__
|
||||||
@@ -36,6 +36,7 @@ namespace Bullet {
|
|||||||
class btConvexInternalShapeData;
|
class btConvexInternalShapeData;
|
||||||
class btPositionAndRadius;
|
class btPositionAndRadius;
|
||||||
class btMultiSphereShapeData;
|
class btMultiSphereShapeData;
|
||||||
|
class btConvexHullShapeData;
|
||||||
class btCollisionObjectData;
|
class btCollisionObjectData;
|
||||||
class btRigidBodyData;
|
class btRigidBodyData;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* 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_BTCONVEXHULLSHAPEDATA__H__
|
||||||
|
#define __BULLET_BTCONVEXHULLSHAPEDATA__H__
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------- //
|
||||||
|
#include "bullet_Common.h"
|
||||||
|
#include "bullet_btConvexInternalShapeData.h"
|
||||||
|
|
||||||
|
namespace Bullet {
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------------- //
|
||||||
|
class btConvexHullShapeData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
btConvexInternalShapeData m_convexInternalShapeData;
|
||||||
|
btVector3Data *m_unscaledPointsPtr;
|
||||||
|
int m_numUnscaledPoints;
|
||||||
|
char m_padding[4];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif//__BULLET_BTCONVEXHULLSHAPEDATA__H__
|
||||||
@@ -65,6 +65,7 @@ bool btBulletFileLoader::loadFileFromMemory( bParse::btBulletFile* bulletFile2)
|
|||||||
case BOX_SHAPE_PROXYTYPE:
|
case BOX_SHAPE_PROXYTYPE:
|
||||||
case SPHERE_SHAPE_PROXYTYPE:
|
case SPHERE_SHAPE_PROXYTYPE:
|
||||||
case MULTI_SPHERE_SHAPE_PROXYTYPE:
|
case MULTI_SPHERE_SHAPE_PROXYTYPE:
|
||||||
|
case CONVEX_HULL_SHAPE_PROXYTYPE:
|
||||||
{
|
{
|
||||||
btConvexInternalShapeData* bsd = (btConvexInternalShapeData*)shapeData;
|
btConvexInternalShapeData* bsd = (btConvexInternalShapeData*)shapeData;
|
||||||
btVector3 implicitShapeDimensions;
|
btVector3 implicitShapeDimensions;
|
||||||
@@ -97,7 +98,6 @@ bool btBulletFileLoader::loadFileFromMemory( bParse::btBulletFile* bulletFile2)
|
|||||||
}
|
}
|
||||||
case MULTI_SPHERE_SHAPE_PROXYTYPE:
|
case MULTI_SPHERE_SHAPE_PROXYTYPE:
|
||||||
{
|
{
|
||||||
#if 1
|
|
||||||
btMultiSphereShapeData* mss = (btMultiSphereShapeData*)bsd;
|
btMultiSphereShapeData* mss = (btMultiSphereShapeData*)bsd;
|
||||||
int numSpheres = mss->m_localPositionArraySize;
|
int numSpheres = mss->m_localPositionArraySize;
|
||||||
|
|
||||||
@@ -105,16 +105,26 @@ bool btBulletFileLoader::loadFileFromMemory( bParse::btBulletFile* bulletFile2)
|
|||||||
btAlignedObjectArray<btScalar> radii;
|
btAlignedObjectArray<btScalar> radii;
|
||||||
radii.resize(numSpheres);
|
radii.resize(numSpheres);
|
||||||
tmpPos.resize(numSpheres);
|
tmpPos.resize(numSpheres);
|
||||||
|
|
||||||
for (int i=0;i<numSpheres;i++)
|
for (int i=0;i<numSpheres;i++)
|
||||||
{
|
{
|
||||||
tmpPos[i].deSerialize(mss->m_localPositionArrayPtr[i].m_pos);
|
tmpPos[i].deSerialize(mss->m_localPositionArrayPtr[i].m_pos);
|
||||||
radii[i] = mss->m_localPositionArrayPtr[i].m_radius;
|
radii[i] = mss->m_localPositionArrayPtr[i].m_radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
shape = new btMultiSphereShape(&tmpPos[0],&radii[0],numSpheres);
|
shape = new btMultiSphereShape(&tmpPos[0],&radii[0],numSpheres);
|
||||||
#endif
|
break;
|
||||||
|
}
|
||||||
|
case CONVEX_HULL_SHAPE_PROXYTYPE:
|
||||||
|
{
|
||||||
|
btConvexHullShapeData* convexData = (btConvexHullShapeData*)bsd;
|
||||||
|
int numPoints = convexData->m_numUnscaledPoints;
|
||||||
|
|
||||||
|
btAlignedObjectArray<btVector3> tmpPoints;
|
||||||
|
tmpPoints.resize(numPoints);
|
||||||
|
for (int i=0;i<numPoints;i++)
|
||||||
|
{
|
||||||
|
tmpPoints[i].deSerialize(convexData->m_unscaledPointsPtr[i]);
|
||||||
|
}
|
||||||
|
shape = new btConvexHullShape(&tmpPoints[0].getX(),numPoints,sizeof(btVector3));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
delete dnaString.txt
|
||||||
|
|
||||||
Debug\HeaderGenerator.exe
|
Debug\HeaderGenerator.exe
|
||||||
|
|
||||||
python bulletGenerate.py
|
python bulletGenerate.py
|
||||||
@@ -125,6 +125,7 @@ typedef unsigned long uintptr_t;
|
|||||||
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
|
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
|
||||||
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
|
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
|
||||||
#include "BulletCollision/CollisionShapes/btMultiSphereShape.h"
|
#include "BulletCollision/CollisionShapes/btMultiSphereShape.h"
|
||||||
|
#include "BulletCollision/CollisionShapes/btConvexHullShape.h"
|
||||||
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
|
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
|
||||||
#include "BulletDynamics/Dynamics/btRigidBody.h"
|
#include "BulletDynamics/Dynamics/btRigidBody.h"
|
||||||
|
|
||||||
@@ -148,6 +149,7 @@ char *includefiles[] = {
|
|||||||
"../../../src/BulletCollision/CollisionShapes/btCollisionShape.h",
|
"../../../src/BulletCollision/CollisionShapes/btCollisionShape.h",
|
||||||
"../../../src/BulletCollision/CollisionShapes/btConvexInternalShape.h",
|
"../../../src/BulletCollision/CollisionShapes/btConvexInternalShape.h",
|
||||||
"../../../src/BulletCollision/CollisionShapes/btMultiSphereShape.h",
|
"../../../src/BulletCollision/CollisionShapes/btMultiSphereShape.h",
|
||||||
|
"../../../src/BulletCollision/CollisionShapes/btConvexHullShape.h",
|
||||||
"../../../src/BulletCollision/CollisionDispatch/btCollisionObject.h",
|
"../../../src/BulletCollision/CollisionDispatch/btCollisionObject.h",
|
||||||
"../../../src/BulletDynamics/Dynamics/btRigidBody.h",
|
"../../../src/BulletDynamics/Dynamics/btRigidBody.h",
|
||||||
// empty string to indicate end of includefiles
|
// empty string to indicate end of includefiles
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ subject to the following restrictions:
|
|||||||
#include "BulletCollision/CollisionShapes/btCollisionMargin.h"
|
#include "BulletCollision/CollisionShapes/btCollisionMargin.h"
|
||||||
|
|
||||||
#include "LinearMath/btQuaternion.h"
|
#include "LinearMath/btQuaternion.h"
|
||||||
|
#include "LinearMath/btSerializer.h"
|
||||||
|
|
||||||
btConvexHullShape ::btConvexHullShape (const btScalar* points,int numPoints,int stride) : btPolyhedralConvexAabbCachingShape ()
|
btConvexHullShape ::btConvexHullShape (const btScalar* points,int numPoints,int stride) : btPolyhedralConvexAabbCachingShape ()
|
||||||
{
|
{
|
||||||
@@ -186,3 +186,28 @@ bool btConvexHullShape::isInside(const btVector3& ,btScalar ) const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||||
|
const char* btConvexHullShape::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||||
|
{
|
||||||
|
btConvexHullShapeData* shapeData = (btConvexHullShapeData*) dataBuffer;
|
||||||
|
btConvexInternalShape::serialize(&shapeData->m_convexInternalShapeData, serializer);
|
||||||
|
|
||||||
|
int numElem = m_unscaledPoints.size();
|
||||||
|
shapeData->m_numUnscaledPoints = numElem;
|
||||||
|
shapeData->m_unscaledPointsPtr = numElem ? (btVector3Data*)&m_unscaledPoints[0]: 0;
|
||||||
|
|
||||||
|
if (numElem)
|
||||||
|
{
|
||||||
|
btChunk* chunk = serializer->allocate(sizeof(btVector3Data),numElem);
|
||||||
|
btVector3Data* memPtr = (btVector3Data*)chunk->m_oldPtr;
|
||||||
|
for (int i=0;i<numElem;i++,memPtr++)
|
||||||
|
{
|
||||||
|
m_unscaledPoints[i].serialize(*memPtr);
|
||||||
|
}
|
||||||
|
serializer->finalizeChunk(chunk,"btVector3Data",BT_ARRAY_CODE,(void*)&m_unscaledPoints[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "btConvexHullShapeData";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -89,8 +89,29 @@ public:
|
|||||||
///in case we receive negative scaling
|
///in case we receive negative scaling
|
||||||
virtual void setLocalScaling(const btVector3& scaling);
|
virtual void setLocalScaling(const btVector3& scaling);
|
||||||
|
|
||||||
|
virtual int calculateSerializeBufferSize();
|
||||||
|
|
||||||
|
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||||
|
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct btConvexHullShapeData
|
||||||
|
{
|
||||||
|
btConvexInternalShapeData m_convexInternalShapeData;
|
||||||
|
|
||||||
|
btVector3Data *m_unscaledPointsPtr;
|
||||||
|
int m_numUnscaledPoints;
|
||||||
|
char m_padding[4];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
SIMD_FORCE_INLINE int btConvexHullShape::calculateSerializeBufferSize()
|
||||||
|
{
|
||||||
|
return sizeof(btConvexHullShapeData);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif //CONVEX_HULL_SHAPE_H
|
#endif //CONVEX_HULL_SHAPE_H
|
||||||
|
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ const char* btMultiSphereShape::serialize(void* dataBuffer, btSerializer* serial
|
|||||||
m_localPositionArray[i].serialize(memPtr->m_pos);
|
m_localPositionArray[i].serialize(memPtr->m_pos);
|
||||||
memPtr->m_radius = m_radiArray[i];
|
memPtr->m_radius = m_radiArray[i];
|
||||||
}
|
}
|
||||||
serializer->finalizeChunk(chunk,"btVector3Data",BT_ARRAY_CODE,(void*)&m_localPositionArray[0]);
|
serializer->finalizeChunk(chunk,"btPositionAndRadius",BT_ARRAY_CODE,(void*)&m_localPositionArray[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return "btMultiSphereShapeData";
|
return "btMultiSphereShapeData";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
unsigned char sBulletDNAstr[]= {
|
unsigned char sBulletDNAstr[]= {
|
||||||
83,68,78,65,78,65,77,69,68,0,0,0,109,95,115,105,122,101,0,109,
|
83,68,78,65,78,65,77,69,70,0,0,0,109,95,115,105,122,101,0,109,
|
||||||
95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,
|
95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,
|
||||||
99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,
|
99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,
|
||||||
108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,
|
108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,
|
||||||
@@ -16,84 +16,89 @@ unsigned char sBulletDNAstr[]= {
|
|||||||
101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,
|
101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,
|
||||||
42,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,
|
42,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,
|
||||||
121,80,116,114,0,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,
|
121,80,116,114,0,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,
|
||||||
65,114,114,97,121,83,105,122,101,0,109,95,119,111,114,108,100,84,114,97,
|
65,114,114,97,121,83,105,122,101,0,42,109,95,117,110,115,99,97,108,101,
|
||||||
110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,
|
100,80,111,105,110,116,115,80,116,114,0,109,95,110,117,109,85,110,115,99,
|
||||||
111,110,87,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,
|
97,108,101,100,80,111,105,110,116,115,0,109,95,119,111,114,108,100,84,114,
|
||||||
110,116,101,114,112,111,108,97,116,105,111,110,76,105,110,101,97,114,86,101,
|
97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,
|
||||||
108,111,99,105,116,121,0,109,95,105,110,116,101,114,112,111,108,97,116,105,
|
105,111,110,87,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,
|
||||||
111,110,65,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,
|
105,110,116,101,114,112,111,108,97,116,105,111,110,76,105,110,101,97,114,86,
|
||||||
97,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,0,
|
101,108,111,99,105,116,121,0,109,95,105,110,116,101,114,112,111,108,97,116,
|
||||||
109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,99,
|
105,111,110,65,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,
|
||||||
116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,111,99,101,115,
|
95,97,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,
|
||||||
115,105,110,103,84,104,114,101,115,104,111,108,100,0,42,109,95,98,114,111,
|
0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,
|
||||||
97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,95,99,111,108,
|
99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,111,99,101,
|
||||||
108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,111,111,116,67,
|
115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,42,109,95,98,114,
|
||||||
111,108,108,105,115,105,111,110,83,104,97,112,101,0,109,95,99,111,108,108,
|
111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,95,99,111,
|
||||||
105,115,105,111,110,70,108,97,103,115,0,109,95,105,115,108,97,110,100,84,
|
108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,111,111,116,
|
||||||
97,103,49,0,109,95,99,111,109,112,97,110,105,111,110,73,100,0,109,95,
|
67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,109,95,99,111,108,
|
||||||
97,99,116,105,118,97,116,105,111,110,83,116,97,116,101,49,0,109,95,100,
|
108,105,115,105,111,110,70,108,97,103,115,0,109,95,105,115,108,97,110,100,
|
||||||
101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,114,
|
84,97,103,49,0,109,95,99,111,109,112,97,110,105,111,110,73,100,0,109,
|
||||||
105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,110,
|
95,97,99,116,105,118,97,116,105,111,110,83,116,97,116,101,49,0,109,95,
|
||||||
0,109,95,105,110,116,101,114,110,97,108,84,121,112,101,0,42,109,95,117,
|
100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,
|
||||||
115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,109,95,104,
|
114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,
|
||||||
105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,100,83,119,101,112,
|
110,0,109,95,105,110,116,101,114,110,97,108,84,121,112,101,0,42,109,95,
|
||||||
116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,95,99,99,100,77,
|
117,115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,109,95,
|
||||||
111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,109,95,99,104,101,
|
104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,100,83,119,101,
|
||||||
99,107,67,111,108,108,105,100,101,87,105,116,104,0,109,95,99,111,108,108,
|
112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,95,99,99,100,
|
||||||
105,115,105,111,110,79,98,106,101,99,116,68,97,116,97,0,109,95,105,110,
|
77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,109,95,99,104,
|
||||||
118,73,110,101,114,116,105,97,84,101,110,115,111,114,87,111,114,108,100,0,
|
101,99,107,67,111,108,108,105,100,101,87,105,116,104,0,109,95,99,111,108,
|
||||||
109,95,108,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,97,
|
108,105,115,105,111,110,79,98,106,101,99,116,68,97,116,97,0,109,95,105,
|
||||||
110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,118,
|
110,118,73,110,101,114,116,105,97,84,101,110,115,111,114,87,111,114,108,100,
|
||||||
101,114,115,101,77,97,115,115,0,109,95,97,110,103,117,108,97,114,70,97,
|
0,109,95,108,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,
|
||||||
99,116,111,114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,
|
97,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,
|
||||||
109,95,103,114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,
|
118,101,114,115,101,77,97,115,115,0,109,95,97,110,103,117,108,97,114,70,
|
||||||
97,99,99,101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,
|
97,99,116,111,114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,
|
||||||
101,114,116,105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,
|
0,109,95,103,114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,
|
||||||
114,99,101,0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,
|
95,97,99,99,101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,
|
||||||
108,105,110,101,97,114,68,97,109,112,105,110,103,0,109,95,97,110,103,117,
|
110,101,114,116,105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,
|
||||||
108,97,114,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,111,
|
111,114,99,101,0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,
|
||||||
110,97,108,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,111,
|
95,108,105,110,101,97,114,68,97,109,112,105,110,103,0,109,95,97,110,103,
|
||||||
110,97,108,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,97,
|
117,108,97,114,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,
|
||||||
100,100,105,116,105,111,110,97,108,76,105,110,101,97,114,68,97,109,112,105,
|
111,110,97,108,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,
|
||||||
|
111,110,97,108,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,
|
||||||
|
97,100,100,105,116,105,111,110,97,108,76,105,110,101,97,114,68,97,109,112,
|
||||||
|
105,110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,
|
||||||
|
100,105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,
|
||||||
110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,
|
110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,
|
||||||
105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,
|
105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,
|
||||||
103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,105,
|
103,70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,83,108,101,101,
|
||||||
116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,103,
|
112,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,110,103,117,
|
||||||
70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,83,108,101,101,112,
|
108,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,
|
||||||
105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,110,103,117,108,
|
0,0,0,0,84,89,80,69,24,0,0,0,99,104,97,114,0,117,99,104,
|
||||||
97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,0,
|
97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0,
|
||||||
84,89,80,69,23,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,
|
108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117,
|
||||||
104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,
|
98,108,101,0,118,111,105,100,0,98,116,83,99,97,108,97,114,0,80,111,
|
||||||
0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,
|
105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,
|
||||||
118,111,105,100,0,98,116,83,99,97,108,97,114,0,80,111,105,110,116,101,
|
83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,
|
||||||
114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,
|
99,116,111,114,51,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,
|
||||||
101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,
|
51,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109,68,97,116,
|
||||||
51,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,68,97,116,
|
97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,
|
||||||
97,0,98,116,84,114,97,110,115,102,111,114,109,68,97,116,97,0,98,116,
|
116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,
|
||||||
67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,98,
|
104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,
|
||||||
116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,
|
110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,
|
||||||
68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,
|
114,101,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,
|
||||||
100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,
|
72,117,108,108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,
|
||||||
97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,
|
105,115,105,111,110,79,98,106,101,99,116,68,97,116,97,0,98,116,82,105,
|
||||||
98,106,101,99,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,
|
103,105,100,66,111,100,121,68,97,116,97,0,84,76,69,78,1,0,1,0,
|
||||||
121,68,97,116,97,0,0,0,84,76,69,78,1,0,1,0,2,0,2,0,
|
2,0,2,0,4,0,4,0,4,0,4,0,8,0,0,0,4,0,12,0,
|
||||||
4,0,4,0,4,0,4,0,8,0,0,0,4,0,12,0,36,0,8,0,
|
36,0,8,0,16,0,48,0,64,0,12,0,52,0,20,0,64,0,64,0,
|
||||||
16,0,48,0,64,0,12,0,52,0,20,0,64,0,-8,0,-32,1,0,0,
|
-8,0,-32,1,83,84,82,67,13,0,0,0,11,0,3,0,4,0,0,0,
|
||||||
83,84,82,67,12,0,0,0,11,0,3,0,4,0,0,0,4,0,1,0,
|
4,0,1,0,9,0,2,0,12,0,3,0,11,0,3,0,11,0,4,0,
|
||||||
9,0,2,0,12,0,3,0,11,0,3,0,11,0,4,0,11,0,5,0,
|
11,0,5,0,13,0,2,0,9,0,6,0,9,0,7,0,14,0,1,0,
|
||||||
13,0,2,0,9,0,6,0,9,0,7,0,14,0,1,0,10,0,8,0,
|
10,0,8,0,15,0,1,0,14,0,9,0,16,0,2,0,15,0,10,0,
|
||||||
15,0,1,0,14,0,9,0,16,0,2,0,15,0,10,0,14,0,11,0,
|
14,0,11,0,17,0,3,0,9,0,12,0,4,0,13,0,0,0,14,0,
|
||||||
17,0,3,0,9,0,12,0,4,0,13,0,0,0,14,0,18,0,5,0,
|
18,0,5,0,17,0,15,0,14,0,16,0,14,0,17,0,10,0,18,0,
|
||||||
17,0,15,0,14,0,16,0,14,0,17,0,10,0,18,0,0,0,14,0,
|
0,0,14,0,19,0,2,0,14,0,19,0,10,0,20,0,20,0,4,0,
|
||||||
19,0,2,0,14,0,19,0,10,0,20,0,20,0,4,0,18,0,21,0,
|
18,0,21,0,19,0,22,0,4,0,23,0,0,0,14,0,21,0,4,0,
|
||||||
19,0,22,0,4,0,23,0,0,0,14,0,21,0,23,0,16,0,24,0,
|
18,0,21,0,14,0,24,0,4,0,25,0,0,0,14,0,22,0,23,0,
|
||||||
16,0,25,0,14,0,26,0,14,0,27,0,14,0,28,0,4,0,29,0,
|
16,0,26,0,16,0,27,0,14,0,28,0,14,0,29,0,14,0,30,0,
|
||||||
10,0,30,0,9,0,31,0,9,0,32,0,17,0,33,0,4,0,34,0,
|
4,0,31,0,10,0,32,0,9,0,33,0,9,0,34,0,17,0,35,0,
|
||||||
4,0,35,0,4,0,36,0,4,0,37,0,10,0,38,0,10,0,39,0,
|
4,0,36,0,4,0,37,0,4,0,38,0,4,0,39,0,10,0,40,0,
|
||||||
10,0,40,0,4,0,41,0,9,0,42,0,10,0,43,0,10,0,44,0,
|
10,0,41,0,10,0,42,0,4,0,43,0,9,0,44,0,10,0,45,0,
|
||||||
10,0,45,0,4,0,46,0,22,0,21,0,21,0,47,0,15,0,48,0,
|
10,0,46,0,10,0,47,0,4,0,48,0,23,0,21,0,22,0,49,0,
|
||||||
14,0,49,0,14,0,50,0,10,0,51,0,14,0,52,0,14,0,53,0,
|
15,0,50,0,14,0,51,0,14,0,52,0,10,0,53,0,14,0,54,0,
|
||||||
14,0,54,0,14,0,55,0,14,0,56,0,14,0,57,0,14,0,58,0,
|
14,0,55,0,14,0,56,0,14,0,57,0,14,0,58,0,14,0,59,0,
|
||||||
10,0,59,0,10,0,60,0,4,0,61,0,10,0,62,0,10,0,63,0,
|
14,0,60,0,10,0,61,0,10,0,62,0,4,0,63,0,10,0,64,0,
|
||||||
10,0,64,0,10,0,65,0,10,0,66,0,10,0,67,0,};
|
10,0,65,0,10,0,66,0,10,0,67,0,10,0,68,0,10,0,69,0,
|
||||||
|
};
|
||||||
int sBulletDNAlen= sizeof(sBulletDNAstr);
|
int sBulletDNAlen= sizeof(sBulletDNAstr);
|
||||||
|
|||||||
Reference in New Issue
Block a user