cmake Win32 fixes

fixed some more warnings
added alignment macros to some classes
btPersistentManifold from 128 to 16 bytes aligned
prepare command to select collision filter mode (SIM_PARAM_UPDATE_COLLISION_FILTER_MODE)
This commit is contained in:
Erwin Coumans
2017-01-16 13:05:26 -08:00
parent 3dfcd27147
commit 93471a1c31
14 changed files with 50 additions and 28 deletions

View File

@@ -51,8 +51,8 @@ enum btContactManifoldTypes
///note that some pairs of objects might have more then one contact manifold.
ATTRIBUTE_ALIGNED128( class) btPersistentManifold : public btTypedObject
//ATTRIBUTE_ALIGNED16( class) btPersistentManifold : public btTypedObject
//ATTRIBUTE_ALIGNED128( class) btPersistentManifold : public btTypedObject
ATTRIBUTE_ALIGNED16( class) btPersistentManifold : public btTypedObject
{
btManifoldPoint m_pointCache[MANIFOLD_CACHE_SIZE];

View File

@@ -39,7 +39,7 @@ struct btMultiBodyJacobianData
};
class btMultiBodyConstraint
ATTRIBUTE_ALIGNED16(class) btMultiBodyConstraint
{
protected:
@@ -84,6 +84,8 @@ protected:
public:
BT_DECLARE_ALIGNED_ALLOCATOR();
btMultiBodyConstraint(btMultiBody* bodyA,btMultiBody* bodyB,int linkA, int linkB, int numRows, bool isUnilateral);
virtual ~btMultiBodyConstraint();

View File

@@ -22,7 +22,7 @@ subject to the following restrictions:
//#define BTMBP2PCONSTRAINT_BLOCK_ANGULAR_MOTION_TEST
class btMultiBodyPoint2Point : public btMultiBodyConstraint
ATTRIBUTE_ALIGNED16(class) btMultiBodyPoint2Point : public btMultiBodyConstraint
{
protected:
@@ -34,6 +34,8 @@ protected:
public:
BT_DECLARE_ALIGNED_ALLOCATOR();
btMultiBodyPoint2Point(btMultiBody* body, int link, btRigidBody* bodyB, const btVector3& pivotInA, const btVector3& pivotInB);
btMultiBodyPoint2Point(btMultiBody* bodyA, int linkA, btMultiBody* bodyB, int linkB, const btVector3& pivotInA, const btVector3& pivotInB);

View File

@@ -232,15 +232,18 @@ public:
int m_battach:1; // Attached
};
/* Link */
struct Link : Feature
ATTRIBUTE_ALIGNED16(struct) Link : Feature
{
btVector3 m_c3; // gradient
Node* m_n[2]; // Node pointers
btScalar m_rl; // Rest length
int m_bbending:1; // Bending link
btScalar m_c0; // (ima+imb)*kLST
btScalar m_c1; // rl^2
btScalar m_c2; // |gradient|^2/c0
btVector3 m_c3; // gradient
BT_DECLARE_ALIGNED_ALLOCATOR();
};
/* Face */
struct Face : Feature