Struct pico_detect::Rect [−][src]
pub struct Rect { /* fields omitted */ }Expand description
A rectangular region of non-zero width and height.
Examples
use imageproc::rect::Rect;
use imageproc::rect::Region;
// Construct a rectangle with top-left corner at (4, 5), width 6 and height 7.
let rect = Rect::at(4, 5).of_size(6, 7);
// Contains top-left point:
assert_eq!(rect.left(), 4);
assert_eq!(rect.top(), 5);
assert!(rect.contains(rect.left(), rect.top()));
// Contains bottom-right point, at (left + width - 1, top + height - 1):
assert_eq!(rect.right(), 9);
assert_eq!(rect.bottom(), 11);
assert!(rect.contains(rect.right(), rect.bottom()));Implementations
Reduces possibility of confusing coordinates and dimensions when specifying rects.
See the struct-level documentation for examples.
Smallest y-coordinate reached by rect.
See the struct-level documentation for examples.
Smallest x-coordinate reached by rect.
See the struct-level documentation for examples.
Greatest y-coordinate reached by rect.
See the struct-level documentation for examples.
Greatest x-coordinate reached by rect.
See the struct-level documentation for examples.
Returns the intersection of self and other, or none if they are are disjoint.
Examples
use imageproc::rect::Rect;
use imageproc::rect::Region;
// Intersecting a rectangle with itself
let r = Rect::at(4, 5).of_size(6, 7);
assert_eq!(r.intersect(r), Some(r));
// Intersecting overlapping but non-equal rectangles
let r = Rect::at(0, 0).of_size(5, 5);
let s = Rect::at(1, 4).of_size(10, 12);
let i = Rect::at(1, 4).of_size(4, 1);
assert_eq!(r.intersect(s), Some(i));
// Intersecting disjoint rectangles
let r = Rect::at(0, 0).of_size(5, 5);
let s = Rect::at(10, 10).of_size(100, 12);
assert_eq!(r.intersect(s), None);Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Rect
impl UnwindSafe for Rect
Blanket Implementations
type Err = NoError
type Err = NoError
The error type produced by a failed conversion.
pub fn approx_from(
src: Src
) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
pub fn approx_from(
src: Src
) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
pub fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
pub fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
Mutably borrows from an owned value. Read more
Approximate the subject to a given type with the default scheme.
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
Attempt to convert the subject to a given type.
The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self is actually part of its subset T (and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self to the equivalent element of its superset.
pub fn vzip(self) -> V
type Err = NoError
type Err = NoError
The error type produced by a failed conversion.
pub fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
pub fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
type Err = <Dst as ValueFrom<Src>>::Err
type Err = <Dst as ValueFrom<Src>>::Err
The error type produced by a failed conversion.
pub fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
pub fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.