3 using SiliconStudio.Core.Collections;
4 using SiliconStudio.Core.Mathematics;
10 internal delegate
void GetWorldTransformDelegate(out
Matrix transform);
11 internal GetWorldTransformDelegate GetWorldTransformCallback;
13 internal delegate
void SetWorldTransformDelegate(
Matrix transform);
14 internal SetWorldTransformDelegate SetWorldTransformCallback;
21 LinkedConstraints =
new FastList<Constraint>();
30 LinkedConstraints.Clear();
31 MotionState.Dispose();
51 var inertia = ColliderShape.InternalShape.CalculateLocalInertia(value);
52 InternalRigidBody.SetMassProps(value, inertia);
53 InternalRigidBody.UpdateInertiaTensor();
63 public float AngularDamping
67 return InternalRigidBody.AngularDamping;
71 InternalRigidBody.SetDamping(LinearDamping, value);
81 public float LinearDamping
85 return InternalRigidBody.LinearDamping;
89 InternalRigidBody.SetDamping(value, AngularDamping);
101 get {
return InternalRigidBody.Gravity; }
102 set { InternalRigidBody.Gravity = value; }
113 get {
return InternalRigidBody.TotalTorque; }
122 InternalRigidBody.ApplyCentralImpulse(impulse);
132 InternalRigidBody.ApplyImpulse(impulse, localOffset);
141 InternalRigidBody.ApplyCentralForce(force);
151 InternalRigidBody.ApplyForce(force, localOffset);
160 InternalRigidBody.ApplyTorque(torque);
169 InternalRigidBody.ApplyTorqueImpulse(torque);
180 get {
return InternalRigidBody.AngularVelocity; }
181 set { InternalRigidBody.AngularVelocity = value; }
192 get {
return InternalRigidBody.LinearVelocity; }
193 set { InternalRigidBody.LinearVelocity = value; }
204 get {
return InternalRigidBody.TotalForce; }
215 get {
return InternalRigidBody.AngularFactor; }
216 set { InternalRigidBody.AngularFactor = value; }
227 get {
return InternalRigidBody.LinearFactor; }
228 set { InternalRigidBody.LinearFactor = value; }
241 if (InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.StaticObject))
return RigidBodyTypes.Static;
242 return InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.KinematicObject) ? RigidBodyTypes.Kinematic : RigidBodyTypes.Dynamic;
248 case RigidBodyTypes.Dynamic:
249 if (InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.StaticObject)) InternalRigidBody.CollisionFlags ^= BulletSharp.CollisionFlags.StaticObject;
250 else if (InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.KinematicObject)) InternalRigidBody.CollisionFlags ^= BulletSharp.CollisionFlags.KinematicObject;
253 if (InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.KinematicObject)) InternalRigidBody.CollisionFlags ^= BulletSharp.CollisionFlags.KinematicObject;
254 InternalRigidBody.CollisionFlags |= BulletSharp.CollisionFlags.StaticObject;
257 if (InternalRigidBody.CollisionFlags.HasFlag(BulletSharp.CollisionFlags.StaticObject)) InternalRigidBody.CollisionFlags ^= BulletSharp.CollisionFlags.StaticObject;
258 InternalRigidBody.CollisionFlags |= BulletSharp.CollisionFlags.KinematicObject;
270 public FastList<Constraint> LinkedConstraints {
get;
private set; }
272 internal BulletSharp.RigidBody InternalRigidBody;
void ApplyTorque(Vector3 torque)
Applies the torque.
void ApplyImpulse(Vector3 impulse, Vector3 localOffset)
Applies the impulse.
Represents a three dimensional mathematical vector.
void ApplyTorqueImpulse(Vector3 torque)
Applies the torque impulse.
void ApplyForce(Vector3 force, Vector3 localOffset)
Applies the force.
using SiliconStudio.Paradox. Physics
void ApplyImpulse(Vector3 impulse)
Applies the impulse.
override void Dispose()
Releases unmanaged and - optionally - managed resources.
void ApplyForce(Vector3 force)
Applies the force.
Represents a 4x4 mathematical matrix.