1 /* ----------------------------------------------------------------------------
\r
2 * This file was automatically generated by SWIG (http://www.swig.org).
\r
5 * Do not make changes to this file unless you know what you are doing--modify
\r
6 * the SWIG interface file instead.
\r
7 * ----------------------------------------------------------------------------- */
\r
9 package com.badlogic.gdx.physics.bullet;
\r
11 import com.badlogic.gdx.math.Vector3;
\r
12 import com.badlogic.gdx.math.Quaternion;
\r
13 import com.badlogic.gdx.math.Matrix3;
\r
14 import com.badlogic.gdx.math.Matrix4;
\r
16 public class btCollisionShape extends BulletBase {
\r
17 private long swigCPtr;
\r
19 protected btCollisionShape(final String className, long cPtr, boolean cMemoryOwn) {
\r
20 super(className, cPtr, cMemoryOwn);
\r
24 protected btCollisionShape(long cPtr, boolean cMemoryOwn) {
\r
25 this("btCollisionShape", cPtr, cMemoryOwn);
\r
29 public static long getCPtr(btCollisionShape obj) {
\r
30 return (obj == null) ? 0 : obj.swigCPtr;
\r
34 protected void finalize() throws Throwable {
\r
40 @Override protected synchronized void delete() {
\r
41 if (swigCPtr != 0) {
\r
43 swigCMemOwn = false;
\r
44 gdxBulletJNI.delete_btCollisionShape(swigCPtr);
\r
52 public static btCollisionShape newDerivedObject(long swigCPtr, boolean owner) {
\r
53 if (swigCPtr == 0) {
\r
57 final int shapeType = gdxBulletJNI.btCollisionShape_getShapeType(swigCPtr, null);
\r
59 switch (shapeType) {
\r
60 case BroadphaseNativeTypes.BOX_SHAPE_PROXYTYPE:
\r
61 return new btBoxShape(swigCPtr, owner);
\r
62 case BroadphaseNativeTypes.TRIANGLE_SHAPE_PROXYTYPE:
\r
63 return new btTriangleShape(swigCPtr, owner);
\r
64 case BroadphaseNativeTypes.TETRAHEDRAL_SHAPE_PROXYTYPE:
\r
65 return new btBU_Simplex1to4(swigCPtr, owner);
\r
66 case BroadphaseNativeTypes.CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE:
\r
67 return new btConvexTriangleMeshShape(swigCPtr, owner);
\r
68 case BroadphaseNativeTypes.CONVEX_HULL_SHAPE_PROXYTYPE:
\r
69 return new btConvexHullShape(swigCPtr, owner);
\r
70 case BroadphaseNativeTypes.CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE:
\r
71 return new btConvexPointCloudShape(swigCPtr, owner);
\r
72 case BroadphaseNativeTypes.CUSTOM_POLYHEDRAL_SHAPE_TYPE:
\r
75 case BroadphaseNativeTypes.SPHERE_SHAPE_PROXYTYPE:
\r
76 return new btSphereShape(swigCPtr, owner);
\r
77 case BroadphaseNativeTypes.MULTI_SPHERE_SHAPE_PROXYTYPE:
\r
78 return new btMultiSphereShape(swigCPtr, owner);
\r
79 case BroadphaseNativeTypes.CAPSULE_SHAPE_PROXYTYPE:
\r
80 return new btCapsuleShape(swigCPtr, owner);
\r
81 case BroadphaseNativeTypes.CONE_SHAPE_PROXYTYPE:
\r
82 return new btConeShape(swigCPtr, owner);
\r
83 case BroadphaseNativeTypes.CONVEX_SHAPE_PROXYTYPE:
\r
84 return new btConvexShape(swigCPtr, owner);
\r
85 case BroadphaseNativeTypes.CYLINDER_SHAPE_PROXYTYPE:
\r
86 return new btCylinderShape(swigCPtr, owner);
\r
87 case BroadphaseNativeTypes.UNIFORM_SCALING_SHAPE_PROXYTYPE:
\r
88 return new btUniformScalingShape(swigCPtr, owner);
\r
89 case BroadphaseNativeTypes.MINKOWSKI_SUM_SHAPE_PROXYTYPE:
\r
90 // btMinkowskiSumShape is actually a MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE and nothing
\r
93 case BroadphaseNativeTypes.MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE:
\r
94 return new btMinkowskiSumShape(swigCPtr, owner);
\r
95 case BroadphaseNativeTypes.BOX_2D_SHAPE_PROXYTYPE:
\r
96 return new btBox2dShape(swigCPtr, owner);
\r
97 case BroadphaseNativeTypes.CONVEX_2D_SHAPE_PROXYTYPE:
\r
98 return new btConvex2dShape(swigCPtr, owner);
\r
99 case BroadphaseNativeTypes.CUSTOM_CONVEX_SHAPE_TYPE:
\r
102 case BroadphaseNativeTypes.TRIANGLE_MESH_SHAPE_PROXYTYPE:
\r
103 return new btBvhTriangleMeshShape(swigCPtr, owner);
\r
104 case BroadphaseNativeTypes.SCALED_TRIANGLE_MESH_SHAPE_PROXYTYPE:
\r
105 return new btScaledBvhTriangleMeshShape(swigCPtr, owner);
\r
106 case BroadphaseNativeTypes.FAST_CONCAVE_MESH_PROXYTYPE:
\r
107 // TODO I couldn't find one
\r
109 case BroadphaseNativeTypes.TERRAIN_SHAPE_PROXYTYPE:
\r
110 return new btHeightfieldTerrainShape(swigCPtr, owner);
\r
112 case BroadphaseNativeTypes.GIMPACT_SHAPE_PROXYTYPE:
\r
113 return new btGimpactShape(swigCPtr, owner);
\r
115 case BroadphaseNativeTypes.MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE:
\r
116 return new btMultimaterialTriangleMeshShape(swigCPtr, owner);
\r
117 case BroadphaseNativeTypes.EMPTY_SHAPE_PROXYTYPE:
\r
118 return new btEmptyShape(swigCPtr, owner);
\r
119 case BroadphaseNativeTypes.STATIC_PLANE_PROXYTYPE:
\r
120 return new btStaticPlaneShape(swigCPtr, owner);
\r
121 case BroadphaseNativeTypes.CUSTOM_CONCAVE_SHAPE_TYPE:
\r
124 case BroadphaseNativeTypes.COMPOUND_SHAPE_PROXYTYPE:
\r
125 return new btCompoundShape(swigCPtr, owner);
\r
127 case BroadphaseNativeTypes.SOFTBODY_SHAPE_PROXYTYPE:
\r
128 return new btSoftBodyShape(swigCPtr, owner);
\r
129 case BroadphaseNativeTypes.HFFLUID_SHAPE_PROXYTYPE:
\r
130 return new (swigCPtr, owner);
\r
131 case BroadphaseNativeTypes.HFFLUID_BUOYANT_CONVEX_SHAPE_PROXYTYPE:
\r
132 return new (swigCPtr, owner);
\r
133 case BroadphaseNativeTypes.INVALID_SHAPE_PROXYTYPE:
\r
134 return new (swigCPtr, owner);
\r
138 throw new RuntimeException("Unknown shape type " + Integer.toString(shapeType));
\r
141 public void getAabb(Matrix4 t, Vector3 aabbMin, Vector3 aabbMax) {
\r
142 gdxBulletJNI.btCollisionShape_getAabb(swigCPtr, this, t, aabbMin, aabbMax);
\r
145 public void getBoundingSphere(Vector3 center, SWIGTYPE_p_float radius) {
\r
146 gdxBulletJNI.btCollisionShape_getBoundingSphere(swigCPtr, this, center, SWIGTYPE_p_float.getCPtr(radius));
\r
149 public float getAngularMotionDisc() {
\r
150 return gdxBulletJNI.btCollisionShape_getAngularMotionDisc(swigCPtr, this);
\r
153 public float getContactBreakingThreshold(float defaultContactThresholdFactor) {
\r
154 return gdxBulletJNI.btCollisionShape_getContactBreakingThreshold(swigCPtr, this, defaultContactThresholdFactor);
\r
157 public void calculateTemporalAabb(Matrix4 curTrans, Vector3 linvel, Vector3 angvel, float timeStep, Vector3 temporalAabbMin, Vector3 temporalAabbMax) {
\r
158 gdxBulletJNI.btCollisionShape_calculateTemporalAabb(swigCPtr, this, curTrans, linvel, angvel, timeStep, temporalAabbMin, temporalAabbMax);
\r
161 public boolean isPolyhedral() {
\r
162 return gdxBulletJNI.btCollisionShape_isPolyhedral(swigCPtr, this);
\r
165 public boolean isConvex2d() {
\r
166 return gdxBulletJNI.btCollisionShape_isConvex2d(swigCPtr, this);
\r
169 public boolean isConvex() {
\r
170 return gdxBulletJNI.btCollisionShape_isConvex(swigCPtr, this);
\r
173 public boolean isNonMoving() {
\r
174 return gdxBulletJNI.btCollisionShape_isNonMoving(swigCPtr, this);
\r
177 public boolean isConcave() {
\r
178 return gdxBulletJNI.btCollisionShape_isConcave(swigCPtr, this);
\r
181 public boolean isCompound() {
\r
182 return gdxBulletJNI.btCollisionShape_isCompound(swigCPtr, this);
\r
185 public boolean isSoftBody() {
\r
186 return gdxBulletJNI.btCollisionShape_isSoftBody(swigCPtr, this);
\r
189 public boolean isInfinite() {
\r
190 return gdxBulletJNI.btCollisionShape_isInfinite(swigCPtr, this);
\r
193 public void setLocalScaling(Vector3 scaling) {
\r
194 gdxBulletJNI.btCollisionShape_setLocalScaling(swigCPtr, this, scaling);
\r
197 public Vector3 getLocalScaling() {
\r
198 return gdxBulletJNI.btCollisionShape_getLocalScaling(swigCPtr, this);
\r
201 public void calculateLocalInertia(float mass, Vector3 inertia) {
\r
202 gdxBulletJNI.btCollisionShape_calculateLocalInertia(swigCPtr, this, mass, inertia);
\r
205 public String getName() {
\r
206 return gdxBulletJNI.btCollisionShape_getName(swigCPtr, this);
\r
209 public int getShapeType() {
\r
210 return gdxBulletJNI.btCollisionShape_getShapeType(swigCPtr, this);
\r
213 public Vector3 getAnisotropicRollingFrictionDirection() {
\r
214 return gdxBulletJNI.btCollisionShape_getAnisotropicRollingFrictionDirection(swigCPtr, this);
\r
217 public void setMargin(float margin) {
\r
218 gdxBulletJNI.btCollisionShape_setMargin(swigCPtr, this, margin);
\r
221 public float getMargin() {
\r
222 return gdxBulletJNI.btCollisionShape_getMargin(swigCPtr, this);
\r
225 public void setUserPointer(SWIGTYPE_p_void userPtr) {
\r
226 gdxBulletJNI.btCollisionShape_setUserPointer(swigCPtr, this, SWIGTYPE_p_void.getCPtr(userPtr));
\r
229 public SWIGTYPE_p_void getUserPointer() {
\r
230 long cPtr = gdxBulletJNI.btCollisionShape_getUserPointer(swigCPtr, this);
\r
231 return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
\r
234 public int calculateSerializeBufferSize() {
\r
235 return gdxBulletJNI.btCollisionShape_calculateSerializeBufferSize(swigCPtr, this);
\r
238 public String serialize(SWIGTYPE_p_void dataBuffer, SWIGTYPE_p_btSerializer serializer) {
\r
239 return gdxBulletJNI.btCollisionShape_serialize(swigCPtr, this, SWIGTYPE_p_void.getCPtr(dataBuffer), SWIGTYPE_p_btSerializer.getCPtr(serializer));
\r
242 public void serializeSingleShape(SWIGTYPE_p_btSerializer serializer) {
\r
243 gdxBulletJNI.btCollisionShape_serializeSingleShape(swigCPtr, this, SWIGTYPE_p_btSerializer.getCPtr(serializer));
\r