40 #ifndef _rigidproxy_cpp
41 #define _rigidproxy_cpp
43 #include "Physics/rigidproxy.h"
44 #include "Physics/collisionshape.h"
45 #include "Physics/physicsmanager.h"
46 #include "Physics/collisionshapemanager.h"
49 #include "stringtool.h"
51 #include "Internal/motionstate.h.cpp"
53 #include <btBulletDynamicsCommon.h>
54 #include <BulletSoftBody/btSoftRigidDynamicsWorld.h>
62 PhysicsRigidBody(NULL)
69 PhysicsRigidBody(NULL)
87 this->
PhysicsRigidBody->setMotionState(
new Internal::MultiMotionState(
this ) );
88 this->
PhysicsRigidBody->setUserPointer( static_cast<CollidableProxy*>(
this ) );
90 this->
PhysicsRigidBody->setCollisionFlags( btCollisionObject::CF_STATIC_OBJECT );
92 this->
CollisionMask = Physics::CF_AllFilter & ~Physics::CF_StaticFilter;
105 return Mezzanine::PT_Physics_RigidProxy;
130 if( Shape != NULL ) {
136 btVector3 Inertia(0,0,0);
320 if( !PropertiesNode.
Empty() ) {
322 Real LinDam = 0, AngDam = 0;
325 if( !CurrAttrib.
Empty() )
328 CurrAttrib = PropertiesNode.
GetAttribute(
"LinearDamping");
329 if( !CurrAttrib.
Empty() )
330 LinDam = CurrAttrib.
AsReal();
332 CurrAttrib = PropertiesNode.
GetAttribute(
"AngularDamping");
333 if( !CurrAttrib.
Empty() )
334 AngDam = CurrAttrib.
AsReal();
340 if( !LinVelNode.
Empty() ) {
346 if( !AngVelNode.
Empty() ) {
352 if( !LinFactNode.
Empty() ) {
358 if( !AngFactNode.
Empty() ) {
364 if( !ForceNode.
Empty() ) {
370 if( !TorqueNode.
Empty() ) {
376 if( !GravityNode.
Empty() ) {
392 {
return "RigidProxy"; }