Fix a few warnings
This commit is contained in:
parent
553823b65f
commit
db50127cf5
|
|
@ -3,7 +3,8 @@ name = "refraction"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
[lints.rust]
|
||||||
|
mixed_script_confusables = "allow"
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
panic = 'abort'
|
panic = 'abort'
|
||||||
|
|
|
||||||
|
|
@ -215,8 +215,8 @@ fn draw_track(gc: &mut Vec<Draw>, space: &Space, start: Vec2, dir: Vec2) {
|
||||||
};
|
};
|
||||||
draw(&loc);
|
draw(&loc);
|
||||||
for _ in 0..1000 {
|
for _ in 0..1000 {
|
||||||
let N = (STEP / DT).floor() as i32;
|
let n = (STEP / DT).floor() as i32;
|
||||||
for _ in 0..N {
|
for _ in 0..n {
|
||||||
loc = space.move_step(loc, v * DT);
|
loc = space.move_step(loc, v * DT);
|
||||||
}
|
}
|
||||||
draw(&loc);
|
draw(&loc);
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ impl QuadraticAccelerator {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use approx::{abs_diff_eq, assert_abs_diff_eq, AbsDiffEq};
|
use approx::{abs_diff_eq, assert_abs_diff_eq};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ use std::io;
|
||||||
struct ObjVertex {
|
struct ObjVertex {
|
||||||
vertex: usize,
|
vertex: usize,
|
||||||
normal: usize,
|
normal: usize,
|
||||||
tex_coord: usize,
|
// tex_coord: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
|
|
@ -42,7 +42,7 @@ impl ObjMesh {
|
||||||
assert_eq!(tokens.len(), 3);
|
assert_eq!(tokens.len(), 3);
|
||||||
ObjVertex {
|
ObjVertex {
|
||||||
vertex: tokens[0],
|
vertex: tokens[0],
|
||||||
tex_coord: tokens[1],
|
// tex_coord: tokens[1],
|
||||||
normal: tokens[2],
|
normal: tokens[2],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@ mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use approx::assert_abs_diff_eq;
|
use approx::assert_abs_diff_eq;
|
||||||
|
|
||||||
use glam::{mat3, vec3, Mat3};
|
use glam::{vec3, Mat3};
|
||||||
use rand::{Rng, SeedableRng};
|
use rand::{Rng, SeedableRng};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -142,8 +142,8 @@ mod test {
|
||||||
for bx in [0.0, ε, 1.0, 7.0, 30.0 - ε] {
|
for bx in [0.0, ε, 1.0, 7.0, 30.0 - ε] {
|
||||||
let a = vec3(ax, -(space.tube.external_halflength + off), 0.);
|
let a = vec3(ax, -(space.tube.external_halflength + off), 0.);
|
||||||
let b = vec3(bx, space.tube.external_halflength + off, 0.);
|
let b = vec3(bx, space.tube.external_halflength + off, 0.);
|
||||||
let Δ = vec3(bx - ax, 2.0 * (space.tube.internal_halflength + off), 0.);
|
let δ = vec3(bx - ax, 2.0 * (space.tube.internal_halflength + off), 0.);
|
||||||
let dir = Δ / (steps as f32);
|
let dir = δ / (steps as f32);
|
||||||
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
||||||
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-2);
|
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-2);
|
||||||
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e1);
|
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e1);
|
||||||
|
|
@ -180,8 +180,8 @@ mod test {
|
||||||
) {
|
) {
|
||||||
let a = vec3(ax, -(space.tube.external_halflength + off), 0.);
|
let a = vec3(ax, -(space.tube.external_halflength + off), 0.);
|
||||||
let b = vec3(bx, space.tube.external_halflength + off, 0.);
|
let b = vec3(bx, space.tube.external_halflength + off, 0.);
|
||||||
let Δ = vec3(bx - ax, 2.0 * (space.tube.internal_halflength + off), 0.);
|
let δ = vec3(bx - ax, 2.0 * (space.tube.internal_halflength + off), 0.);
|
||||||
let dir = Δ / (steps as f32);
|
let dir = δ / (steps as f32);
|
||||||
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
||||||
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-2);
|
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-2);
|
||||||
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
||||||
|
|
@ -208,8 +208,8 @@ mod test {
|
||||||
for x in [space.tube.inner_radius - ε, space.tube.inner_radius + ε] {
|
for x in [space.tube.inner_radius - ε, space.tube.inner_radius + ε] {
|
||||||
let a = vec3(x, -(space.tube.external_halflength + off), 0.);
|
let a = vec3(x, -(space.tube.external_halflength + off), 0.);
|
||||||
let b = vec3(x, space.tube.external_halflength + off, 0.);
|
let b = vec3(x, space.tube.external_halflength + off, 0.);
|
||||||
let Δ = vec3(0.0, 2.0 * (space.tube.internal_halflength + off), 0.);
|
let δ = vec3(0.0, 2.0 * (space.tube.internal_halflength + off), 0.);
|
||||||
let dir = Δ / (steps as f32);
|
let dir = δ / (steps as f32);
|
||||||
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
||||||
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-1);
|
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 1.0e-1);
|
||||||
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
||||||
|
|
@ -235,8 +235,8 @@ mod test {
|
||||||
for x in [space.tube.outer_radius + ε, space.tube.outer_radius - ε] {
|
for x in [space.tube.outer_radius + ε, space.tube.outer_radius - ε] {
|
||||||
let a = vec3(x, -(space.tube.external_halflength + off), 0.);
|
let a = vec3(x, -(space.tube.external_halflength + off), 0.);
|
||||||
let b = vec3(x, space.tube.external_halflength + off, 0.);
|
let b = vec3(x, space.tube.external_halflength + off, 0.);
|
||||||
let Δ = vec3(0.0, 2.0 * (space.tube.external_halflength + off), 0.);
|
let δ = vec3(0.0, 2.0 * (space.tube.external_halflength + off), 0.);
|
||||||
let dir = Δ / (steps as f32);
|
let dir = δ / (steps as f32);
|
||||||
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
let traced = space.trace_iter(Ray { pos: a, dir }).nth(steps).unwrap();
|
||||||
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 2.0e0);
|
assert_abs_diff_eq!(traced.pos.x, b.x, epsilon = 2.0e0);
|
||||||
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
assert_abs_diff_eq!(traced.pos.y, b.y, epsilon = 1.0e0);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use glam::{bool, f32, vec3, Mat3, Vec3};
|
use glam::{bool, f32, Mat3, Vec3};
|
||||||
|
|
||||||
use crate::ifaces::{DebugTraceable, RayPath, Traceable};
|
use crate::ifaces::{DebugTraceable, RayPath, Traceable};
|
||||||
use coords::{FlatCoordinateSystem, InnerCS, OuterCS};
|
use coords::{FlatCoordinateSystem, InnerCS, OuterCS};
|
||||||
|
|
@ -91,13 +91,6 @@ impl Space {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn trace_boundary(&self, ray: Ray) -> Ray {
|
|
||||||
assert_eq!(self.which_subspace(ray.pos), Boundary);
|
|
||||||
self.trace_iter(ray)
|
|
||||||
.find(|&ray| self.which_subspace(ray.pos) != Boundary)
|
|
||||||
.expect("Can't get outta the wall!")
|
|
||||||
}
|
|
||||||
|
|
||||||
fn list_objects(&self, tfm: impl Fn(Location) -> Location) -> Vec<Object> {
|
fn list_objects(&self, tfm: impl Fn(Location) -> Location) -> Vec<Object> {
|
||||||
self.objs
|
self.objs
|
||||||
.iter()
|
.iter()
|
||||||
|
|
@ -284,6 +277,9 @@ impl Rect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
use glam::vec3;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rect() {
|
fn test_rect() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user