941 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			941 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Linear Math
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btVector3 {
							 | 
						||
| 
								 | 
							
									void btVector3();
							 | 
						||
| 
								 | 
							
									void btVector3(float x, float y, float z);
							 | 
						||
| 
								 | 
							
									float length();
							 | 
						||
| 
								 | 
							
									float x();
							 | 
						||
| 
								 | 
							
									float y();
							 | 
						||
| 
								 | 
							
									float z();
							 | 
						||
| 
								 | 
							
									void setX(float x);
							 | 
						||
| 
								 | 
							
									void setY(float y);
							 | 
						||
| 
								 | 
							
									void setZ(float z);
							 | 
						||
| 
								 | 
							
									void setValue(float x, float y, float z);
							 | 
						||
| 
								 | 
							
									void normalize();
							 | 
						||
| 
								 | 
							
									[Value] btVector3 rotate([Ref] btVector3 wAxis, float angle);
							 | 
						||
| 
								 | 
							
									float dot([Ref] btVector3 v);
							 | 
						||
| 
								 | 
							
									[Operator="*=", Ref] btVector3 op_mul(float x);
							 | 
						||
| 
								 | 
							
									[Operator="+=", Ref] btVector3 op_add([Ref] btVector3 v);
							 | 
						||
| 
								 | 
							
									[Operator="-=", Ref] btVector3 op_sub([Ref] btVector3 v);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btVector4 {
							 | 
						||
| 
								 | 
							
									void btVector4();
							 | 
						||
| 
								 | 
							
									void btVector4(float x, float y, float z, float w);
							 | 
						||
| 
								 | 
							
									float w();
							 | 
						||
| 
								 | 
							
									void setValue(float x, float y, float z, float w);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btVector4 implements btVector3;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btQuadWord {
							 | 
						||
| 
								 | 
							
									float x();
							 | 
						||
| 
								 | 
							
									float y();
							 | 
						||
| 
								 | 
							
									float z();
							 | 
						||
| 
								 | 
							
									float w();
							 | 
						||
| 
								 | 
							
									void setX(float x);
							 | 
						||
| 
								 | 
							
									void setY(float y);
							 | 
						||
| 
								 | 
							
									void setZ(float z);
							 | 
						||
| 
								 | 
							
									void setW(float w);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btQuaternion {
							 | 
						||
| 
								 | 
							
									void btQuaternion(float x, float y, float z, float w);
							 | 
						||
| 
								 | 
							
									void setValue(float x, float y, float z, float w);
							 | 
						||
| 
								 | 
							
									void setEulerZYX(float z, float y, float x);
							 | 
						||
| 
								 | 
							
									void setRotation([Ref] btVector3 axis, float angle);
							 | 
						||
| 
								 | 
							
									void normalize();
							 | 
						||
| 
								 | 
							
									float length2();
							 | 
						||
| 
								 | 
							
									float length();
							 | 
						||
| 
								 | 
							
									float dot([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Value] btQuaternion normalized();
							 | 
						||
| 
								 | 
							
									[Value] btVector3 getAxis();
							 | 
						||
| 
								 | 
							
									[Value] btQuaternion inverse();
							 | 
						||
| 
								 | 
							
									float getAngle();
							 | 
						||
| 
								 | 
							
									float getAngleShortestPath();
							 | 
						||
| 
								 | 
							
									float angle([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									float angleShortestPath([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Operator="+=", Ref] btQuaternion op_add([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Operator="-=", Ref] btQuaternion op_sub([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Operator="*=", Ref] btQuaternion op_mul(float s);
							 | 
						||
| 
								 | 
							
									[Operator="*=", Ref] btQuaternion op_mulq([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Operator="/=", Ref] btQuaternion op_div(float s);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btQuaternion implements btQuadWord;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btMatrix3x3 {
							 | 
						||
| 
								 | 
							
									void setEulerZYX(float ex, float ey, float ez);
							 | 
						||
| 
								 | 
							
									void getRotation([Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									[Value] btVector3 getRow(long y);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btTransform {
							 | 
						||
| 
								 | 
							
									void btTransform();
							 | 
						||
| 
								 | 
							
									void btTransform([Ref] btQuaternion q, [Ref] btVector3 v);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void setIdentity();
							 | 
						||
| 
								 | 
							
									void setOrigin([Ref] btVector3 origin);
							 | 
						||
| 
								 | 
							
									void setRotation([Ref] btQuaternion rotation);
							 | 
						||
| 
								 | 
							
									[Ref] btVector3 getOrigin();
							 | 
						||
| 
								 | 
							
									[Value] btQuaternion getRotation();
							 | 
						||
| 
								 | 
							
									[Ref] btMatrix3x3 getBasis();
							 | 
						||
| 
								 | 
							
									void setFromOpenGLMatrix(float[] m);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btMotionState {
							 | 
						||
| 
								 | 
							
									void getWorldTransform([Ref] btTransform worldTrans);
							 | 
						||
| 
								 | 
							
									void setWorldTransform([Ref] btTransform worldTrans);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDefaultMotionState {
							 | 
						||
| 
								 | 
							
									void btDefaultMotionState([Ref] optional btTransform startTrans, [Ref] optional btTransform centerOfMassOffset);
							 | 
						||
| 
								 | 
							
									[Value] attribute btTransform m_graphicsWorldTrans;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDefaultMotionState implements btMotionState;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Collision
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCollisionObject {
							 | 
						||
| 
								 | 
							
									void setAnisotropicFriction([Const, Ref] btVector3 anisotropicFriction, long frictionMode);
							 | 
						||
| 
								 | 
							
									btCollisionShape getCollisionShape();
							 | 
						||
| 
								 | 
							
									void setContactProcessingThreshold(float contactProcessingThreshold);
							 | 
						||
| 
								 | 
							
									void setActivationState(long newState);
							 | 
						||
| 
								 | 
							
									void forceActivationState(long newState);
							 | 
						||
| 
								 | 
							
									void activate(optional boolean forceActivation);
							 | 
						||
| 
								 | 
							
									boolean isActive();
							 | 
						||
| 
								 | 
							
									boolean isKinematicObject();
							 | 
						||
| 
								 | 
							
									boolean isStaticObject();
							 | 
						||
| 
								 | 
							
									boolean isStaticOrKinematicObject();
							 | 
						||
| 
								 | 
							
									void setRestitution(float rest);
							 | 
						||
| 
								 | 
							
									void setFriction(float frict);
							 | 
						||
| 
								 | 
							
									void setRollingFriction(float frict);
							 | 
						||
| 
								 | 
							
									[Ref] btTransform getWorldTransform();
							 | 
						||
| 
								 | 
							
									long getCollisionFlags();
							 | 
						||
| 
								 | 
							
									void setCollisionFlags(long flags);
							 | 
						||
| 
								 | 
							
									void setWorldTransform([Const,Ref] btTransform worldTrans);
							 | 
						||
| 
								 | 
							
									void setCollisionShape(btCollisionShape collisionShape);
							 | 
						||
| 
								 | 
							
									void setCcdMotionThreshold (float ccdMotionThreshold);
							 | 
						||
| 
								 | 
							
									void setCcdSweptSphereRadius (float radius);
							 | 
						||
| 
								 | 
							
									long getUserIndex();
							 | 
						||
| 
								 | 
							
									void setUserIndex(long index);
							 | 
						||
| 
								 | 
							
									VoidPtr getUserPointer();
							 | 
						||
| 
								 | 
							
									void setUserPointer(VoidPtr userPointer);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[NoDelete]
							 | 
						||
| 
								 | 
							
								interface btCollisionObjectWrapper {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface RayResultCallback {
							 | 
						||
| 
								 | 
							
									// abstract base class, no constructor
							 | 
						||
| 
								 | 
							
									boolean hasHit();
							 | 
						||
| 
								 | 
							
									attribute short m_collisionFilterGroup;
							 | 
						||
| 
								 | 
							
									attribute short m_collisionFilterMask;
							 | 
						||
| 
								 | 
							
									[Const] attribute btCollisionObject m_collisionObject;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface ClosestRayResultCallback {
							 | 
						||
| 
								 | 
							
									void ClosestRayResultCallback([Const, Ref] btVector3 from, [Const, Ref] btVector3 to);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_rayFromWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_rayToWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitNormalWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitPointWorld;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								ClosestRayResultCallback implements RayResultCallback;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btManifoldPoint {
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getPositionWorldOnA();
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getPositionWorldOnB();
							 | 
						||
| 
								 | 
							
									[Const] double getAppliedImpulse();
							 | 
						||
| 
								 | 
							
									[Const] double getDistance();
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_localPointA;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_localPointB;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_positionWorldOnB;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_positionWorldOnA;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_normalWorldOnB;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface ContactResultCallback {
							 | 
						||
| 
								 | 
							
									float addSingleResult([Ref] btManifoldPoint cp, [Const] btCollisionObjectWrapper colObj0Wrap, long partId0, long index0, [Const] btCollisionObjectWrapper colObj1Wrap, long partId1, long index1);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface LocalShapeInfo {
							 | 
						||
| 
								 | 
							
										attribute long m_shapePart;
							 | 
						||
| 
								 | 
							
										attribute long m_triangleIndex;
							 | 
						||
| 
								 | 
							
								 };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface LocalConvexResult	{
							 | 
						||
| 
								 | 
							
									void LocalConvexResult([Const] btCollisionObject hitCollisionObject, LocalShapeInfo localShapeInfo, [Const, Ref] btVector3 hitNormalLocal, [Const, Ref] btVector3 hitPointLocal, float hitFraction);
							 | 
						||
| 
								 | 
							
									[Const] attribute btCollisionObject m_hitCollisionObject;
							 | 
						||
| 
								 | 
							
									attribute LocalShapeInfo m_localShapeInfo;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitNormalLocal;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitPointLocal;
							 | 
						||
| 
								 | 
							
									attribute float m_hitFraction;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface ConvexResultCallback {
							 | 
						||
| 
								 | 
							
									// abstract base class, no constructor
							 | 
						||
| 
								 | 
							
									boolean hasHit();
							 | 
						||
| 
								 | 
							
									attribute short m_collisionFilterGroup;
							 | 
						||
| 
								 | 
							
									attribute short m_collisionFilterMask;
							 | 
						||
| 
								 | 
							
									attribute float m_closestHitFraction;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btCollisionWorld::"]
							 | 
						||
| 
								 | 
							
								interface ClosestConvexResultCallback {
							 | 
						||
| 
								 | 
							
									void ClosestConvexResultCallback([Const, Ref] btVector3 convexFromWorld, [Const, Ref] btVector3 convexToWorld);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_convexFromWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_convexToWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitNormalWorld;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hitPointWorld;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								ClosestConvexResultCallback implements ConvexResultCallback;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCollisionShape {
							 | 
						||
| 
								 | 
							
									void setLocalScaling([Const, Ref] btVector3 scaling);
							 | 
						||
| 
								 | 
							
									void calculateLocalInertia(float mass, [Ref] btVector3 inertia);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConvexShape {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConvexShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConvexTriangleMeshShape {
							 | 
						||
| 
								 | 
							
									void btConvexTriangleMeshShape(btStridingMeshInterface meshInterface, optional boolean calcAabb);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConvexTriangleMeshShape implements btConvexShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btBoxShape {
							 | 
						||
| 
								 | 
							
									void btBoxShape([Ref] btVector3 boxHalfExtents);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btBoxShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCapsuleShape {
							 | 
						||
| 
								 | 
							
									void btCapsuleShape(float radius, float height);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCapsuleShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCapsuleShapeX {
							 | 
						||
| 
								 | 
							
									void btCapsuleShapeX(float radius, float height);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCapsuleShapeX implements btCapsuleShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCapsuleShapeZ {
							 | 
						||
| 
								 | 
							
									void btCapsuleShapeZ(float radius, float height);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCapsuleShapeZ implements btCapsuleShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCylinderShape {
							 | 
						||
| 
								 | 
							
									void btCylinderShape([Ref] btVector3 halfExtents);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCylinderShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCylinderShapeX {
							 | 
						||
| 
								 | 
							
									void btCylinderShapeX([Ref] btVector3 halfExtents);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCylinderShapeX implements btCylinderShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCylinderShapeZ {
							 | 
						||
| 
								 | 
							
									void btCylinderShapeZ([Ref] btVector3 halfExtents);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCylinderShapeZ implements btCylinderShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSphereShape {
							 | 
						||
| 
								 | 
							
									void btSphereShape(float radius);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btSphereShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConeShape {
							 | 
						||
| 
								 | 
							
									void btConeShape(float radius, float height);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConeShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConvexHullShape {
							 | 
						||
| 
								 | 
							
									void btConvexHullShape();
							 | 
						||
| 
								 | 
							
									void addPoint([Const, Ref] btVector3 point, optional boolean recalculateLocalAABB);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConvexHullShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConeShapeX {
							 | 
						||
| 
								 | 
							
									void btConeShapeX(float radius, float height);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConeShapeX implements btConeShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConeShapeZ {
							 | 
						||
| 
								 | 
							
									void btConeShapeZ(float radius, float height);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConeShapeZ implements btConeShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCompoundShape {
							 | 
						||
| 
								 | 
							
									void btCompoundShape(optional boolean enableDynamicAabbTree);
							 | 
						||
| 
								 | 
							
									void addChildShape([Const, Ref] btTransform localTransform, btCollisionShape shape);
							 | 
						||
| 
								 | 
							
									void removeChildShapeByIndex(long childShapeindex);
							 | 
						||
| 
								 | 
							
									[Const] long getNumChildShapes();
							 | 
						||
| 
								 | 
							
									btCollisionShape getChildShape(long index);
							 | 
						||
| 
								 | 
							
									void setMargin(float margin);
							 | 
						||
| 
								 | 
							
									float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCompoundShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btStridingMeshInterface {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btTriangleMesh {
							 | 
						||
| 
								 | 
							
									void btTriangleMesh(optional boolean use32bitIndices, optional boolean use4componentVertices);
							 | 
						||
| 
								 | 
							
									void addTriangle([Const, Ref] btVector3 vertex0, [Const, Ref] btVector3 vertex1, [Const, Ref] btVector3 vertex2, optional boolean removeDuplicateVertices);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btTriangleMesh implements btStridingMeshInterface;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum PHY_ScalarType {
							 | 
						||
| 
								 | 
							
										"PHY_FLOAT",
							 | 
						||
| 
								 | 
							
										"PHY_DOUBLE",
							 | 
						||
| 
								 | 
							
										"PHY_INTEGER",
							 | 
						||
| 
								 | 
							
										"PHY_SHORT",
							 | 
						||
| 
								 | 
							
										"PHY_FIXEDPOINT88",
							 | 
						||
| 
								 | 
							
										"PHY_UCHAR"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConcaveShape {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConcaveShape implements btCollisionShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btStaticPlaneShape {
							 | 
						||
| 
								 | 
							
									void btStaticPlaneShape([Const, Ref] btVector3 planeNormal, float planeConstant);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btStaticPlaneShape implements btConcaveShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btTriangleMeshShape {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btTriangleMeshShape implements btConcaveShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btBvhTriangleMeshShape {
							 | 
						||
| 
								 | 
							
									void btBvhTriangleMeshShape(btStridingMeshInterface meshInterface, boolean useQuantizedAabbCompression, optional boolean buildBvh);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btBvhTriangleMeshShape implements btTriangleMeshShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btHeightfieldTerrainShape {
							 | 
						||
| 
								 | 
							
										void btHeightfieldTerrainShape(long heightStickWidth, long heightStickLength, VoidPtr heightfieldData, float heightScale, float minHeight, float maxHeight, long upAxis, PHY_ScalarType hdt, boolean flipQuadEdges);
							 | 
						||
| 
								 | 
							
										void setMargin(float margin);
							 | 
						||
| 
								 | 
							
										float getMargin();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btHeightfieldTerrainShape implements btConcaveShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btGImpactMeshShape {
							 | 
						||
| 
								 | 
							
								  void btGImpactMeshShape(btStridingMeshInterface meshInterface);
							 | 
						||
| 
								 | 
							
								  void updateBound();
							 | 
						||
| 
								 | 
							
								  void registerAlgorithm(btCollisionDispatcher dispatcher);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btGImpactMeshShape implements btConcaveShape;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDefaultCollisionConstructionInfo {
							 | 
						||
| 
								 | 
							
									void btDefaultCollisionConstructionInfo();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDefaultCollisionConfiguration {
							 | 
						||
| 
								 | 
							
									void btDefaultCollisionConfiguration([Ref] optional btDefaultCollisionConstructionInfo info);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDefaultCollisionConfiguration implements btCollisionConfiguration;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btPersistentManifold {
							 | 
						||
| 
								 | 
							
									void btPersistentManifold();
							 | 
						||
| 
								 | 
							
									[Const] btCollisionObject getBody0();
							 | 
						||
| 
								 | 
							
									[Const] btCollisionObject getBody1();
							 | 
						||
| 
								 | 
							
									long getNumContacts();
							 | 
						||
| 
								 | 
							
									[Ref] btManifoldPoint getContactPoint(long index);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDispatcher {
							 | 
						||
| 
								 | 
							
									long getNumManifolds();
							 | 
						||
| 
								 | 
							
									btPersistentManifold getManifoldByIndexInternal(long index);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCollisionDispatcher {
							 | 
						||
| 
								 | 
							
									void btCollisionDispatcher(btDefaultCollisionConfiguration conf);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btCollisionDispatcher implements btDispatcher;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btOverlappingPairCallback {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btOverlappingPairCache {
							 | 
						||
| 
								 | 
							
									void setInternalGhostPairCallback(btOverlappingPairCallback ghostPairCallback);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btAxisSweep3 {
							 | 
						||
| 
								 | 
							
									void btAxisSweep3([Ref] btVector3 worldAabbMin, [Ref] btVector3 worldAabbMax, optional long maxHandles, optional btOverlappingPairCache pairCache, optional boolean disableRaycastAccelerator);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btBroadphaseInterface {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCollisionConfiguration {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDbvtBroadphase {
							 | 
						||
| 
								 | 
							
									void btDbvtBroadphase();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDbvtBroadphase implements btBroadphaseInterface;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Dynamics
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btRigidBody::"]
							 | 
						||
| 
								 | 
							
								interface btRigidBodyConstructionInfo {
							 | 
						||
| 
								 | 
							
									void btRigidBodyConstructionInfo(float mass, btMotionState motionState, btCollisionShape collisionShape, [Ref] optional btVector3 localInertia);
							 | 
						||
| 
								 | 
							
									attribute float m_linearDamping;
							 | 
						||
| 
								 | 
							
									attribute float m_angularDamping;
							 | 
						||
| 
								 | 
							
									attribute float m_friction;
							 | 
						||
| 
								 | 
							
									attribute float m_rollingFriction;
							 | 
						||
| 
								 | 
							
									attribute float m_restitution;
							 | 
						||
| 
								 | 
							
									attribute float m_linearSleepingThreshold;
							 | 
						||
| 
								 | 
							
									attribute float m_angularSleepingThreshold;
							 | 
						||
| 
								 | 
							
									attribute boolean m_additionalDamping;
							 | 
						||
| 
								 | 
							
									attribute float m_additionalDampingFactor;
							 | 
						||
| 
								 | 
							
									attribute float m_additionalLinearDampingThresholdSqr;
							 | 
						||
| 
								 | 
							
									attribute float m_additionalAngularDampingThresholdSqr;
							 | 
						||
| 
								 | 
							
									attribute float m_additionalAngularDampingFactor;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btRigidBody {
							 | 
						||
| 
								 | 
							
									void btRigidBody([Const, Ref] btRigidBodyConstructionInfo constructionInfo);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Const, Ref] btTransform getCenterOfMassTransform();
							 | 
						||
| 
								 | 
							
									void setCenterOfMassTransform([Const, Ref] btTransform xform);
							 | 
						||
| 
								 | 
							
									void setSleepingThresholds(float linear, float angular);
							 | 
						||
| 
								 | 
							
									void setDamping(float lin_damping, float ang_damping);
							 | 
						||
| 
								 | 
							
									void setMassProps(float mass, [Const, Ref] btVector3 inertia);
							 | 
						||
| 
								 | 
							
									void setLinearFactor([Const, Ref] btVector3 linearFactor);
							 | 
						||
| 
								 | 
							
									void applyTorque([Const, Ref] btVector3 torque);
							 | 
						||
| 
								 | 
							
									void applyForce([Const, Ref] btVector3 force, [Const, Ref] btVector3 rel_pos);
							 | 
						||
| 
								 | 
							
									void applyCentralForce([Const, Ref] btVector3 force);
							 | 
						||
| 
								 | 
							
									void applyTorqueImpulse([Const, Ref] btVector3 torque);
							 | 
						||
| 
								 | 
							
									void applyImpulse([Const, Ref] btVector3 impulse, [Const, Ref] btVector3 rel_pos);
							 | 
						||
| 
								 | 
							
									void applyCentralImpulse([Const, Ref] btVector3 impulse);
							 | 
						||
| 
								 | 
							
									void updateInertiaTensor();
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getLinearVelocity();
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getAngularVelocity();
							 | 
						||
| 
								 | 
							
									void setLinearVelocity([Const, Ref] btVector3 lin_vel);
							 | 
						||
| 
								 | 
							
									void setAngularVelocity([Const, Ref] btVector3 ang_vel);
							 | 
						||
| 
								 | 
							
									btMotionState getMotionState();
							 | 
						||
| 
								 | 
							
									void setMotionState(btMotionState motionState);
							 | 
						||
| 
								 | 
							
									void setAngularFactor([Const, Ref] btVector3 angularFactor);
							 | 
						||
| 
								 | 
							
									btRigidBody upcast([Const] btCollisionObject colObj);
							 | 
						||
| 
								 | 
							
									void getAabb([Ref] btVector3 aabbMin, [Ref] btVector3 aabbMax);
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getGravity();
							 | 
						||
| 
								 | 
							
									void setGravity([Const, Ref] btVector3 acceleration);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btRigidBody implements btCollisionObject;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConstraintSetting {
							 | 
						||
| 
								 | 
							
									void btConstraintSetting();
							 | 
						||
| 
								 | 
							
									attribute float m_tau;
							 | 
						||
| 
								 | 
							
									attribute float m_damping;
							 | 
						||
| 
								 | 
							
									attribute float m_impulseClamp;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btTypedConstraint {
							 | 
						||
| 
								 | 
							
									void enableFeedback(boolean needsFeedback);
							 | 
						||
| 
								 | 
							
									[Const] float getBreakingImpulseThreshold();
							 | 
						||
| 
								 | 
							
									void setBreakingImpulseThreshold([Const] float threshold);
							 | 
						||
| 
								 | 
							
									[Const] float getParam(long num, long axis);
							 | 
						||
| 
								 | 
							
									void setParam(long num, float value, long axis);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum btConstraintParams {
							 | 
						||
| 
								 | 
							
									"BT_CONSTRAINT_ERP",
							 | 
						||
| 
								 | 
							
									"BT_CONSTRAINT_STOP_ERP",
							 | 
						||
| 
								 | 
							
									"BT_CONSTRAINT_CFM",
							 | 
						||
| 
								 | 
							
									"BT_CONSTRAINT_STOP_CFM"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btPoint2PointConstraint {
							 | 
						||
| 
								 | 
							
									void btPoint2PointConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btVector3 pivotInA, [Ref] btVector3 pivotInB);
							 | 
						||
| 
								 | 
							
									void btPoint2PointConstraint([Ref] btRigidBody rbA, [Ref] btVector3 pivotInA);
							 | 
						||
| 
								 | 
							
									void setPivotA([Const, Ref] btVector3 pivotA);
							 | 
						||
| 
								 | 
							
									void setPivotB([Const, Ref] btVector3 pivotB);
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getPivotInA();
							 | 
						||
| 
								 | 
							
									[Const, Ref] btVector3 getPivotInB();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Value] attribute btConstraintSetting m_setting;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btPoint2PointConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btGeneric6DofConstraint {
							 | 
						||
| 
								 | 
							
									void btGeneric6DofConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform frameInA, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameA);
							 | 
						||
| 
								 | 
							
									void btGeneric6DofConstraint([Ref] btRigidBody rbB, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameB);
							 | 
						||
| 
								 | 
							
									void setLinearLowerLimit([Const, Ref] btVector3 linearLower);
							 | 
						||
| 
								 | 
							
									void setLinearUpperLimit([Const, Ref] btVector3 linearUpper);
							 | 
						||
| 
								 | 
							
									void setAngularLowerLimit([Const, Ref] btVector3 angularLower);
							 | 
						||
| 
								 | 
							
									void setAngularUpperLimit([Const, Ref] btVector3 angularUpper);
							 | 
						||
| 
								 | 
							
									[Ref] btTransform getFrameOffsetA();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btGeneric6DofConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btGeneric6DofSpringConstraint {
							 | 
						||
| 
								 | 
							
									void btGeneric6DofSpringConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform frameInA, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameA);
							 | 
						||
| 
								 | 
							
									void btGeneric6DofSpringConstraint([Ref] btRigidBody rbB, [Ref] btTransform frameInB, boolean useLinearFrameReferenceFrameB);
							 | 
						||
| 
								 | 
							
									void enableSpring(long index, boolean onOff);
							 | 
						||
| 
								 | 
							
									void setStiffness(long index, float stiffness);
							 | 
						||
| 
								 | 
							
									void setDamping(long index, float damping);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btGeneric6DofSpringConstraint implements btGeneric6DofConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSequentialImpulseConstraintSolver {
							 | 
						||
| 
								 | 
							
									void btSequentialImpulseConstraintSolver();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								btSequentialImpulseConstraintSolver implements btConstraintSolver;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConeTwistConstraint {
							 | 
						||
| 
								 | 
							
									void btConeTwistConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform rbAFrame, [Ref] btTransform rbBFrame);
							 | 
						||
| 
								 | 
							
									void btConeTwistConstraint([Ref] btRigidBody rbA, [Ref] btTransform rbAFrame);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void setLimit(long limitIndex, float limitValue);
							 | 
						||
| 
								 | 
							
									void setAngularOnly(boolean angularOnly);
							 | 
						||
| 
								 | 
							
									void setDamping(float damping);
							 | 
						||
| 
								 | 
							
									void enableMotor(boolean b);
							 | 
						||
| 
								 | 
							
									void setMaxMotorImpulse(float maxMotorImpulse);
							 | 
						||
| 
								 | 
							
									void setMaxMotorImpulseNormalized(float maxMotorImpulse);
							 | 
						||
| 
								 | 
							
									void setMotorTarget([Const,Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
									void setMotorTargetInConstraintSpace([Const,Ref] btQuaternion q);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btConeTwistConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btHingeConstraint {
							 | 
						||
| 
								 | 
							
									void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btVector3 pivotInA, [Ref] btVector3 pivotInB, [Ref] btVector3 axisInA, [Ref] btVector3 axisInB, optional boolean useReferenceFrameA);
							 | 
						||
| 
								 | 
							
									void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btVector3 pivotInA, [Ref] btVector3 axisInA, optional boolean useReferenceFrameA);
							 | 
						||
| 
								 | 
							
									//void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Ref] btTransform rbAFrame, [Ref] btTransform rbBFrame, optional boolean useReferenceFrameA);
							 | 
						||
| 
								 | 
							
									//void btHingeConstraint ([Ref] btRigidBody rbA, [Ref] btTransform rbAFrame, optional boolean useReferenceFrameA);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void setLimit(float low, float high, float softness, float biasFactor, optional float relaxationFactor);
							 | 
						||
| 
								 | 
							
									void enableAngularMotor(boolean enableMotor, float targetVelocity, float maxMotorImpulse);
							 | 
						||
| 
								 | 
							
									void setAngularOnly(boolean angularOnly);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void enableMotor(boolean enableMotor);
							 | 
						||
| 
								 | 
							
									void setMaxMotorImpulse(float maxMotorImpulse);
							 | 
						||
| 
								 | 
							
									void setMotorTarget([Const,Ref] btQuaternion qAinB, float dt);
							 | 
						||
| 
								 | 
							
									//void setMotorTarget(float targetAngle, float dt);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btHingeConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSliderConstraint {
							 | 
						||
| 
								 | 
							
									void btSliderConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Const,Ref] btTransform frameInA, [Const,Ref] btTransform frameInB, boolean useLinearReferenceFrameA);
							 | 
						||
| 
								 | 
							
									void btSliderConstraint([Ref] btRigidBody rbB, [Const,Ref] btTransform frameInB, boolean useLinearReferenceFrameA);
							 | 
						||
| 
								 | 
							
									void setLowerLinLimit(float lowerLimit);
							 | 
						||
| 
								 | 
							
									void setUpperLinLimit(float upperLimit);
							 | 
						||
| 
								 | 
							
									void setLowerAngLimit(float lowerAngLimit);
							 | 
						||
| 
								 | 
							
									void setUpperAngLimit(float upperAngLimit);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btSliderConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btFixedConstraint {
							 | 
						||
| 
								 | 
							
									void btFixedConstraint([Ref] btRigidBody rbA, [Ref] btRigidBody rbB, [Const,Ref] btTransform frameInA, [Const,Ref] btTransform frameInB);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btFixedConstraint implements btTypedConstraint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btConstraintSolver {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDispatcherInfo {
							 | 
						||
| 
								 | 
							
									attribute float m_timeStep;
							 | 
						||
| 
								 | 
							
									attribute long m_stepCount;
							 | 
						||
| 
								 | 
							
									attribute long m_dispatchFunc;
							 | 
						||
| 
								 | 
							
									attribute float m_timeOfImpact;
							 | 
						||
| 
								 | 
							
									attribute boolean m_useContinuous;
							 | 
						||
| 
								 | 
							
									attribute boolean m_enableSatConvex;
							 | 
						||
| 
								 | 
							
									attribute boolean m_enableSPU;
							 | 
						||
| 
								 | 
							
									attribute boolean m_useEpa;
							 | 
						||
| 
								 | 
							
									attribute float m_allowedCcdPenetration;
							 | 
						||
| 
								 | 
							
									attribute boolean m_useConvexConservativeDistanceUtil;
							 | 
						||
| 
								 | 
							
									attribute float m_convexConservativeDistanceThreshold;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btCollisionWorld {
							 | 
						||
| 
								 | 
							
									btDispatcher getDispatcher();
							 | 
						||
| 
								 | 
							
									void rayTest([Const, Ref] btVector3 rayFromWorld, [Const, Ref] btVector3 rayToWorld, [Ref] RayResultCallback resultCallback);
							 | 
						||
| 
								 | 
							
									btOverlappingPairCache getPairCache();
							 | 
						||
| 
								 | 
							
									[Ref] btDispatcherInfo getDispatchInfo();
							 | 
						||
| 
								 | 
							
									void addCollisionObject(btCollisionObject collisionObject, optional short collisionFilterGroup, optional short collisionFilterMask);
							 | 
						||
| 
								 | 
							
									[Const] btBroadphaseInterface getBroadphase ();
							 | 
						||
| 
								 | 
							
									void convexSweepTest([Const] btConvexShape castShape, [Const, Ref] btTransform from, [Const, Ref] btTransform to, [Ref] ConvexResultCallback resultCallback, float allowedCcdPenetration);
							 | 
						||
| 
								 | 
							
									void contactPairTest([Const] btCollisionObject colObjA, [Const] btCollisionObject colObjB, [Ref] ContactResultCallback resultCallback);
							 | 
						||
| 
								 | 
							
									void contactTest([Const] btCollisionObject colObj, [Ref] ContactResultCallback resultCallback);
							 | 
						||
| 
								 | 
							
									void updateSingleAabb(btCollisionObject colObj);
							 | 
						||
| 
								 | 
							
									void debugDrawWorld();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btContactSolverInfo {
							 | 
						||
| 
								 | 
							
									attribute long m_splitImpulse;
							 | 
						||
| 
								 | 
							
									attribute long m_splitImpulsePenetrationThreshold;
							 | 
						||
| 
								 | 
							
									attribute long m_numIterations;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDynamicsWorld {
							 | 
						||
| 
								 | 
							
									void addAction(btActionInterface action);
							 | 
						||
| 
								 | 
							
									void removeAction(btActionInterface action);
							 | 
						||
| 
								 | 
							
									[Ref] btContactSolverInfo getSolverInfo();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDynamicsWorld implements btCollisionWorld;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDiscreteDynamicsWorld {
							 | 
						||
| 
								 | 
							
									void btDiscreteDynamicsWorld(btDispatcher dispatcher, btBroadphaseInterface pairCache, btConstraintSolver constraintSolver, btCollisionConfiguration collisionConfiguration);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void setGravity([Ref] btVector3 gravity);
							 | 
						||
| 
								 | 
							
									[Value] btVector3 getGravity();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void addRigidBody(btRigidBody body);
							 | 
						||
| 
								 | 
							
									void addRigidBody(btRigidBody body, short group, short mask);
							 | 
						||
| 
								 | 
							
									void removeRigidBody(btRigidBody body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void addConstraint(btTypedConstraint constraint, optional boolean disableCollisionsBetweenLinkedBodies);
							 | 
						||
| 
								 | 
							
									void removeConstraint(btTypedConstraint constraint);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									long stepSimulation(float timeStep, optional long maxSubSteps, optional float fixedTimeStep);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDiscreteDynamicsWorld implements btDynamicsWorld;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btRaycastVehicle::"]
							 | 
						||
| 
								 | 
							
								interface btVehicleTuning {
							 | 
						||
| 
								 | 
							
									void btVehicleTuning();
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionStiffness;
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionCompression;
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionDamping;
							 | 
						||
| 
								 | 
							
									attribute float m_maxSuspensionTravelCm;
							 | 
						||
| 
								 | 
							
									attribute float m_frictionSlip;
							 | 
						||
| 
								 | 
							
									attribute float m_maxSuspensionForce;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btDefaultVehicleRaycaster::"]
							 | 
						||
| 
								 | 
							
								interface btVehicleRaycasterResult {
							 | 
						||
| 
								 | 
							
										[Value] attribute btVector3 m_hitPointInWorld;
							 | 
						||
| 
								 | 
							
										[Value] attribute btVector3 m_hitNormalInWorld;
							 | 
						||
| 
								 | 
							
										attribute float m_distFraction;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btVehicleRaycaster {
							 | 
						||
| 
								 | 
							
										void castRay ([Const, Ref] btVector3 from, [Const, Ref] btVector3 to, [Const, Ref] btVehicleRaycasterResult result);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDefaultVehicleRaycaster {
							 | 
						||
| 
								 | 
							
									void btDefaultVehicleRaycaster(btDynamicsWorld world);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDefaultVehicleRaycaster implements btVehicleRaycaster;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btWheelInfo::"]
							 | 
						||
| 
								 | 
							
								interface RaycastInfo {
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_contactNormalWS;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_contactPointWS;
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionLength;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_hardPointWS;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_wheelDirectionWS;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_wheelAxleWS;
							 | 
						||
| 
								 | 
							
									attribute boolean m_isInContact;
							 | 
						||
| 
								 | 
							
									attribute any m_groundObject;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btWheelInfoConstructionInfo {
							 | 
						||
| 
								 | 
							
										[Value] attribute btVector3 m_chassisConnectionCS;
							 | 
						||
| 
								 | 
							
										[Value] attribute btVector3 m_wheelDirectionCS;
							 | 
						||
| 
								 | 
							
										[Value] attribute btVector3 m_wheelAxleCS;
							 | 
						||
| 
								 | 
							
										attribute float m_suspensionRestLength;
							 | 
						||
| 
								 | 
							
										attribute float m_maxSuspensionTravelCm;
							 | 
						||
| 
								 | 
							
										attribute float m_wheelRadius;
							 | 
						||
| 
								 | 
							
										attribute float m_suspensionStiffness;
							 | 
						||
| 
								 | 
							
										attribute float m_wheelsDampingCompression;
							 | 
						||
| 
								 | 
							
										attribute float m_wheelsDampingRelaxation;
							 | 
						||
| 
								 | 
							
										attribute float m_frictionSlip;
							 | 
						||
| 
								 | 
							
										attribute float m_maxSuspensionForce;
							 | 
						||
| 
								 | 
							
										attribute boolean m_bIsFrontWheel;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btWheelInfo {
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionStiffness;
							 | 
						||
| 
								 | 
							
									attribute float m_frictionSlip;
							 | 
						||
| 
								 | 
							
									attribute float m_engineForce;
							 | 
						||
| 
								 | 
							
									attribute float m_rollInfluence;
							 | 
						||
| 
								 | 
							
									attribute float m_suspensionRestLength1;
							 | 
						||
| 
								 | 
							
									attribute float m_wheelsRadius;
							 | 
						||
| 
								 | 
							
									attribute float m_wheelsDampingCompression;
							 | 
						||
| 
								 | 
							
									attribute float m_wheelsDampingRelaxation;
							 | 
						||
| 
								 | 
							
									attribute float m_steering;
							 | 
						||
| 
								 | 
							
									attribute float m_maxSuspensionForce;
							 | 
						||
| 
								 | 
							
									attribute float m_maxSuspensionTravelCm;
							 | 
						||
| 
								 | 
							
									attribute float m_wheelsSuspensionForce;
							 | 
						||
| 
								 | 
							
									attribute boolean m_bIsFrontWheel;
							 | 
						||
| 
								 | 
							
									[Value] attribute RaycastInfo m_raycastInfo;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_chassisConnectionPointCS;
							 | 
						||
| 
								 | 
							
									void btWheelInfo([Ref] btWheelInfoConstructionInfo ci);
							 | 
						||
| 
								 | 
							
									float getSuspensionRestLength ();
							 | 
						||
| 
								 | 
							
									void	updateWheel ([Const, Ref] btRigidBody chassis, [Ref] RaycastInfo raycastInfo);
							 | 
						||
| 
								 | 
							
									[Value] attribute btTransform m_worldTransform;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_wheelDirectionCS;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_wheelAxleCS;
							 | 
						||
| 
								 | 
							
									attribute float m_rotation;
							 | 
						||
| 
								 | 
							
									attribute float m_deltaRotation;
							 | 
						||
| 
								 | 
							
									attribute float m_brake;
							 | 
						||
| 
								 | 
							
									attribute float	m_clippedInvContactDotSuspension;
							 | 
						||
| 
								 | 
							
									attribute float	m_suspensionRelativeVelocity;
							 | 
						||
| 
								 | 
							
									attribute float	m_skidInfo;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btActionInterface {
							 | 
						||
| 
								 | 
							
										void updateAction (btCollisionWorld collisionWorld, float deltaTimeStep);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btKinematicCharacterController {
							 | 
						||
| 
								 | 
							
									void btKinematicCharacterController(btPairCachingGhostObject ghostObject, btConvexShape convexShape, float stepHeight, [Const,Ref] optional btVector3 upAxis);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void setUp([Const,Ref] btVector3 axis);
							 | 
						||
| 
								 | 
							
									void setWalkDirection ([Const,Ref] btVector3 walkDirection);
							 | 
						||
| 
								 | 
							
									void setVelocityForTimeInterval ([Const,Ref] btVector3 velocity, float timeInterval);
							 | 
						||
| 
								 | 
							
									//void reset ();
							 | 
						||
| 
								 | 
							
									void warp ([Const, Ref]btVector3 origin);
							 | 
						||
| 
								 | 
							
									void preStep (btCollisionWorld collisionWorld);
							 | 
						||
| 
								 | 
							
									void playerStep (btCollisionWorld collisionWorld, float dt);
							 | 
						||
| 
								 | 
							
									void setFallSpeed (float fallSpeed);
							 | 
						||
| 
								 | 
							
									void setJumpSpeed (float jumpSpeed);
							 | 
						||
| 
								 | 
							
									void setMaxJumpHeight (float maxJumpHeight);
							 | 
						||
| 
								 | 
							
									boolean canJump ();
							 | 
						||
| 
								 | 
							
									void jump ();
							 | 
						||
| 
								 | 
							
									void setGravity ([Const,Ref] btVector3 gravity);
							 | 
						||
| 
								 | 
							
									[Value] btVector3 getGravity ();
							 | 
						||
| 
								 | 
							
									void setMaxSlope (float slopeRadians);
							 | 
						||
| 
								 | 
							
									float getMaxSlope ();
							 | 
						||
| 
								 | 
							
									btPairCachingGhostObject getGhostObject ();
							 | 
						||
| 
								 | 
							
									void setUseGhostSweepTest (boolean useGhostObjectSweepTest);
							 | 
						||
| 
								 | 
							
									boolean onGround ();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btKinematicCharacterController implements btActionInterface;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btRaycastVehicle {
							 | 
						||
| 
								 | 
							
									void btRaycastVehicle([Const, Ref] btVehicleTuning tuning, btRigidBody chassis, btVehicleRaycaster raycaster);
							 | 
						||
| 
								 | 
							
									void applyEngineForce(float force, long wheel);
							 | 
						||
| 
								 | 
							
									void setSteeringValue(float steering, long wheel);
							 | 
						||
| 
								 | 
							
									[Const, Ref] btTransform getWheelTransformWS(long wheelIndex);
							 | 
						||
| 
								 | 
							
									void updateWheelTransform(long wheelIndex, boolean interpolatedTransform);
							 | 
						||
| 
								 | 
							
									[Ref] btWheelInfo addWheel([Const, Ref] btVector3 connectionPointCS0, [Const, Ref] btVector3 wheelDirectionCS0, [Const, Ref] btVector3 wheelAxleCS, float suspensionRestLength, float wheelRadius, [Const, Ref] btVehicleTuning tuning, boolean isFrontWheel);
							 | 
						||
| 
								 | 
							
									long getNumWheels();
							 | 
						||
| 
								 | 
							
									btRigidBody getRigidBody();
							 | 
						||
| 
								 | 
							
									[Ref] btWheelInfo getWheelInfo(long index);
							 | 
						||
| 
								 | 
							
									void setBrake(float brake, long wheelIndex);
							 | 
						||
| 
								 | 
							
									void setCoordinateSystem(long rightIndex, long upIndex, long forwardIndex);
							 | 
						||
| 
								 | 
							
									float getCurrentSpeedKmHour();
							 | 
						||
| 
								 | 
							
									[Const, Ref] btTransform getChassisWorldTransform();
							 | 
						||
| 
								 | 
							
									float rayCast([Ref] btWheelInfo wheel);
							 | 
						||
| 
								 | 
							
									void updateVehicle(float step);
							 | 
						||
| 
								 | 
							
									void resetSuspension();
							 | 
						||
| 
								 | 
							
									float getSteeringValue(long wheel);
							 | 
						||
| 
								 | 
							
									void updateWheelTransformsWS([Ref] btWheelInfo wheel, optional boolean interpolatedTransform);
							 | 
						||
| 
								 | 
							
									void setPitchControl(float pitch);
							 | 
						||
| 
								 | 
							
									void updateSuspension(float deltaTime);
							 | 
						||
| 
								 | 
							
									void updateFriction(float timeStep);
							 | 
						||
| 
								 | 
							
									long getRightAxis();
							 | 
						||
| 
								 | 
							
									long getUpAxis();
							 | 
						||
| 
								 | 
							
									long getForwardAxis();
							 | 
						||
| 
								 | 
							
									[Value] btVector3 getForwardVector();
							 | 
						||
| 
								 | 
							
									long getUserConstraintType();
							 | 
						||
| 
								 | 
							
									void setUserConstraintType(long userConstraintType);
							 | 
						||
| 
								 | 
							
									void setUserConstraintId(long uid);
							 | 
						||
| 
								 | 
							
									long getUserConstraintId();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btRaycastVehicle implements btActionInterface;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btGhostObject {
							 | 
						||
| 
								 | 
							
									void btGhostObject();
							 | 
						||
| 
								 | 
							
									long getNumOverlappingObjects();
							 | 
						||
| 
								 | 
							
									btCollisionObject getOverlappingObject(long index);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btGhostObject implements btCollisionObject;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btPairCachingGhostObject {
							 | 
						||
| 
								 | 
							
									void btPairCachingGhostObject();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btPairCachingGhostObject implements btGhostObject;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btGhostPairCallback {
							 | 
						||
| 
								 | 
							
									void btGhostPairCallback();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// soft bodies
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBodyWorldInfo {
							 | 
						||
| 
								 | 
							
									void btSoftBodyWorldInfo();
							 | 
						||
| 
								 | 
							
									attribute float air_density;
							 | 
						||
| 
								 | 
							
									attribute float water_density;
							 | 
						||
| 
								 | 
							
									attribute float water_offset;
							 | 
						||
| 
								 | 
							
									attribute float m_maxDisplacement;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 water_normal;
							 | 
						||
| 
								 | 
							
									attribute btBroadphaseInterface m_broadphase;
							 | 
						||
| 
								 | 
							
									attribute btDispatcher m_dispatcher;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_gravity;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btSoftBody::"]
							 | 
						||
| 
								 | 
							
								interface Node {
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_x;
							 | 
						||
| 
								 | 
							
									[Value] attribute btVector3 m_n;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btSoftBody::"]
							 | 
						||
| 
								 | 
							
								interface tNodeArray {
							 | 
						||
| 
								 | 
							
									[Const] long size();
							 | 
						||
| 
								 | 
							
									[Const, Ref] Node at(long n);
							 | 
						||
| 
								 | 
							
								 };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btSoftBody::"]
							 | 
						||
| 
								 | 
							
								interface Material {
							 | 
						||
| 
								 | 
							
									attribute float m_kLST;
							 | 
						||
| 
								 | 
							
									attribute float m_kAST;
							 | 
						||
| 
								 | 
							
									attribute float m_kVST;
							 | 
						||
| 
								 | 
							
									attribute long m_flags;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btSoftBody::"]
							 | 
						||
| 
								 | 
							
								interface tMaterialArray {
							 | 
						||
| 
								 | 
							
									[Const] long size();
							 | 
						||
| 
								 | 
							
									Material at(long n);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Prefix="btSoftBody::"]
							 | 
						||
| 
								 | 
							
								interface Config {
							 | 
						||
| 
								 | 
							
									attribute float kVCF;
							 | 
						||
| 
								 | 
							
									attribute float kDP;
							 | 
						||
| 
								 | 
							
									attribute float kDG;
							 | 
						||
| 
								 | 
							
									attribute float kLF;
							 | 
						||
| 
								 | 
							
									attribute float kPR;
							 | 
						||
| 
								 | 
							
									attribute float kVC;
							 | 
						||
| 
								 | 
							
									attribute float kDF;
							 | 
						||
| 
								 | 
							
									attribute float kMT;
							 | 
						||
| 
								 | 
							
									attribute float kCHR;
							 | 
						||
| 
								 | 
							
									attribute float kKHR;
							 | 
						||
| 
								 | 
							
									attribute float kSHR;
							 | 
						||
| 
								 | 
							
									attribute float kAHR;
							 | 
						||
| 
								 | 
							
									attribute float kSRHR_CL;
							 | 
						||
| 
								 | 
							
									attribute float kSKHR_CL;
							 | 
						||
| 
								 | 
							
									attribute float kSSHR_CL;
							 | 
						||
| 
								 | 
							
									attribute float kSR_SPLT_CL;
							 | 
						||
| 
								 | 
							
									attribute float kSK_SPLT_CL;
							 | 
						||
| 
								 | 
							
									attribute float kSS_SPLT_CL;
							 | 
						||
| 
								 | 
							
									attribute float maxvolume;
							 | 
						||
| 
								 | 
							
									attribute float timescale;
							 | 
						||
| 
								 | 
							
									attribute long viterations;
							 | 
						||
| 
								 | 
							
									attribute long piterations;
							 | 
						||
| 
								 | 
							
									attribute long diterations;
							 | 
						||
| 
								 | 
							
									attribute long citerations;
							 | 
						||
| 
								 | 
							
									attribute long collisions;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBody {
							 | 
						||
| 
								 | 
							
									void btSoftBody(btSoftBodyWorldInfo worldInfo, long node_count, btVector3 x, float[] m);
							 | 
						||
| 
								 | 
							
									void btSoftBody(btSoftBodyWorldInfo worldInfo);
							 | 
						||
| 
								 | 
							
									[Value] attribute Config m_cfg;
							 | 
						||
| 
								 | 
							
									[Value] attribute tNodeArray m_nodes;
							 | 
						||
| 
								 | 
							
									[Value] attribute tMaterialArray m_materials;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Const] boolean checkLink( long node0, long node1);
							 | 
						||
| 
								 | 
							
									[Const] boolean checkFace( long node0, long node1, long node2);
							 | 
						||
| 
								 | 
							
									Material appendMaterial();
							 | 
						||
| 
								 | 
							
									void appendNode( [Const, Ref] btVector3 x, float m);
							 | 
						||
| 
								 | 
							
									void updateBounds();
							 | 
						||
| 
								 | 
							
									void appendLink( long node0, long node1, Material mat, boolean bcheckexist);
							 | 
						||
| 
								 | 
							
									void appendFace( long node0, long node1, long node2, Material mat);
							 | 
						||
| 
								 | 
							
									void appendTetra( long node0, long node1, long node2, long node3, Material mat);
							 | 
						||
| 
								 | 
							
									void appendAnchor( long node, btRigidBody body, boolean disableCollisionBetweenLinkedBodies, float influence);
							 | 
						||
| 
								 | 
							
									[Const] float getTotalMass();
							 | 
						||
| 
								 | 
							
									void setTotalMass( float mass, boolean fromfaces);
							 | 
						||
| 
								 | 
							
									void setMass(long node, float mass);
							 | 
						||
| 
								 | 
							
									void transform( [Const, Ref] btTransform trs);
							 | 
						||
| 
								 | 
							
									void translate( [Const, Ref] btVector3 trs);
							 | 
						||
| 
								 | 
							
									void rotate( [Const, Ref] btQuaternion rot);
							 | 
						||
| 
								 | 
							
									void scale(	[Const, Ref] btVector3 scl);
							 | 
						||
| 
								 | 
							
									long generateClusters(long k, optional long maxiterations);
							 | 
						||
| 
								 | 
							
									btSoftBody upcast([Const] btCollisionObject colObj);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btSoftBody implements btCollisionObject;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBodyRigidBodyCollisionConfiguration {
							 | 
						||
| 
								 | 
							
									void btSoftBodyRigidBodyCollisionConfiguration([Ref] optional btDefaultCollisionConstructionInfo info);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btSoftBodyRigidBodyCollisionConfiguration implements btDefaultCollisionConfiguration;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBodySolver {
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btDefaultSoftBodySolver {
							 | 
						||
| 
								 | 
							
									void btDefaultSoftBodySolver ();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btDefaultSoftBodySolver implements btSoftBodySolver;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBodyArray {
							 | 
						||
| 
								 | 
							
									[Const] long size();
							 | 
						||
| 
								 | 
							
									[Const] btSoftBody at(long n);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftRigidDynamicsWorld {
							 | 
						||
| 
								 | 
							
									void btSoftRigidDynamicsWorld(btDispatcher dispatcher, btBroadphaseInterface pairCache, btConstraintSolver constraintSolver, btCollisionConfiguration collisionConfiguration, btSoftBodySolver softBodySolver);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									void addSoftBody(btSoftBody body, short collisionFilterGroup, short collisionFilterMask);
							 | 
						||
| 
								 | 
							
									void removeSoftBody(btSoftBody body);
							 | 
						||
| 
								 | 
							
									void removeCollisionObject(btCollisionObject collisionObject);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									[Ref] btSoftBodyWorldInfo getWorldInfo();
							 | 
						||
| 
								 | 
							
									[Ref] btSoftBodyArray getSoftBodyArray();
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								btSoftRigidDynamicsWorld implements btDiscreteDynamicsWorld;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btSoftBodyHelpers {
							 | 
						||
| 
								 | 
							
									void btSoftBodyHelpers();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									btSoftBody CreateRope([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 from, [Const, Ref] btVector3 to, long res, long fixeds);
							 | 
						||
| 
								 | 
							
									btSoftBody CreatePatch([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 corner00, [Const, Ref] btVector3 corner10, [Const, Ref] btVector3 corner01, [Const, Ref] btVector3 corner11, long resx, long resy, long fixeds, boolean gendiags);
							 | 
						||
| 
								 | 
							
									btSoftBody CreatePatchUV([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 corner00, [Const, Ref] btVector3 corner10, [Const, Ref] btVector3 corner01, [Const, Ref] btVector3 corner11, long resx, long resy, long fixeds, boolean gendiags, float[] tex_coords);
							 | 
						||
| 
								 | 
							
									btSoftBody CreateEllipsoid([Ref] btSoftBodyWorldInfo worldInfo, [Const, Ref] btVector3 center, [Const, Ref] btVector3 radius, long res);
							 | 
						||
| 
								 | 
							
									btSoftBody CreateFromTriMesh([Ref] btSoftBodyWorldInfo worldInfo, float[] vertices, long[] triangles, long ntriangles, boolean randomizeConstraints);
							 | 
						||
| 
								 | 
							
									btSoftBody CreateFromConvexHull([Ref] btSoftBodyWorldInfo worldInfo, [Const] btVector3 vertices, long nvertices, boolean randomizeConstraints);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btFloatArray {
							 | 
						||
| 
								 | 
							
									attribute float[] raw;
							 | 
						||
| 
								 | 
							
									void btFloatArray(long num);
							 | 
						||
| 
								 | 
							
									[Const] long size();
							 | 
						||
| 
								 | 
							
									[Const] float at(long n);
							 | 
						||
| 
								 | 
							
									[Const] long set(long n, float value);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface btIntArray {
							 | 
						||
| 
								 | 
							
									attribute long[] raw;
							 | 
						||
| 
								 | 
							
									void btIntArray(long num);
							 | 
						||
| 
								 | 
							
									[Const] long size();
							 | 
						||
| 
								 | 
							
									[Const] long at(long n);
							 | 
						||
| 
								 | 
							
									[Const] long set(long n, long value);
							 | 
						||
| 
								 | 
							
								};
							 |