aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/objects/polyline.rs
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 /src_testbed/objects/polyline.rs
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 'src_testbed/objects/polyline.rs')
-rw-r--r--src_testbed/objects/polyline.rs67
1 files changed, 0 insertions, 67 deletions
diff --git a/src_testbed/objects/polyline.rs b/src_testbed/objects/polyline.rs
deleted file mode 100644
index 98a8f24..0000000
--- a/src_testbed/objects/polyline.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-use kiss3d::window::Window;
-use na::Point3;
-use rapier::geometry::{ColliderHandle, ColliderSet};
-use rapier::math::{Isometry, Point};
-
-pub struct Polyline {
- color: Point3<f32>,
- base_color: Point3<f32>,
- vertices: Vec<Point<f32>>,
- indices: Vec<[u32; 2]>,
- collider: ColliderHandle,
- pos: Isometry<f32>,
-}
-
-impl Polyline {
- pub fn new(
- collider: ColliderHandle,
- vertices: Vec<Point<f32>>,
- indices: Vec<[u32; 2]>,
- color: Point3<f32>,
- ) -> Polyline {
- Polyline {
- color,
- pos: Isometry::identity(),
- base_color: color,
- vertices,
- indices,
- collider,
- }
- }
-
- pub fn select(&mut self) {
- self.color = Point3::new(1.0, 0.0, 0.0);
- }
-
- pub fn unselect(&mut self) {
- self.color = self.base_color;
- }
-
- pub fn set_color(&mut self, color: Point3<f32>) {
- self.color = color;
- self.base_color = color;
- }
-
- pub fn update(&mut self, colliders: &ColliderSet) {
- self.pos = colliders
- .get(self.collider)
- .map(|c| *c.position())
- .unwrap_or(Isometry::identity());
- }
-
- pub fn object(&self) -> ColliderHandle {
- self.collider
- }
-
- pub fn draw(&mut self, window: &mut Window) {
- for idx in &self.indices {
- let p1 = self.pos * self.vertices[idx[0] as usize];
- let p2 = self.pos * self.vertices[idx[1] as usize];
-
- #[cfg(feature = "dim2")]
- window.draw_planar_line(&p1, &p2, &self.color);
- #[cfg(feature = "dim3")]
- window.draw_line(&p1, &p2, &self.color);
- }
- }
-}