4#ifndef _a4690364_ec62_4b06_aebc_5b4dc3f92f29
5#define _a4690364_ec62_4b06_aebc_5b4dc3f92f29
22 Mask & operator=(
Mask const &) =
default;
24 ~Mask()
override =
default;
Shape const & shape() const
std::vector< Point > Points
Definition MaskBase.h:25
MaskBase(Shape const &shape={}, bool value=bool())
Vector2l Point
Definition MaskBase.h:20
Vector2l Shape
Definition MaskBase.h:22
A two dimensional binary mask.
Definition Mask.h:16
Mask & operator|=(Mask const &right)
In-place union of two masks.
Mask & enable(Point const &p)
Enable a point.
Mask(Shape const &shape={}, bool value=true)
Create a constant mask.
Mask & disable(Point const &p)
Disable a point.
Mask & operator&=(Mask const &right)
In-place intersection of two masks.
Mask & flip()
Switch the status of all points (enabled ↔ disabled).
Points enabledPoints() const
Return a vector of enabled points.
std::size_t count() const
Return the number of enabled points.
bool enabled(Point const &p) const
Check whether the point is enabled.
Top-level namespace of the msl library.
Definition acceleration.h:17
Mask operator&(Mask left, Mask const &right)
Intersection of two masks.
Mask operator!(Mask mask)
Retrun a switched mask (enabled ↔ disabled).
std::ostream & operator<<(std::ostream &stream, iPATMask const &mask)
Visual representation of the mask.
Mask operator|(Mask left, Mask const &right)
Union of two masks.