![]() |
Stellarium
0.17.0
|
A special case of SphericalPolygon for which the polygon is convex. More...
#include <StelSphereGeometry.hpp>
Public Member Functions | |
| SphericalConvexPolygon () | |
| Default constructor. | |
| SphericalConvexPolygon (const QVector< QVector< Vec3d > > &contours) | |
| Constructor from a list of contours. | |
| SphericalConvexPolygon (const QVector< Vec3d > &contour) | |
| Constructor from one contour. | |
| SphericalConvexPolygon (const Vec3d &e0, const Vec3d &e1, const Vec3d &e2) | |
| Special constructor for triangle. | |
| SphericalConvexPolygon (const Vec3d &e0, const Vec3d &e1, const Vec3d &e2, const Vec3d &e3) | |
| Special constructor for quads. | |
| virtual SphericalRegionType | getType () const |
| virtual OctahedronPolygon | getOctahedronPolygon () const |
| Return the octahedron contour representation of the polygon. More... | |
| virtual StelVertexArray | getFillVertexArray () const |
| Return an openGL compatible array to be displayed using vertex arrays. | |
| virtual StelVertexArray | getOutlineVertexArray () const |
| Get the outline of the contours defining the SphericalPolygon. More... | |
| virtual double | getArea () const |
| Return the area of the region in steradians. | |
| virtual bool | isEmpty () const |
| Return true if the region is empty. | |
| virtual Vec3d | getPointInside () const |
| Return a point located inside the region. | |
| virtual SphericalCap | getBoundingCap () const |
| Return a bounding SphericalCap. More... | |
| QVector< SphericalCap > | getBoundingSphericalCaps () const |
| Return the list of SphericalCap bounding the ConvexPolygon. | |
| virtual QVariantList | toQVariant () const |
| Serialize the region into a QVariant map matching the JSON format. More... | |
| virtual void | serialize (QDataStream &out) const |
| Serialize the region. This method must allow as fast as possible serialization and work with deserialize(). | |
| 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) |
| Set a single contour defining the SphericalPolygon. More... | |
| const QVector< Vec3d > & | getConvexContour () const |
| Get the single contour defining the SphericalConvexPolygon. | |
| bool | checkValid () const |
| Check if the polygon is valid, i.e. it has no side >180. | |
Public Member Functions inherited from SphericalRegion | |
| virtual SphericalRegionP | getEnlarged (double margin) const |
| Return an enlarged version of this SphericalRegion so that any point distant of more than the given margin now lays within the region. More... | |
| virtual QVector< QVector< Vec3d > > | getSimplifiedContours () const |
| Get the contours defining the SphericalPolygon when combined using a positive winding rule. More... | |
| QByteArray | toJSON () const |
| Output a JSON string representing the polygon. More... | |
| bool | contains (const SphericalRegion *r) const |
| Returns whether a SphericalRegion is contained into this region. More... | |
| bool | contains (const SphericalRegionP r) const |
| bool | contains (const EmptySphericalRegion &) const |
| bool | intersects (const SphericalRegion *r) const |
| Returns whether a SphericalRegion intersects with this region. More... | |
| bool | intersects (const SphericalRegionP r) const |
| bool | intersects (const Vec3d &p) const |
| bool | intersects (const EmptySphericalRegion &) const |
| SphericalRegionP | getIntersection (const SphericalRegion *r) const |
| Return a new SphericalRegion consisting of the intersection of this and the given region. More... | |
| SphericalRegionP | getIntersection (const SphericalRegionP r) const |
| virtual SphericalRegionP | getIntersection (const SphericalPolygon &r) const |
| virtual SphericalRegionP | getIntersection (const SphericalConvexPolygon &r) const |
| virtual SphericalRegionP | getIntersection (const SphericalCap &r) const |
| virtual SphericalRegionP | getIntersection (const SphericalPoint &r) const |
| virtual SphericalRegionP | getIntersection (const AllSkySphericalRegion &r) const |
| SphericalRegionP | getIntersection (const EmptySphericalRegion &r) const |
| SphericalRegionP | getUnion (const SphericalRegion *r) const |
| Return a new SphericalRegion consisting of the union of this and the given region. More... | |
| SphericalRegionP | getUnion (const SphericalRegionP r) const |
| virtual SphericalRegionP | getUnion (const SphericalPolygon &r) const |
| virtual SphericalRegionP | getUnion (const SphericalConvexPolygon &r) const |
| virtual SphericalRegionP | getUnion (const SphericalCap &r) const |
| virtual SphericalRegionP | getUnion (const SphericalPoint &r) const |
| SphericalRegionP | getUnion (const AllSkySphericalRegion &r) const |
| virtual SphericalRegionP | getUnion (const EmptySphericalRegion &r) const |
| SphericalRegionP | getSubtraction (const SphericalRegion *r) const |
| Return a new SphericalRegion consisting of the subtraction of the given region from this. More... | |
| SphericalRegionP | getSubtraction (const SphericalRegionP r) const |
| virtual SphericalRegionP | getSubtraction (const SphericalPolygon &r) const |
| virtual SphericalRegionP | getSubtraction (const SphericalConvexPolygon &r) const |
| virtual SphericalRegionP | getSubtraction (const SphericalCap &r) const |
| virtual SphericalRegionP | getSubtraction (const SphericalPoint &r) const |
| SphericalRegionP | getSubtraction (const AllSkySphericalRegion &r) const |
| virtual SphericalRegionP | getSubtraction (const EmptySphericalRegion &r) const |
Static Public Member Functions | |
| static bool | checkValidContour (const QVector< Vec3d > &contour) |
| Check if the passed contour is convex and valid, i.e. it has no side >180. | |
| static SphericalRegionP | deserialize (QDataStream &in) |
| Deserialize the region. This method must allow as fast as possible deserialization. | |
Protected Member Functions | |
| void | updateBoundingCap () |
| Update the bounding cap from the vertex list. | |
| bool | areAllPointsOutsideOneSide (const QVector< Vec3d > &points) const |
| Computes whether the passed points are all outside of at least one SphericalCap defining the polygon boundary. | |
| 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) |
| Computes whether the passed points are all outside of at least one SphericalCap defining the polygon boundary. More... | |
Protected Attributes | |
| QVector< Vec3d > | contour |
| A list of vertices of the convex contour. | |
| SphericalCap | cachedBoundingCap |
| Cache the bounding cap. | |
Additional Inherited Members | |
Public Types inherited from SphericalRegion | |
| enum | SphericalRegionType { Point = 0, Cap = 1, AllSky = 2, Polygon = 3, ConvexPolygon = 4, Empty = 5, Invalid = 6 } |
| define types for all supported regions. | |
|
staticprotected |
| 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. |
|
inlinevirtual |
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.
|
inlinevirtual |
It can be used for safe computation of intersection/union in the general case.
Implements SphericalRegion.
|
inlinevirtual |
Reimplemented from SphericalRegion.
|
inline |
| acontour | a contour defining the polygon area. |
|
virtual |
The format is
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.
1.8.11