![]() |
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure |
A special case of SphericalPolygon for which the polygon is convex. More...
#include <StelSphereGeometry.hpp>
Public Member Functions | |
SphericalConvexPolygon () | |
SphericalConvexPolygon (const QVector< QVector< Vec3d > > &contours) | |
SphericalConvexPolygon (const QVector< Vec3d > &contour) | |
SphericalConvexPolygon (const Vec3d &e0, const Vec3d &e1, const Vec3d &e2) | |
SphericalConvexPolygon (const Vec3d &e0, const Vec3d &e1, const Vec3d &e2, const Vec3d &e3) | |
virtual SphericalRegionType | getType () const |
virtual OctahedronPolygon | getOctahedronPolygon () const |
virtual StelVertexArray | getFillVertexArray () const |
virtual StelVertexArray | getOutlineVertexArray () const |
virtual double | getArea () const |
virtual bool | isEmpty () const |
virtual Vec3d | getPointInside () const |
virtual SphericalCap | getBoundingCap () const |
QVector< SphericalCap > | getBoundingSphericalCaps () const |
virtual QVariantList | toQVariant () const |
virtual void | serialize (QDataStream &out) const |
virtual bool | contains (const Vec3d &p) const |
virtual bool | contains (const SphericalPolygon &r) const |
virtual bool | contains (const SphericalConvexPolygon &r) const |
virtual bool | contains (const SphericalCap &r) const |
virtual bool | contains (const SphericalPoint &r) const |
virtual bool | contains (const AllSkySphericalRegion &) const |
virtual bool | intersects (const SphericalCap &r) const |
virtual bool | intersects (const SphericalPolygon &r) const |
virtual bool | intersects (const SphericalConvexPolygon &r) const |
virtual bool | intersects (const SphericalPoint &r) const |
virtual bool | intersects (const AllSkySphericalRegion &) const |
void | setContour (const QVector< Vec3d > &acontour) |
const QVector< Vec3d > & | getConvexContour () const |
bool | checkValid () const |
Static Public Member Functions | |
static bool | checkValidContour (const QVector< Vec3d > &contour) |
static SphericalRegionP | deserialize (QDataStream &in) |
Protected Member Functions | |
void | updateBoundingCap () |
bool | areAllPointsOutsideOneSide (const QVector< Vec3d > &points) const |
bool | containsConvexContour (const Vec3d *vertice, int nbVertex) const |
Static Protected Member Functions | |
static bool | areAllPointsOutsideOneSide (const Vec3d *thisContour, int nbThisContour, const Vec3d *points, int nbPoints) |
Protected Attributes | |
QVector< Vec3d > | contour |
SphericalCap | cachedBoundingCap |
A special case of SphericalPolygon for which the polygon is convex.
static bool SphericalConvexPolygon::areAllPointsOutsideOneSide | ( | const Vec3d * | thisContour, | |
int | nbThisContour, | |||
const Vec3d * | points, | |||
int | nbPoints | |||
) | [static, protected] |
Computes whether the passed points are all outside of at least one SphericalCap defining the polygon boundary.
thisContour | the vertices defining the contour. | |
nbThisContour | nb of vertice of the contour. | |
points | the points to test. | |
nbPoints | the number of points to test. |
virtual SphericalCap SphericalConvexPolygon::getBoundingCap | ( | ) | const [inline, virtual] |
Return a bounding SphericalCap.
This method is heavily used and therefore needs to be very fast. The returned SphericalCap doesn't have to be the smallest one, but smaller is better.
Reimplemented from SphericalRegion.
virtual OctahedronPolygon SphericalConvexPolygon::getOctahedronPolygon | ( | ) | const [inline, virtual] |
Return the octahedron contour representation of the polygon.
It can be used for safe computation of intersection/union in the general case.
Implements SphericalRegion.
virtual StelVertexArray SphericalConvexPolygon::getOutlineVertexArray | ( | ) | const [inline, virtual] |
Get the outline of the contours defining the SphericalPolygon.
Reimplemented from SphericalRegion.
void SphericalConvexPolygon::setContour | ( | const QVector< Vec3d > & | acontour | ) | [inline] |
Set a single contour defining the SphericalPolygon.
acontour | a contour defining the polygon area. |
virtual QVariantList SphericalConvexPolygon::toQVariant | ( | ) | const [virtual] |
Serialize the region into a QVariant map matching the JSON format.
The format is
["CONVEX_POLYGON", [[ra,dec], [ra,dec], [ra,dec], [ra,dec]]]
where the coords are a closed convex contour, with each points defined by ra dec in degree in the ICRS frame.
Implements SphericalRegion.
Reimplemented in SphericalTexturedConvexPolygon.