LiquidFun Rust

Rust bindings for LiquidFun.

Usage

First, add the following to your Cargo.toml:

toml [dependencies] liquidfun = "*"

Next, add this to your crate root:

rust extern crate liquidfun;

Example

```rust extern crate liquidfun;

use liquidfun::box2d::common::math::; use liquidfun::box2d::dynamics::world::;

[test]

fn hello_world() {

// Define the gravity vector.
let gravity = Vec2::new(0.0, -10.0);

// Construct a world object, which will hold and simulate the rigid bodies.
let mut world = World::new(&gravity);
assert_eq!(gravity, world.get_gravity());

}

```

Status

The LiquidFun Hello World example compiles and runs. More bindings will be added as needed by projects that depend on LiquidFun Rust.

Passing structs by value from C++ to Rust

```cpp // C++ struct b2Vec2 { b2Vec2() {} ... float32 x, y; };

// new C struct typedef struct cb2Vec2 { float32 x, y; } cb2Vec2; ```

```cpp cb2Vec2* cast(b2Vec2* v) { return reinterpretcast(v); }

c_b2Vec2 sendStructFromCppToRustByValue() { b2Vec2 tmp; return *cast(&tmp); } ```

Thank You

Erin Catto for Box2D

Google for LiquidFun

Nicolas Silva for box2d.rs