Mask defining an elliptical or ellipsoidal region. More...
#include <mask.h>
Public Member Functions | |
| EllipseMask (Position< D > center, double major_axis, double minor_axis, double polar_axis, double azimuth_angle, double polar_angle) | |
| EllipseMask (const Dictionary &) | |
| Creates an EllipseMask from a Dictionary which should contain the keys "major_axis" and "minor_axis" with double values, and optionally the keys "polar_axis", "anchor" (the center position), "azimuth_angle" or "polar_angle" with a double, an array of doubles, a double and a double, respectively. | |
| ~EllipseMask () override | |
| bool | inside (const Position< D > &p) const override |
| bool | inside (const Box< D > &) const override |
| bool | outside (const Box< D > &b) const override |
| Box< D > | get_bbox () const override |
| The whole mask is inside (i.e., false everywhere outside) the bounding box. | |
| Dictionary | get_dict () const override |
| Mask< D > * | clone () const override |
| Clone method. | |
| bool | inside (const Position< 2 > &p) const |
| bool | inside (const Position< 3 > &p) const |
| bool | inside (const Box< 2 > &b) const |
| bool | inside (const Box< 3 > &b) const |
| std::string | get_name () |
| std::string | get_name () |
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 () |
Static Public Member Functions | |
| static std::string | get_name () |
Private Member Functions | |
| void | create_bbox_ () |
Private Attributes | |
| Position< D > | center_ |
| double | major_axis_ |
| double | minor_axis_ |
| double | polar_axis_ |
| double | azimuth_angle_ |
| double | polar_angle_ |
| double | x_scale_ |
| double | y_scale_ |
| double | z_scale_ |
| double | azimuth_cos_ |
| double | azimuth_sin_ |
| double | polar_cos_ |
| double | polar_sin_ |
| Box< D > | bbox_ |
Mask defining an elliptical or ellipsoidal region.
|
inline |
| center | Center of ellipse |
| major_axis | Length of major axis of ellipse or ellipsoid |
| minor_axis | Length of minor axis of ellipse or ellipsoid |
| polar_axis | Length of polar axis of ellipsoid |
| azimuth_angle | Angle in degrees between x-axis and major axis of the ellipse or ellipsoid |
| polar_angle | Angle in degrees between z-axis and polar axis of the ellipsoid |
References nest::EllipseMask< D >::create_bbox_(), nest::EllipseMask< D >::major_axis_, nest::EllipseMask< D >::minor_axis_, nest::EllipseMask< D >::polar_angle_, and nest::EllipseMask< D >::polar_axis_.
| nest::EllipseMask< D >::EllipseMask | ( | const Dictionary & | d | ) |
Creates an EllipseMask from a Dictionary which should contain the keys "major_axis" and "minor_axis" with double values, and optionally the keys "polar_axis", "anchor" (the center position), "azimuth_angle" or "polar_angle" with a double, an array of doubles, a double and a double, respectively.
References nest::names::anchor(), nest::names::azimuth_angle(), nest::names::major_axis(), nest::names::minor_axis(), numerics::pi, nest::names::polar_angle(), and nest::names::polar_axis().
|
inlineoverride |
|
overridevirtual |
|
private |
|
overridevirtual |
The whole mask is inside (i.e., false everywhere outside) the bounding box.
Implements nest::Mask< D >.
|
overridevirtual |
Reimplemented from nest::AbstractMask.
References nest::names::anchor(), nest::names::azimuth_angle(), nest::names::major_axis(), nest::names::minor_axis(), nest::names::polar_angle(), and nest::names::polar_axis().
|
static |
|
inline |
|
inline |
| bool nest::EllipseMask< 2 >::inside | ( | const Box< 2 > & | b | ) | const |
| bool nest::EllipseMask< 3 >::inside | ( | const Box< 3 > & | b | ) | const |
|
overridevirtual |
Implements nest::Mask< D >.
| bool nest::EllipseMask< 2 >::inside | ( | const Position< 2 > & | p | ) | const |
| bool nest::EllipseMask< 3 >::inside | ( | const Position< 3 > & | p | ) | const |
|
overridevirtual |
Implements nest::Mask< D >.
|
overridevirtual |
Reimplemented from nest::Mask< D >.
References nest::Box< D >::lower_left, and nest::Box< D >::upper_right.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by nest::EllipseMask< D >::EllipseMask().
|
private |
Referenced by nest::EllipseMask< D >::EllipseMask().
|
private |
Referenced by nest::EllipseMask< D >::EllipseMask().
|
private |
Referenced by nest::EllipseMask< D >::EllipseMask().
|
private |
|
private |
|
private |
|
private |
|
private |