diff --git a/crates/bevy_gltf_blueprints/src/lib.rs b/crates/bevy_gltf_blueprints/src/lib.rs index 36ac25b..db9181f 100644 --- a/crates/bevy_gltf_blueprints/src/lib.rs +++ b/crates/bevy_gltf_blueprints/src/lib.rs @@ -89,7 +89,6 @@ pub struct BlueprintsPlugin { pub library_folder: PathBuf, /// Automatically generate aabbs for the blueprints root objects pub aabbs: bool, - /// pub material_library: bool, pub material_library_folder: PathBuf, } diff --git a/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs b/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs index ea8a02c..278c83a 100644 --- a/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs +++ b/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs @@ -192,6 +192,7 @@ pub(crate) fn check_for_loaded( } } +#[allow(clippy::too_many_arguments)] pub(crate) fn spawn_from_blueprints( spawn_placeholders: Query< ( diff --git a/crates/bevy_gltf_save_load/src/loading.rs b/crates/bevy_gltf_save_load/src/loading.rs index 7410eca..1b23865 100644 --- a/crates/bevy_gltf_save_load/src/loading.rs +++ b/crates/bevy_gltf_save_load/src/loading.rs @@ -32,7 +32,7 @@ pub(crate) fn mark_load_requested( let mut save_path: String = "".into(); for load_request in load_requests.read() { if !load_request.path.is_empty() { - save_path = load_request.path.clone(); + save_path.clone_from(&load_request.path); } } if !save_path.is_empty() { diff --git a/crates/bevy_gltf_save_load/src/saving.rs b/crates/bevy_gltf_save_load/src/saving.rs index 47e4aa2..41295d0 100644 --- a/crates/bevy_gltf_save_load/src/saving.rs +++ b/crates/bevy_gltf_save_load/src/saving.rs @@ -80,7 +80,7 @@ pub(crate) fn save_game(world: &mut World) { for event in events.get_reader().read(&events) { info!("SAVE EVENT !! {:?}", event); - save_path = event.path.clone(); + save_path.clone_from(&event.path); } events.clear(); diff --git a/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs b/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs index 0d8fc57..c8d2a2b 100644 --- a/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs @@ -112,11 +112,11 @@ pub fn animation_change_on_proximity_foxes( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) .expect("animation name should be in the list") - .clone(), + , Duration::from_secs(3), ) .repeat(); @@ -151,11 +151,11 @@ pub fn animation_change_on_proximity_robots( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) .expect("animation name should be in the list") - .clone(), + , Duration::from_secs(3), ) .repeat(); @@ -180,11 +180,11 @@ pub fn animation_control( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) .expect("animation name should be in the list") - .clone(), + , Duration::from_secs(5), ) .repeat(); @@ -199,11 +199,10 @@ pub fn animation_control( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) - .expect("animation name should be in the list") - .clone(), + .expect("animation name should be in the list"), Duration::from_secs(5), ) .repeat(); @@ -217,11 +216,11 @@ pub fn animation_control( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) .expect("animation name should be in the list") - .clone(), + , Duration::from_secs(5), ) .repeat(); @@ -235,11 +234,11 @@ pub fn animation_control( animation_transitions .play( &mut animation_player, - animations + *animations .named_indices .get(anim_name) .expect("animation name should be in the list") - .clone(), + , Duration::from_secs(5), ) .repeat(); diff --git a/examples/common_rapier/src/physics/utils.rs b/examples/common_rapier/src/physics/utils.rs index 7886710..2a3c0b7 100644 --- a/examples/common_rapier/src/physics/utils.rs +++ b/examples/common_rapier/src/physics/utils.rs @@ -1,54 +1,9 @@ use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; +use bevy::render::mesh::PrimitiveTopology; // TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; + fn search_in_children<'a>( parent: Entity, children: &'a Query<&Children>, @@ -58,37 +13,6 @@ pub(crate) trait MeshExt { } impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - fn search_in_children<'a>( parent: Entity, children_query: &'a Query<&Children>, @@ -125,51 +49,3 @@ impl MeshExt for Mesh { } } } - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/common_xpbd/src/physics/utils.rs b/examples/common_xpbd/src/physics/utils.rs index 7886710..8fde971 100644 --- a/examples/common_xpbd/src/physics/utils.rs +++ b/examples/common_xpbd/src/physics/utils.rs @@ -1,54 +1,8 @@ use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; +use bevy::render::mesh::PrimitiveTopology; // TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; fn search_in_children<'a>( parent: Entity, children: &'a Query<&Children>, @@ -58,37 +12,6 @@ pub(crate) trait MeshExt { } impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - fn search_in_children<'a>( parent: Entity, children_query: &'a Query<&Children>, @@ -124,52 +47,4 @@ impl MeshExt for Mesh { Vec::new() } } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} +} \ No newline at end of file