4 * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version. The Blender
10 * Foundation also sells licenses for use in proprietary software under
11 * the Blender License. See http://www.blender.org/BL/ for information
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software Foundation,
21 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24 * All rights reserved.
26 * The Original Code is: all of this file.
28 * Contributor(s): none yet.
30 * ***** END GPL/BL DUAL LICENSE BLOCK *****
32 #ifndef KX_CONVERTPHYSICSOBJECTS
33 #define KX_CONVERTPHYSICSOBJECTS
35 /* These are defined by the build system... */
36 #define USE_SUMO_SOLID
39 //on visual studio 7/8, always enable BULLET for now
40 //you can have multiple physics engines running anyway, and
41 //the scons build system doesn't really support this at the moment.
42 //if you got troubles, just comment out USE_BULLET
73 struct KX_ObjectProperties
77 bool m_angular_rigidbody;
78 bool m_in_active_layer;
80 class KX_GameObject* m_dynamic_parent;
84 KX_BoundBoxClass m_boundclass;
94 void KX_ConvertODEEngineObject(KX_GameObject* gameobj,
95 RAS_MeshObject* meshobj,
97 struct PHY_ShapeProps* shapeprops,
98 struct PHY_MaterialProps* smmaterial,
99 struct KX_ObjectProperties* objprop);
105 void KX_ConvertDynamoObject(KX_GameObject* gameobj,
106 RAS_MeshObject* meshobj,
108 struct PHY_ShapeProps* shapeprops,
109 struct PHY_MaterialProps* smmaterial,
110 struct KX_ObjectProperties* objprop);
112 #ifdef USE_SUMO_SOLID
114 void KX_ConvertSumoObject( class KX_GameObject* gameobj,
115 class RAS_MeshObject* meshobj,
116 class KX_Scene* kxscene,
117 struct PHY_ShapeProps* shapeprops,
118 struct PHY_MaterialProps* smmaterial,
119 struct KX_ObjectProperties* objprop);
121 void KX_ClearSumoSharedShapes();
122 bool KX_ReInstanceShapeFromMesh(RAS_MeshObject* meshobj);
128 void KX_ConvertBulletObject( class KX_GameObject* gameobj,
129 class RAS_MeshObject* meshobj,
130 class KX_Scene* kxscene,
131 struct PHY_ShapeProps* shapeprops,
132 struct PHY_MaterialProps* smmaterial,
133 struct KX_ObjectProperties* objprop);
135 void KX_ClearBulletSharedShapes();
136 //bool KX_ReInstanceShapeFromMesh(RAS_MeshObject* meshobj);
139 #endif //KX_CONVERTPHYSICSOBJECTS