BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
Polygon (const std::vector< double > x, const std::vector< double > y) | |
Polygon (const std::vector< std::vector< double >> points) | |
Polygon (const PolygonPrivate *d) | |
virtual | ~Polygon () |
virtual Polygon * | clone () const |
virtual bool | contains (double x, double y) const |
virtual bool | contains (const Bin1D &binx, const Bin1D &biny) const |
double | getArea () const |
void | getPoints (std::vector< double > &xpos, std::vector< double > &ypos) const |
virtual void | transferToCPP () |
Protected Member Functions | |
virtual void | print (std::ostream &ostr) const |
Private Attributes | |
PolygonPrivate * | m_d |
const char *const | m_name |
A polygon in 2D space.
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.
Polygon::Polygon | ( | const std::vector< double > | x, |
const std::vector< double > | y | ||
) |
x | Vector of x-coordinates of polygon points. |
y | Vector of y-coordinates of polygon points. |
Definition at line 65 of file Polygon.cpp.
References PolygonPrivate::init_from(), and m_d.
Referenced by clone().
Polygon::Polygon | ( | const std::vector< std::vector< double >> | points | ) |
Polygon defined by two dimensional array with (x,y) coordinates of polygon points.
The size of second dimension should be 2. If polygon is unclosed (the last point doesn't repeat the first one), it will be closed automatically.
points | Two dimensional vector of (x,y) coordinates of polygon points. |
Definition at line 77 of file Polygon.cpp.
References PolygonPrivate::init_from(), and m_d.
Polygon::Polygon | ( | const PolygonPrivate * | d | ) |
Definition at line 93 of file Polygon.cpp.
|
virtual |
|
inlinevirtual |
|
virtual |
Returns true if point with given coordinates is inside or on border of the shape.
Implements IShape2D.
Definition at line 100 of file Polygon.cpp.
References m_d, and PolygonPrivate::polygon.
Referenced by contains().
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.
Definition at line 106 of file Polygon.cpp.
References contains(), and Bin1D::getMidPoint().
double Polygon::getArea | ( | ) | const |
Definition at line 111 of file Polygon.cpp.
References m_d, and PolygonPrivate::polygon.
void Polygon::getPoints | ( | std::vector< double > & | xpos, |
std::vector< double > & | ypos | ||
) | const |
Definition at line 116 of file Polygon.cpp.
References PolygonPrivate::get_points(), and m_d.
|
protectedvirtual |
Reimplemented from IShape2D.
Definition at line 121 of file Polygon.cpp.
References m_d, and PolygonPrivate::polygon.
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
private |
Definition at line 52 of file Polygon.h.
Referenced by clone(), contains(), getArea(), getPoints(), Polygon(), print(), and ~Polygon().
|
privateinherited |
Definition at line 49 of file IShape2D.h.
Referenced by IShape2D::print().