BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A polygon, for use in detector masks.
Polygon defined by two arrays with x and y coordinates of points. Sizes of arrays should coincide. If polygon is unclosed (the last point doesn't repeat the first one), it will be closed automatically.
Public Member Functions | |
Polygon (const PolygonPrivate *d) | |
Polygon (std::vector< double > x, std::vector< double > y) | |
Polygon (std::vector< std::pair< double, double >> points) | |
~Polygon () override | |
Polygon * | clone () const override |
bool | contains (const Bin1D &binx, const Bin1D &biny) const override |
Returns true if area defined by two bins is inside or on border of polygon (more precisely, if mid point of two bins satisfy this condition). More... | |
bool | contains (double x, double y) const override |
Returns true if point with given coordinates is inside or on border of the shape. More... | |
double | getArea () const |
void | getPoints (std::vector< double > &xpos, std::vector< double > &ypos) const |
Protected Member Functions | |
void | print (std::ostream &ostr) const override |
Polygon::Polygon | ( | std::vector< double > | x, |
std::vector< double > | y | ||
) |
Polygon::Polygon | ( | std::vector< std::pair< double, double >> | points | ) |
Polygon::Polygon | ( | const PolygonPrivate * | d | ) |
|
override |
Returns true if area defined by two bins is inside or on border of polygon (more precisely, if mid point of two bins satisfy this condition).
Implements IShape2D.
|
overridevirtual |
Returns true if point with given coordinates is inside or on border of the shape.
Implements IShape2D.
double Polygon::getArea | ( | ) | const |
void Polygon::getPoints | ( | std::vector< double > & | xpos, |
std::vector< double > & | ypos | ||
) | const |
|
overrideprotectedvirtual |
Reimplemented from IShape2D.