Physics3D/RigidBody3D: Add simulation property
This commit is contained in:
parent
b8e447e4fe
commit
33b3b2feaf
|
|
@ -37,6 +37,7 @@ Nazara Engine:
|
||||||
- Fix MemoryStream::WriteBlock "Invalid buffer" assertion triggering when writing a zero-sized block
|
- Fix MemoryStream::WriteBlock "Invalid buffer" assertion triggering when writing a zero-sized block
|
||||||
- ⚠️ Rename RigidBody3D::[Get|Set]Velocity to [Get|Set]LinearVelocity
|
- ⚠️ Rename RigidBody3D::[Get|Set]Velocity to [Get|Set]LinearVelocity
|
||||||
- Fix RigidBody3D copy constructor not copying all physics states (angular/linear damping/velocity, mass center, position and rotation)
|
- Fix RigidBody3D copy constructor not copying all physics states (angular/linear damping/velocity, mass center, position and rotation)
|
||||||
|
- Add RigidBody3D simulation control (via EnableSimulation and IsSimulationEnabled), which allows to disable physics and collisions at will.
|
||||||
|
|
||||||
Nazara Development Kit:
|
Nazara Development Kit:
|
||||||
- Added ImageWidget (#139)
|
- Added ImageWidget (#139)
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ namespace Nz
|
||||||
void AddTorque(const Vector3f& torque, CoordSys coordSys = CoordSys_Global);
|
void AddTorque(const Vector3f& torque, CoordSys coordSys = CoordSys_Global);
|
||||||
|
|
||||||
void EnableAutoSleep(bool autoSleep);
|
void EnableAutoSleep(bool autoSleep);
|
||||||
|
void EnableSimulation(bool simulation);
|
||||||
|
|
||||||
Boxf GetAABB() const;
|
Boxf GetAABB() const;
|
||||||
Vector3f GetAngularDamping() const;
|
Vector3f GetAngularDamping() const;
|
||||||
|
|
@ -53,6 +54,7 @@ namespace Nz
|
||||||
|
|
||||||
bool IsAutoSleepEnabled() const;
|
bool IsAutoSleepEnabled() const;
|
||||||
bool IsMoveable() const;
|
bool IsMoveable() const;
|
||||||
|
bool IsSimulationEnabled() const;
|
||||||
bool IsSleeping() const;
|
bool IsSleeping() const;
|
||||||
|
|
||||||
void SetAngularDamping(const Nz::Vector3f& angularDamping);
|
void SetAngularDamping(const Nz::Vector3f& angularDamping);
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,11 @@ namespace Nz
|
||||||
NewtonBodySetAutoSleep(m_body, autoSleep);
|
NewtonBodySetAutoSleep(m_body, autoSleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RigidBody3D::EnableSimulation(bool simulation)
|
||||||
|
{
|
||||||
|
NewtonBodySetSimulationState(m_body, simulation);
|
||||||
|
}
|
||||||
|
|
||||||
Boxf RigidBody3D::GetAABB() const
|
Boxf RigidBody3D::GetAABB() const
|
||||||
{
|
{
|
||||||
Vector3f min, max;
|
Vector3f min, max;
|
||||||
|
|
@ -238,6 +243,11 @@ namespace Nz
|
||||||
return m_mass > 0.f;
|
return m_mass > 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RigidBody3D::IsSimulationEnabled() const
|
||||||
|
{
|
||||||
|
return NewtonBodyGetSimulationState(m_body) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
bool RigidBody3D::IsSleeping() const
|
bool RigidBody3D::IsSleeping() const
|
||||||
{
|
{
|
||||||
return NewtonBodyGetSleepState(m_body) != 0;
|
return NewtonBodyGetSleepState(m_body) != 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue