diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-05-18 10:52:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-18 10:52:06 +0200 |
| commit | 3bac79ecacdeaa18de19127b7a6c82cbfab29d14 (patch) | |
| tree | 0d227def6b11bbfe8e14cd021f01ac54f6500f52 /src_testbed/objects/polyline.rs | |
| parent | 355f7a3a3934043a330763ca985264cdb1375405 (diff) | |
| parent | 47139323e01f978a94ed7aa2c33bbf63b00f4c30 (diff) | |
| download | rapier-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.rs | 67 |
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); - } - } -} |
