Physics constraint components

This commit is contained in:
2014-04-06 20:55:54 +02:00
parent a880e7f3e6
commit 412d53a1f7
3 changed files with 70 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
#ifndef Components_BallSocketConstraint_h__
#define Components_BallSocketConstraint_h__
#include "Component.h"
namespace Components
{
// http://bulletphysics.org/mediawiki-1.5.8/index.php/Constraints
struct BallSocketConstraint : Component
{
// Create constraint between these entities
EntityID EntityA;
EntityID EntityB;
// The pivot point in local coordinates
glm::vec3 PivotA;
glm::vec3 PivotB;
};
}
#endif // Components_BallSocketConstraint_h__
+35
View File
@@ -0,0 +1,35 @@
#ifndef Components_HingeConstraint_h__
#define Components_HingeConstraint_h__
#include "Component.h"
namespace Components
{
// http://bulletphysics.org/mediawiki-1.5.8/index.php/Constraints
struct HingeConstraint : Component
{
// Create constraint between these entities
EntityID EntityA;
EntityID EntityB;
// The pivot point in local coordinates
glm::vec3 PivotA;
glm::vec3 PivotB;
// The axis to rotate around
glm::vec3 AxisA;
glm::vec3 AxisB;
/*
void setLimit(btScalar low,
btScalar high,
btScalar softness = 0.9f,
btScalar_biasFactor = 0.3f,
btScalar relaxationFactor = 1.0f)
*/
float LowLimit;
float HighLimit;
float Softness = 0.9f;
float BiasFactor = 0.3f;
float RelaxationFactor = 1.0f;
};
}
#endif // Components_HingeConstraint_h__
+16
View File
@@ -0,0 +1,16 @@
#ifndef Components_SliderConstraint_h__
#define Components_SliderConstraint_h__
#include "Component.h"
namespace Components
{
// http://bulletphysics.org/mediawiki-1.5.8/index.php/Constraints
struct SliderConstraint : Component
{
// Create constraint between these entities
EntityID EntityA;
EntityID EntityB;
};
}
#endif // Components_SliderConstraint_h__