Add RigidBody2D::GetBodies
This commit is contained in:
parent
ecd42704a6
commit
9be8d0eae4
|
|
@ -157,6 +157,7 @@ Nazara Engine:
|
|||
- ⚠ SoundStream is now responsible for loaders instead of Music, and is now threadsafe (you can now load a stream only once and play it multiple times at the same time)
|
||||
- Added LuaState::RawEqual
|
||||
- Fixed LuaCoroutine movement assignation operator
|
||||
- Added Arbiter2D::GetBodies
|
||||
|
||||
Nazara Development Kit:
|
||||
- Added ImageWidget (#139)
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ struct cpArbiter;
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
class RigidBody2D;
|
||||
|
||||
class NAZARA_PHYSICS2D_API Arbiter2D
|
||||
{
|
||||
public:
|
||||
|
|
@ -27,22 +29,24 @@ namespace Nz
|
|||
float ComputeTotalKinematicEnergy() const;
|
||||
Nz::Vector2f ComputeTotalImpulse() const;
|
||||
|
||||
std::pair<RigidBody2D*, RigidBody2D*> GetBodies() const;
|
||||
|
||||
std::size_t GetContactCount() const;
|
||||
float GetContactDepth(std::size_t i) const;
|
||||
Nz::Vector2f GetContactPointA(std::size_t i) const;
|
||||
Nz::Vector2f GetContactPointB(std::size_t i) const;
|
||||
Vector2f GetContactPointA(std::size_t i) const;
|
||||
Vector2f GetContactPointB(std::size_t i) const;
|
||||
|
||||
float GetElasticity() const;
|
||||
float GetFriction() const;
|
||||
Nz::Vector2f GetNormal() const;
|
||||
Nz::Vector2f GetSurfaceVelocity() const;
|
||||
Vector2f GetNormal() const;
|
||||
Vector2f GetSurfaceVelocity() const;
|
||||
|
||||
bool IsFirstContact() const;
|
||||
bool IsRemoval() const;
|
||||
|
||||
void SetElasticity(float elasticity);
|
||||
void SetFriction(float friction);
|
||||
void SetSurfaceVelocity(const Nz::Vector2f& surfaceVelocity);
|
||||
void SetSurfaceVelocity(const Vector2f& surfaceVelocity);
|
||||
|
||||
Arbiter2D& operator=(const Arbiter2D&) = delete;
|
||||
Arbiter2D& operator=(Arbiter2D&&) = default;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,19 @@ namespace Nz
|
|||
return Nz::Vector2f(Nz::Vector2<cpFloat>(impulse.x, impulse.y));
|
||||
}
|
||||
|
||||
std::pair<RigidBody2D*, RigidBody2D*> Arbiter2D::GetBodies() const
|
||||
{
|
||||
std::pair<RigidBody2D*, RigidBody2D*> bodies;
|
||||
cpBody* firstBody;
|
||||
cpBody* secondBody;
|
||||
cpArbiterGetBodies(m_arbiter, &firstBody, &secondBody);
|
||||
|
||||
bodies.first = static_cast<RigidBody2D*>(cpBodyGetUserData(firstBody));
|
||||
bodies.second = static_cast<RigidBody2D*>(cpBodyGetUserData(secondBody));
|
||||
|
||||
return bodies;
|
||||
}
|
||||
|
||||
std::size_t Arbiter2D::GetContactCount() const
|
||||
{
|
||||
return cpArbiterGetCount(m_arbiter);
|
||||
|
|
|
|||
Loading…
Reference in New Issue