aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/objects/plane.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-05-16 17:49:20 +0200
committerCrozet Sébastien <developer@crozet.re>2021-05-16 17:49:20 +0200
commit1a84bf2af34176508bdda8d0f2ad2e46dc5c4df9 (patch)
treeb3f2ccf2ee0490eb59e4b84223446aa494d18c94 /src_testbed/objects/plane.rs
parentf350ac35d9889085af3f51a1894e2cc87173cb98 (diff)
downloadrapier-1a84bf2af34176508bdda8d0f2ad2e46dc5c4df9.tar.gz
rapier-1a84bf2af34176508bdda8d0f2ad2e46dc5c4df9.tar.bz2
rapier-1a84bf2af34176508bdda8d0f2ad2e46dc5c4df9.zip
Replace Kiss3d by Bevy for the testbed renderer.
Diffstat (limited to 'src_testbed/objects/plane.rs')
-rw-r--r--src_testbed/objects/plane.rs132
1 files changed, 0 insertions, 132 deletions
diff --git a/src_testbed/objects/plane.rs b/src_testbed/objects/plane.rs
deleted file mode 100644
index 218e97a..0000000
--- a/src_testbed/objects/plane.rs
+++ /dev/null
@@ -1,132 +0,0 @@
-#[cfg(feature = "dim3")]
-use crate::objects::node::GraphicsNode;
-use kiss3d::window::Window;
-use na::Point3;
-#[cfg(feature = "dim3")]
-use na::Vector3;
-#[cfg(feature = "dim2")]
-use nphysics::math::{Point, Vector};
-use nphysics::object::{DefaultColliderHandle, DefaultColliderSet};
-#[cfg(feature = "dim3")]
-use num::Zero;
-
-#[cfg(feature = "dim3")]
-pub struct Plane {
- gfx: GraphicsNode,
- collider: DefaultColliderHandle,
-}
-
-#[cfg(feature = "dim2")]
-pub struct Plane {
- color: Point3<f32>,
- base_color: Point3<f32>,
- position: Point<f32>,
- normal: na::Unit<Vector<f32>>,
- collider: DefaultColliderHandle,
-}
-
-impl Plane {
- #[cfg(feature = "dim2")]
- pub fn new(
- collider: DefaultColliderHandle,
- colliders: &DefaultColliderSet<f32>,
- position: &Point<f32>,
- normal: &Vector<f32>,
- color: Point3<f32>,
- _: &mut Window,
- ) -> Plane {
- let mut res = Plane {
- color,
- base_color: color,
- position: *position,
- normal: na::Unit::new_normalize(*normal),
- collider,
- };
-
- res.update(colliders);
- res
- }
-
- #[cfg(feature = "dim3")]
- pub fn new(
- collider: DefaultColliderHandle,
- colliders: &DefaultColliderSet<f32>,
- world_pos: &Point3<f32>,
- world_normal: &Vector3<f32>,
- color: Point3<f32>,
- window: &mut Window,
- ) -> Plane {
- let mut res = Plane {
- gfx: window.add_quad(100.0, 100.0, 10, 10),
- collider,
- };
-
- if colliders
- .get(collider)
- .unwrap()
- .query_type()
- .is_proximity_query()
- {
- res.gfx.set_surface_rendering_activation(false);
- res.gfx.set_lines_width(1.0);
- }
-
- res.gfx.set_color(color.x, color.y, color.z);
-
- let up = if world_normal.z.is_zero() && world_normal.y.is_zero() {
- Vector3::z()
- } else {
- Vector3::x()
- };
-
- res.gfx
- .reorient(world_pos, &(*world_pos + *world_normal), &up);
-
- res.update(colliders);
-
- res
- }
-
- pub fn select(&mut self) {}
-
- pub fn unselect(&mut self) {}
-
- pub fn update(&mut self, _: &DefaultColliderSet<f32>) {
- // FIXME: atm we assume the plane does not move
- }
-
- #[cfg(feature = "dim3")]
- pub fn set_color(&mut self, color: Point3<f32>) {
- self.gfx.set_color(color.x, color.y, color.z);
- }
-
- #[cfg(feature = "dim2")]
- pub fn set_color(&mut self, color: Point3<f32>) {
- self.color = color;
- self.base_color = color;
- }
-
- #[cfg(feature = "dim3")]
- pub fn scene_node(&self) -> &GraphicsNode {
- &self.gfx
- }
-
- #[cfg(feature = "dim3")]
- pub fn scene_node_mut(&mut self) -> &mut GraphicsNode {
- &mut self.gfx
- }
-
- pub fn object(&self) -> DefaultColliderHandle {
- self.collider
- }
-
- #[cfg(feature = "dim2")]
- pub fn draw(&mut self, window: &mut Window) {
- let orth = Vector::new(-self.normal.y, self.normal.x);
- window.draw_planar_line(
- &(self.position - orth * 50.0),
- &(self.position + orth * 50.0),
- &self.color,
- );
- }
-}