Enum rerun::external::image::flat::NormalForm
pub enum NormalForm {
Unaliased,
PixelPacked,
ImagePacked,
RowMajorPacked,
ColumnMajorPacked,
}
Expand description
Different normal forms of buffers.
A normal form is an unaliased buffer with some additional constraints. The ÌmageBuffer
uses
row major form with packed samples.
Variants§
Unaliased
No pixel aliases another.
Unaliased also guarantees that all index calculations in the image bounds using
dim_index*dim_stride
(such as x*width_stride + y*height_stride
) do not overflow.
PixelPacked
At least pixels are packed.
Images of these types can wrap [T]
-slices into the standard color types. This is a
precondition for GenericImage
which requires by-reference access to pixels.
ImagePacked
All samples are packed.
This is orthogonal to PixelPacked
. It requires that there are no holes in the image but
it is not necessary that the pixel samples themselves are adjacent. An example of this
behaviour is a planar image layout.
RowMajorPacked
The samples are in row-major form and all samples are packed.
In addition to PixelPacked
and ImagePacked
this also asserts that the pixel matrix is
in row-major form.
ColumnMajorPacked
The samples are in column-major form and all samples are packed.
In addition to PixelPacked
and ImagePacked
this also asserts that the pixel matrix is
in column-major form.
Trait Implementations§
§impl Clone for NormalForm
impl Clone for NormalForm
§fn clone(&self) -> NormalForm
fn clone(&self) -> NormalForm
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for NormalForm
impl Debug for NormalForm
§impl Hash for NormalForm
impl Hash for NormalForm
§impl PartialEq for NormalForm
impl PartialEq for NormalForm
§fn eq(&self, other: &NormalForm) -> bool
fn eq(&self, other: &NormalForm) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd for NormalForm
impl PartialOrd for NormalForm
§fn partial_cmp(&self, other: &NormalForm) -> Option<Ordering>
fn partial_cmp(&self, other: &NormalForm) -> Option<Ordering>
Compares the logical preconditions.
a < b
if the normal form a
has less preconditions than b
.
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for NormalForm
impl Eq for NormalForm
impl StructuralPartialEq for NormalForm
Auto Trait Implementations§
impl Freeze for NormalForm
impl RefUnwindSafe for NormalForm
impl Send for NormalForm
impl Sync for NormalForm
impl Unpin for NormalForm
impl UnwindSafe for NormalForm
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> ⓘ
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> ⓘ
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request