Abstract base class for masks with given dimension. More...
#include <mask.h>
Public Member Functions | |
| ~Mask () override | |
| virtual bool | inside (const Position< D > &) const =0 |
| bool | inside (const std::vector< double > &pt) const override |
| virtual bool | inside (const Box< D > &) const =0 |
| virtual bool | outside (const Box< D > &b) const |
| virtual Box< D > | get_bbox () const =0 |
| The whole mask is inside (i.e., false everywhere outside) the bounding box. | |
| virtual Mask * | clone () const =0 |
| Clone method. | |
| AbstractMask * | intersect_mask (const AbstractMask &other) const override |
| Create the intersection of this mask with another. | |
| AbstractMask * | union_mask (const AbstractMask &other) const override |
| Create the union of this mask with another. | |
| AbstractMask * | minus_mask (const AbstractMask &other) const override |
| Create the difference of this mask and another. | |
| virtual bool | inside (const std::vector< double > &) const=0 |
Public Member Functions inherited from nest::AbstractMask | |
| virtual | ~AbstractMask () |
| virtual Dictionary | get_dict () const |
Abstract base class for masks with given dimension.
|
inlineoverride |
|
pure virtual |
Clone method.
Implemented in nest::AllMask< D >, nest::IntersectionMask< D >, nest::UnionMask< D >, nest::DifferenceMask< D >, nest::ConverseMask< D >, nest::AnchoredMask< D >, nest::BoxMask< D >, nest::BallMask< D >, and nest::EllipseMask< D >.
|
pure virtual |
The whole mask is inside (i.e., false everywhere outside) the bounding box.
Implemented in nest::AllMask< D >, nest::IntersectionMask< D >, nest::UnionMask< D >, nest::DifferenceMask< D >, nest::ConverseMask< D >, nest::AnchoredMask< D >, nest::BoxMask< D >, nest::BallMask< D >, and nest::EllipseMask< D >.
|
pure virtual |
Implemented in nest::AllMask< D >, nest::BallMask< D >, nest::EllipseMask< D >, nest::IntersectionMask< D >, nest::UnionMask< D >, nest::DifferenceMask< D >, nest::ConverseMask< D >, nest::AnchoredMask< D >, and nest::BoxMask< D >.
|
pure virtual |
Implemented in nest::AllMask< D >, nest::IntersectionMask< D >, nest::UnionMask< D >, nest::DifferenceMask< D >, nest::ConverseMask< D >, nest::AnchoredMask< D >, nest::BoxMask< D >, nest::BallMask< D >, and nest::EllipseMask< D >.
|
virtual |
Implements nest::AbstractMask.
|
overridevirtual |
Implements nest::AbstractMask.
References nest::inside().
|
overridevirtual |
Create the intersection of this mask with another.
Masks must have the same dimension
Implements nest::AbstractMask.
|
overridevirtual |
Create the difference of this mask and another.
Masks must have the same dimension.
Implements nest::AbstractMask.
|
virtual |
Reimplemented in nest::AllMask< D >, nest::IntersectionMask< D >, nest::UnionMask< D >, nest::DifferenceMask< D >, nest::ConverseMask< D >, nest::AnchoredMask< D >, nest::BoxMask< D >, nest::BallMask< D >, and nest::EllipseMask< D >.
References nest::Box< D >::lower_left, and nest::Box< D >::upper_right.
|
overridevirtual |
Create the union of this mask with another.
Masks must have the same dimension.
Implements nest::AbstractMask.