Skip to content
Snippets Groups Projects
Commit 6b164b45 authored by vahrenkamp's avatar vahrenkamp
Browse files

Added setSimType methods

git-svn-id: http://svn.code.sf.net/p/simox/code/trunk@667 042f3d55-54a8-47e9-b7fb-15903f145c44
parent 45008fe4
No related branches found
No related tags found
No related merge requests found
......@@ -299,5 +299,30 @@ void BulletObject::applyTorque(const Eigen::Vector3f &torque)
rigidBody->applyTorque(btVel);
}
void BulletObject::setSimType( VirtualRobot::SceneObject::Physics::SimulationType s )
{
btVector3 localInertia;
localInertia.setZero();
CollisionModelPtr colModel = sceneObject->getCollisionModel();
switch (s)
{
case VirtualRobot::SceneObject::Physics::eDynamic:
case VirtualRobot::SceneObject::Physics::eUnknown:
if (colModel)
{
collisionShape->calculateLocalInertia(sceneObject->getMass(),localInertia);
} else
localInertia.setValue(btScalar(1),btScalar(1),btScalar(1)); // give Object a dummy inertia matrix
rigidBody->setMassProps(sceneObject->getMass(),localInertia);
break;
default:
// static
rigidBody->setMassProps(0,localInertia);
}
DynamicsObject::setSimType(s);
}
} // namespace VirtualRobot
......@@ -81,6 +81,8 @@ public:
*/
virtual void applyTorque(const Eigen::Vector3f &torque);
virtual void setSimType(VirtualRobot::SceneObject::Physics::SimulationType s);
protected:
void setPoseIntern(const Eigen::Matrix4f &pose);
......
......@@ -76,5 +76,10 @@ void DynamicsObject::applyTorque(const Eigen::Vector3f &torque)
}
void DynamicsObject::setSimType( VirtualRobot::SceneObject::Physics::SimulationType s )
{
sceneObject->setSimulationType(s);
}
} // namespace SimDynamics
......@@ -82,11 +82,12 @@ public:
*/
virtual void applyTorque(const Eigen::Vector3f &torque);
virtual void setSimType(VirtualRobot::SceneObject::Physics::SimulationType s);
protected:
VirtualRobot::SceneObjectPtr sceneObject;
//SimulationType simulationType;
};
typedef boost::shared_ptr<DynamicsObject> DynamicsObjectPtr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment