1 #ifndef GPU_RIGIDBODY_INTERNAL_DATA_H
2 #define GPU_RIGIDBODY_INTERNAL_DATA_H
3 
4 #include "Bullet3OpenCL/Initialize/b3OpenCLUtils.h"
5 #include "Bullet3OpenCL/ParallelPrimitives/b3OpenCLArray.h"
6 #include "Bullet3Common/b3Vector3.h"
7 #include "Bullet3Collision/NarrowPhaseCollision/b3Config.h"
8 
9 struct GpuRigidBodyDemoInternalData
10 {
11 	cl_kernel m_copyTransformsToVBOKernel;
12 
13 	b3OpenCLArray<b3Vector4>* m_instancePosOrnColor;
14 
15 	class b3GpuRigidBodyPipeline* m_rigidBodyPipeline;
16 
17 	class b3GpuNarrowPhase* m_np;
18 	class b3GpuBroadphaseInterface* m_bp;
19 	struct b3DynamicBvhBroadphase* m_broadphaseDbvt;
20 
21 	b3Vector3 m_pickPivotInA;
22 	b3Vector3 m_pickPivotInB;
23 	float m_pickDistance;
24 	int m_pickBody;
25 	int m_pickConstraint;
26 
27 	int m_altPressed;
28 	int m_controlPressed;
29 
30 	int m_pickFixedBody;
31 	int m_pickGraphicsShapeIndex;
32 	int m_pickGraphicsShapeInstance;
33 	b3Config m_config;
34 	GUIHelperInterface* m_guiHelper;
35 
GpuRigidBodyDemoInternalDataGpuRigidBodyDemoInternalData36 	GpuRigidBodyDemoInternalData()
37 		: m_instancePosOrnColor(0),
38 		  m_copyTransformsToVBOKernel(0),
39 		  m_rigidBodyPipeline(0),
40 		  m_np(0),
41 		  m_bp(0),
42 		  m_broadphaseDbvt(0),
43 		  m_pickConstraint(-1),
44 		  m_pickFixedBody(-1),
45 		  m_pickGraphicsShapeIndex(-1),
46 		  m_pickGraphicsShapeInstance(-1),
47 		  m_pickBody(-1),
48 		  m_altPressed(0),
49 		  m_controlPressed(0),
50 		  m_guiHelper(0)
51 
52 	{
53 	}
54 };
55 
56 #endif  //GPU_RIGIDBODY_INTERNAL_DATA_H
57