Synchronize node AABB given displacement

This commit is contained in:
Irlan
2019-06-18 12:48:34 -03:00
parent 9d935ea17f
commit 170793896d
4 changed files with 10 additions and 14 deletions

View File

@ -192,9 +192,6 @@ private:
// Broadphase
b3BroadPhase m_broadPhase;
// Time-step
float32 m_dt;
// Attached world
b3World* m_world;
};

View File

@ -125,7 +125,7 @@ private:
~b3SoftBodyNode() { }
// Synchronize node
void Synchronize();
void Synchronize(const b3Vec3& displacement);
// Type
b3SoftBodyNodeType m_type;
@ -183,7 +183,7 @@ inline void b3SoftBodyNode::SetType(b3SoftBodyNodeType type)
if (type == e_staticSoftBodyNode)
{
m_velocity.SetZero();
Synchronize();
Synchronize(b3Vec3_zero);
}
m_bodyContact.active = false;
@ -201,9 +201,11 @@ inline u32 b3SoftBodyNode::GetVertex() const
inline void b3SoftBodyNode::SetPosition(const b3Vec3& position)
{
b3Vec3 displacement = position - m_position;
m_position = position;
Synchronize();
Synchronize(displacement);
}
inline const b3Vec3& b3SoftBodyNode::GetPosition() const
@ -244,7 +246,7 @@ inline void b3SoftBodyNode::SetRadius(float32 radius)
{
m_radius = radius;
Synchronize();
Synchronize(b3Vec3_zero);
}
inline float32 b3SoftBodyNode::GetRadius() const