aboutsummaryrefslogtreecommitdiff
path: root/examples2d
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-05-18 10:52:06 +0200
committerGitHub <noreply@github.com>2021-05-18 10:52:06 +0200
commit3bac79ecacdeaa18de19127b7a6c82cbfab29d14 (patch)
tree0d227def6b11bbfe8e14cd021f01ac54f6500f52 /examples2d
parent355f7a3a3934043a330763ca985264cdb1375405 (diff)
parent47139323e01f978a94ed7aa2c33bbf63b00f4c30 (diff)
downloadrapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.gz
rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.bz2
rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.zip
Merge pull request #189 from dimforge/bevy_renderer
Testbed: replace Kiss3d by Bevy
Diffstat (limited to 'examples2d')
-rw-r--r--examples2d/add_remove2.rs15
-rw-r--r--examples2d/all_examples2.rs4
-rw-r--r--examples2d/ccd2.rs7
-rw-r--r--examples2d/collision_groups2.rs11
-rw-r--r--examples2d/convex_polygons2.rs5
-rw-r--r--examples2d/debug_box_ball2.rs8
-rw-r--r--examples2d/heightfield2.rs5
-rw-r--r--examples2d/joints2.rs5
-rw-r--r--examples2d/locked_rotations2.rs5
-rw-r--r--examples2d/one_way_platforms2.rs11
-rw-r--r--examples2d/platform2.rs7
-rw-r--r--examples2d/polyline2.rs5
-rw-r--r--examples2d/pyramid2.rs5
-rw-r--r--examples2d/restitution2.rs5
-rw-r--r--examples2d/sensor2.rs11
-rw-r--r--examples2d/trimesh2.rs5
16 files changed, 20 insertions, 94 deletions
diff --git a/examples2d/add_remove2.rs b/examples2d/add_remove2.rs
index 826d5c9..9f9f65a 100644
--- a/examples2d/add_remove2.rs
+++ b/examples2d/add_remove2.rs
@@ -10,7 +10,7 @@ pub fn init_world(testbed: &mut Testbed) {
let rad = 0.5;
// Callback that will be executed on the main loop to handle proximities.
- testbed.add_callback(move |mut window, mut graphics, physics, _, _| {
+ testbed.add_callback(move |mut graphics, physics, _, _| {
let rigid_body = RigidBodyBuilder::new_dynamic()
.translation(0.0, 10.0)
.build();
@@ -20,8 +20,8 @@ pub fn init_world(testbed: &mut Testbed) {
.colliders
.insert(collider, handle, &mut physics.bodies);
- if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) {
- graphics.add(*window, handle, &physics.bodies, &physics.colliders);
+ if let Some(graphics) = &mut graphics {
+ graphics.add_body(handle, &physics.bodies, &physics.colliders);
}
let to_remove: Vec<_> = physics
@@ -38,8 +38,8 @@ pub fn init_world(testbed: &mut Testbed) {
&mut physics.joints,
);
- if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) {
- graphics.remove_body_nodes(*window, handle);
+ if let Some(graphics) = &mut graphics {
+ graphics.remove_body(handle);
}
}
});
@@ -50,8 +50,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 0.0), 20.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Add-remove", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/all_examples2.rs b/examples2d/all_examples2.rs
index 8f38ced..1b45eac 100644
--- a/examples2d/all_examples2.rs
+++ b/examples2d/all_examples2.rs
@@ -7,7 +7,7 @@ use wasm_bindgen::prelude::*;
use inflector::Inflector;
-use rapier_testbed2d::Testbed;
+use rapier_testbed2d::{Testbed, TestbedApp};
use std::cmp::Ordering;
mod add_remove2;
@@ -89,7 +89,7 @@ pub fn main() {
.iter()
.position(|builder| builder.0.to_camel_case().as_str() == demo.as_str())
.unwrap_or(0);
- let testbed = Testbed::from_builders(i, builders);
+ let testbed = TestbedApp::from_builders(i, builders);
testbed.run()
}
diff --git a/examples2d/ccd2.rs b/examples2d/ccd2.rs
index 852fad3..18a6bfe 100644
--- a/examples2d/ccd2.rs
+++ b/examples2d/ccd2.rs
@@ -90,7 +90,7 @@ pub fn init_world(testbed: &mut Testbed) {
}
// Callback that will be executed on the main loop to handle proximities.
- testbed.add_callback(move |_, mut graphics, physics, events, _| {
+ testbed.add_callback(move |mut graphics, physics, events, _| {
while let Ok(prox) = events.intersection_events.try_recv() {
let color = if prox.intersecting {
Point3::new(1.0, 1.0, 0.0)
@@ -117,8 +117,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 2.5), 20.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/collision_groups2.rs b/examples2d/collision_groups2.rs
index 9fd9f0b..08b73fb 100644
--- a/examples2d/collision_groups2.rs
+++ b/examples2d/collision_groups2.rs
@@ -39,7 +39,7 @@ pub fn init_world(testbed: &mut Testbed) {
.build();
let green_collider_handle = colliders.insert(green_floor, floor_handle, &mut bodies);
- testbed.set_collider_initial_color(green_collider_handle, Point3::new(0.0, 1.0, 0.0));
+ testbed.set_initial_collider_color(green_collider_handle, Point3::new(0.0, 1.0, 0.0));
/*
* A blue floor that will collide with the BLUE group only.
@@ -50,7 +50,7 @@ pub fn init_world(testbed: &mut Testbed) {
.build();
let blue_collider_handle = colliders.insert(blue_floor, floor_handle, &mut bodies);
- testbed.set_collider_initial_color(blue_collider_handle, Point3::new(0.0, 0.0, 1.0));
+ testbed.set_initial_collider_color(blue_collider_handle, Point3::new(0.0, 0.0, 1.0));
/*
* Create the cubes
@@ -81,7 +81,7 @@ pub fn init_world(testbed: &mut Testbed) {
.build();
colliders.insert(collider, handle, &mut bodies);
- testbed.set_body_color(handle, color);
+ testbed.set_initial_body_color(handle, color);
}
}
@@ -91,8 +91,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 1.0), 100.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/convex_polygons2.rs b/examples2d/convex_polygons2.rs
index d936fb6..0e4fb0c 100644
--- a/examples2d/convex_polygons2.rs
+++ b/examples2d/convex_polygons2.rs
@@ -79,8 +79,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 50.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/debug_box_ball2.rs b/examples2d/debug_box_ball2.rs
index 62933ff..aad72ae 100644
--- a/examples2d/debug_box_ball2.rs
+++ b/examples2d/debug_box_ball2.rs
@@ -1,3 +1,4 @@
+use na::Point2;
use rapier2d::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
use rapier2d::geometry::{ColliderBuilder, ColliderSet};
use rapier_testbed2d::Testbed;
@@ -35,10 +36,5 @@ pub fn init_world(testbed: &mut Testbed) {
* Set up the testbed.
*/
testbed.set_world(bodies, colliders, joints);
- // testbed.look_at(Point2::new(10.0, 10.0, 10.0), Point2::origin());
-}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
+ testbed.look_at(Point2::new(0.0, 0.0), 50.0);
}
diff --git a/examples2d/heightfield2.rs b/examples2d/heightfield2.rs
index f5ddff9..a834a2c 100644
--- a/examples2d/heightfield2.rs
+++ b/examples2d/heightfield2.rs
@@ -65,8 +65,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 0.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Heightfield", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/joints2.rs b/examples2d/joints2.rs
index 4d7d060..ff5c663 100644
--- a/examples2d/joints2.rs
+++ b/examples2d/joints2.rs
@@ -68,8 +68,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(numk as f32 * rad, numi as f32 * -rad), 20.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Joints", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/locked_rotations2.rs b/examples2d/locked_rotations2.rs
index f3d7fc2..03fb2e7 100644
--- a/examples2d/locked_rotations2.rs
+++ b/examples2d/locked_rotations2.rs
@@ -56,8 +56,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 0.0), 40.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/one_way_platforms2.rs b/examples2d/one_way_platforms2.rs
index 90607f7..19b9968 100644
--- a/examples2d/one_way_platforms2.rs
+++ b/examples2d/one_way_platforms2.rs
@@ -100,7 +100,7 @@ pub fn init_world(testbed: &mut Testbed) {
* Spawn cubes at regular intervals and apply a custom gravity
* depending on their position.
*/
- testbed.add_callback(move |mut window, mut graphics, physics, _, run_state| {
+ testbed.add_callback(move |graphics, physics, _, run_state| {
if run_state.timestep_id % 50 == 0 && physics.bodies.len() <= 7 {
// Spawn a new cube.
let collider = ColliderBuilder::cuboid(1.5, 2.0).build();
@@ -112,8 +112,8 @@ pub fn init_world(testbed: &mut Testbed) {
.colliders
.insert(collider, handle, &mut physics.bodies);
- if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) {
- graphics.add(window, handle, &physics.bodies, &physics.colliders);
+ if let Some(graphics) = graphics {
+ graphics.add_body(handle, &physics.bodies, &physics.colliders);
}
}
@@ -139,8 +139,3 @@ pub fn init_world(testbed: &mut Testbed) {
);
testbed.look_at(Point2::new(0.0, 0.0), 20.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/platform2.rs b/examples2d/platform2.rs
index afd4d64..7542cd6 100644
--- a/examples2d/platform2.rs
+++ b/examples2d/platform2.rs
@@ -60,7 +60,7 @@ pub fn init_world(testbed: &mut Testbed) {
/*
* Setup a callback to control the platform.
*/
- testbed.add_callback(move |_, _, physics, _, run_state| {
+ testbed.add_callback(move |_, physics, _, run_state| {
let platform = physics.bodies.get_mut(platform_handle).unwrap();
let mut next_pos = *platform.position();
@@ -84,8 +84,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 1.0), 40.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Kinematic body", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/polyline2.rs b/examples2d/polyline2.rs
index 3aa4a47..0b3be0c 100644
--- a/examples2d/polyline2.rs
+++ b/examples2d/polyline2.rs
@@ -67,8 +67,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 0.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Heightfield", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/pyramid2.rs b/examples2d/pyramid2.rs
index 689e9c0..dfa64c9 100644
--- a/examples2d/pyramid2.rs
+++ b/examples2d/pyramid2.rs
@@ -53,8 +53,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 2.5), 20.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/restitution2.rs b/examples2d/restitution2.rs
index fc97456..025a9cd 100644
--- a/examples2d/restitution2.rs
+++ b/examples2d/restitution2.rs
@@ -49,8 +49,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 1.0), 25.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/sensor2.rs b/examples2d/sensor2.rs
index e53abe3..a651f64 100644
--- a/examples2d/sensor2.rs
+++ b/examples2d/sensor2.rs
@@ -43,7 +43,7 @@ pub fn init_world(testbed: &mut Testbed) {
let collider = ColliderBuilder::cuboid(rad, rad).build();
colliders.insert(collider, handle, &mut bodies);
- testbed.set_body_color(handle, Point3::new(0.5, 0.5, 1.0));
+ testbed.set_initial_body_color(handle, Point3::new(0.5, 0.5, 1.0));
}
/*
@@ -66,10 +66,10 @@ pub fn init_world(testbed: &mut Testbed) {
let sensor_collider = ColliderBuilder::ball(rad * 5.0).sensor(true).build();
colliders.insert(sensor_collider, sensor_handle, &mut bodies);
- testbed.set_body_color(sensor_handle, Point3::new(0.5, 1.0, 1.0));
+ testbed.set_initial_body_color(sensor_handle, Point3::new(0.5, 1.0, 1.0));
// Callback that will be executed on the main loop to handle proximities.
- testbed.add_callback(move |_, mut graphics, physics, events, _| {
+ testbed.add_callback(move |mut graphics, physics, events, _| {
while let Ok(prox) = events.intersection_events.try_recv() {
let color = if prox.intersecting {
Point3::new(1.0, 1.0, 0.0)
@@ -96,8 +96,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 1.0), 100.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Sensor", init_world)]);
- testbed.run()
-}
diff --git a/examples2d/trimesh2.rs b/examples2d/trimesh2.rs
index baed184..adc8b6b 100644
--- a/examples2d/trimesh2.rs
+++ b/examples2d/trimesh2.rs
@@ -109,11 +109,6 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.look_at(Point2::new(0.0, 20.0), 17.0);
}
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
-
const RAPIER_SVG_STR: &'static str = r#"
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 527 131" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">