pub enum RayMeshError {
NonFiniteInput,
ZeroDirection,
InvalidTolerance,
PositionIndexOutOfRange {
triangle: usize,
},
DegenerateTriangle {
triangle: usize,
},
TriangleIndexOutOfRange {
triangle: usize,
triangle_count: usize,
},
}Expand description
Fail-closed reasons a ray/mesh query cannot produce an answer.
Variants§
NonFiniteInput
A ray or mesh coordinate is NaN or infinite.
ZeroDirection
The ray direction is exactly zero, so no parametric distance exists.
InvalidTolerance
The tolerance policy is not usable for a parametric query.
PositionIndexOutOfRange
A triangle references a position outside the mesh’s position buffer.
DegenerateTriangle
A triangle has zero area, so it has no defined ray intersection.
Reported rather than skipped: a silent miss is indistinguishable from empty space.
TriangleIndexOutOfRange
A candidate triangle index is at or beyond the mesh’s triangle count.
Reported rather than skipped: a broad phase built over a different mesh would otherwise answer “no hit” for triangles it never tested.
Trait Implementations§
Source§impl Clone for RayMeshError
impl Clone for RayMeshError
Source§fn clone(&self) -> RayMeshError
fn clone(&self) -> RayMeshError
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RayMeshError
impl Debug for RayMeshError
Source§impl Display for RayMeshError
impl Display for RayMeshError
Source§impl Error for RayMeshError
impl Error for RayMeshError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl PartialEq for RayMeshError
impl PartialEq for RayMeshError
impl Copy for RayMeshError
impl Eq for RayMeshError
impl StructuralPartialEq for RayMeshError
Auto Trait Implementations§
impl Freeze for RayMeshError
impl RefUnwindSafe for RayMeshError
impl Send for RayMeshError
impl Sync for RayMeshError
impl Unpin for RayMeshError
impl UnwindSafe for RayMeshError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more