Browse Source

Added rigid body damping properties.

Mark Sibly 7 years ago
parent
commit
540de97463
2 changed files with 29 additions and 3 deletions
  1. 8 2
      modules/bullet/bullet.monkey2
  2. 21 1
      modules/mojo3d/scene/components/rigidbody.monkey2

+ 8 - 2
modules/bullet/bullet.monkey2

@@ -548,10 +548,10 @@ Class btRigidBody Extends btCollisionObject
 		
 	Method setLinearVelocity( lin_vel:btVector3 )
 		
-	Method setAngularVelocity( ang_vel:btVector3 )
-	
 	Method getLinearVelocity:btVector3()
 		
+	Method setAngularVelocity( ang_vel:btVector3 )
+	
 	Method getAngularVelocity:btVector3()
 		
 	Method applyForce( force:btVector3,rel_pos:btVector3 )
@@ -566,6 +566,12 @@ Class btRigidBody Extends btCollisionObject
 		
 	Method applyTorqueImpulse( torque:btVector3 )
 		
+	Method setDamping( lin_damping:btScalar,ang_damping:btScalar )
+		
+	Method getLinearDamping:btScalar()
+		
+	Method getAngularDamping:btScalar()
+		
 End
 
 Const BT_CONSTRAINT_ERP:Int

+ 21 - 1
modules/mojo3d/scene/components/rigidbody.monkey2

@@ -165,6 +165,26 @@ Class RigidBody Extends Component
 		_dirty|=Dirty.Collisions
 	End
 	
+	[jsonify=1]
+	Property LinearDamping:Float()
+		
+		Return _btbody.getLinearDamping()
+		
+	Setter( damping:Float )
+		
+		_btbody.setDamping( damping,_btbody.getAngularDamping() )
+	End
+	
+	[jsonify=1]
+	Property AngularDamping:Float()
+		
+		Return _btbody.getAngularDamping()
+	
+	Setter( damping:Float )
+		
+		_btbody.setDamping( _btbody.getLinearDamping(),damping )
+	End
+	
 	Property LinearVelocity:Vec3f()
 		
 		Return _btbody.getLinearVelocity()
@@ -182,7 +202,7 @@ Class RigidBody Extends Component
 		
 		_btbody.setAngularVelocity( avelocity )
 	End
-
+	
 	Property btBody:btRigidBody()
 	
 		Return _btbody