diff --git a/src/base/matrix.rs b/src/base/matrix.rs index 0d0f9f26..f1417d39 100644 --- a/src/base/matrix.rs +++ b/src/base/matrix.rs @@ -1993,7 +1993,10 @@ impl_fmt!(fmt::Binary, "{:b}", "{:.1$b}"); impl_fmt!(fmt::Pointer, "{:p}", "{:.1$p}"); /// Displays a vector using commas as the delimiter -pub fn display_column_vec_as_row(vector: &OVector, f: &mut fmt::Formatter<'_>) -> fmt::Result +pub fn format_column_vec_as_row( + vector: &OVector, + f: &mut fmt::Formatter<'_>, +) -> fmt::Result where DefaultAllocator: Allocator, { diff --git a/src/geometry/dual_quaternion.rs b/src/geometry/dual_quaternion.rs index 46666863..adb6d9ea 100644 --- a/src/geometry/dual_quaternion.rs +++ b/src/geometry/dual_quaternion.rs @@ -952,7 +952,7 @@ impl Default for UnitDualQuaternion { impl fmt::Display for UnitDualQuaternion { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{{ translation: ")?; - crate::display_column_vec_as_row(&self.translation().vector, f)?; + crate::format_column_vec_as_row(&self.translation().vector, f)?; write!(f, ", ")?; write!(f, "rotation: ")?; std::fmt::Display::fmt(&self.rotation(), f)?; diff --git a/src/geometry/isometry.rs b/src/geometry/isometry.rs index 6f375d45..5db33bc3 100755 --- a/src/geometry/isometry.rs +++ b/src/geometry/isometry.rs @@ -549,7 +549,7 @@ where { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{{ translation: ")?; - crate::display_column_vec_as_row(&self.translation.vector, f)?; + crate::format_column_vec_as_row(&self.translation.vector, f)?; write!(f, ", ")?; write!(f, "rotation: ")?; std::fmt::Display::fmt(&self.rotation, f)?; diff --git a/src/geometry/point.rs b/src/geometry/point.rs index d639a04a..dce84ed4 100644 --- a/src/geometry/point.rs +++ b/src/geometry/point.rs @@ -35,7 +35,7 @@ use std::mem::MaybeUninit; /// may have some other methods, e.g., `isometry.inverse_transform_point(&point)`. See the documentation /// of said transformations for details. #[repr(C)] -#[derive(Clone, Debug)] +#[derive(Clone)] #[cfg_attr( feature = "rkyv-serialize-no-std", derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize) @@ -49,6 +49,15 @@ where pub coords: OVector, } +impl fmt::Debug for OPoint +where + DefaultAllocator: Allocator, +{ + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + self.coords.as_slice().fmt(formatter) + } +} + impl hash::Hash for OPoint where DefaultAllocator: Allocator, @@ -458,7 +467,7 @@ where /// ``` fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if f.alternate() { - crate::display_column_vec_as_row(&self.coords, f) + crate::format_column_vec_as_row(&self.coords, f) } else { std::fmt::Display::fmt(&self.coords, f) // pretty-prints vector } diff --git a/src/geometry/scale.rs b/src/geometry/scale.rs index ad09cca5..4a06ac6c 100755 --- a/src/geometry/scale.rs +++ b/src/geometry/scale.rs @@ -23,13 +23,19 @@ use crate::geometry::Point; derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize) )] #[cfg_attr(feature = "cuda", derive(cust_core::DeviceCopy))] -#[derive(Copy, Clone, Debug)] +#[derive(Copy, Clone)] pub struct Scale { /// The scale coordinates, i.e., how much is multiplied to a point's coordinates when it is /// scaled. pub vector: SVector, } +impl fmt::Debug for Scale { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + self.vector.as_slice().fmt(formatter) + } +} + impl hash::Hash for Scale where Owned>: hash::Hash, @@ -364,7 +370,7 @@ where impl fmt::Display for Scale { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if f.alternate() { - crate::display_column_vec_as_row(&self.vector, f) + crate::format_column_vec_as_row(&self.vector, f) } else { std::fmt::Display::fmt(&self.vector, f) // pretty-prints vector } diff --git a/src/geometry/similarity.rs b/src/geometry/similarity.rs index 0a6060ac..cb5e32f0 100755 --- a/src/geometry/similarity.rs +++ b/src/geometry/similarity.rs @@ -398,7 +398,7 @@ where { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{{ translation: ")?; - crate::display_column_vec_as_row(&self.isometry.translation.vector, f)?; + crate::format_column_vec_as_row(&self.isometry.translation.vector, f)?; write!(f, ", ")?; write!(f, "rotation: ")?; std::fmt::Display::fmt(&self.isometry.rotation, f)?; diff --git a/src/geometry/translation.rs b/src/geometry/translation.rs index b910d88b..2cbff1a0 100755 --- a/src/geometry/translation.rs +++ b/src/geometry/translation.rs @@ -23,13 +23,19 @@ use crate::geometry::Point; derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize) )] #[cfg_attr(feature = "cuda", derive(cust_core::DeviceCopy))] -#[derive(Copy, Clone, Debug)] +#[derive(Copy, Clone)] pub struct Translation { /// The translation coordinates, i.e., how much is added to a point's coordinates when it is /// translated. pub vector: SVector, } +impl fmt::Debug for Translation { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + self.vector.as_slice().fmt(formatter) + } +} + impl hash::Hash for Translation where Owned>: hash::Hash, @@ -279,7 +285,7 @@ where impl fmt::Display for Translation { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if f.alternate() { - crate::display_column_vec_as_row(&self.vector, f) + crate::format_column_vec_as_row(&self.vector, f) } else { std::fmt::Display::fmt(&self.vector, f) // pretty-prints vector }