NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::IntersectionMask< D > Class Template Reference

Mask combining two masks with a Boolean AND, the intersection. More...

#include <mask.h>

Inheritance diagram for nest::IntersectionMask< D >:
[legend]
Collaboration diagram for nest::IntersectionMask< D >:
[legend]

Public Member Functions

 IntersectionMask (const Mask< D > &m1, const Mask< D > &m2)
 Construct the intersection of the two given masks.
 
 IntersectionMask (const IntersectionMask &m)
 Copy constructor.
 
 ~IntersectionMask ()
 
bool inside (const Position< D > &p) const
 
bool inside (const Box< D > &b) const
 
bool outside (const Box< D > &b) const
 
Box< D > get_bbox () const
 The whole mask is inside (i.e., false everywhere outside) the bounding box.
 
Mask< D > * clone () const
 Clone method.
 
- Public Member Functions inherited from nest::Mask< D >
 ~Mask () override
 
bool inside (const std::vector< double > &pt) const override
 
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
 

Protected Attributes

Mask< D > * mask1_
 
Mask< D > * mask2_
 

Detailed Description

template<int D>
class nest::IntersectionMask< D >

Mask combining two masks with a Boolean AND, the intersection.

Constructor & Destructor Documentation

◆ IntersectionMask() [1/2]

template<int D>
nest::IntersectionMask< D >::IntersectionMask ( const Mask< D > &  m1,
const Mask< D > &  m2 
)
inline

Construct the intersection of the two given masks.

Copies are made of the supplied Mask objects.

◆ IntersectionMask() [2/2]

template<int D>
nest::IntersectionMask< D >::IntersectionMask ( const IntersectionMask< D > &  m)
inline

Copy constructor.

◆ ~IntersectionMask()

Member Function Documentation

◆ clone()

template<int D>
Mask< D > * nest::IntersectionMask< D >::clone ( ) const
virtual

Clone method.

Returns
dynamically allocated copy of mask object

Implements nest::Mask< D >.

◆ get_bbox()

template<int D>
Box< D > nest::IntersectionMask< D >::get_bbox ( ) const
virtual

The whole mask is inside (i.e., false everywhere outside) the bounding box.

Returns
bounding box

Implements nest::Mask< D >.

References nest::Box< D >::lower_left, and nest::Box< D >::upper_right.

◆ inside() [1/2]

template<int D>
bool nest::IntersectionMask< D >::inside ( const Box< D > &  ) const
virtual
Returns
true if the whole box is inside the mask.
Note
a return value of false is not a guarantee that the whole box is not inside the mask.

Implements nest::Mask< D >.

◆ inside() [2/2]

template<int D>
bool nest::IntersectionMask< D >::inside ( const Position< D > &  ) const
virtual
Returns
true if point is inside mask.

Implements nest::Mask< D >.

◆ outside()

template<int D>
bool nest::IntersectionMask< D >::outside ( const Box< D > &  b) const
virtual
Returns
true if the whole box is outside the mask.
Note
a return value of false is not a guarantee that the whole box is not outside the mask.

Reimplemented from nest::Mask< D >.

Member Data Documentation

◆ mask1_

template<int D>
Mask< D >* nest::IntersectionMask< D >::mask1_
protected

◆ mask2_

template<int D>
Mask< D > * nest::IntersectionMask< D >::mask2_
protected

The documentation for this class was generated from the following files: