Stellarium
23.4
|
Extension of SphericalConvexPolygon for textured polygon. More...
#include <StelSphereGeometry.hpp>
Public Member Functions | |
SphericalTexturedConvexPolygon () | |
Default constructor. | |
SphericalTexturedConvexPolygon (const QVector< Vec3d > &contour, const QVector< Vec2f > &texCoord) | |
Constructor from one contour. | |
SphericalTexturedConvexPolygon (const Vec3d &e0, const Vec3d &e1, const Vec3d &e2, const Vec3d &e3) | |
Special constructor for quads. More... | |
virtual StelVertexArray | getFillVertexArray (const Vec3d &observerVelocityForAberration) Q_DECL_OVERRIDE |
Return an OpenGL compatible array to be displayed using vertex arrays. More... | |
virtual StelVertexArray | getFillVertexArray () const Q_DECL_OVERRIDE |
Return array without any aberration. | |
virtual void | setContour (const QVector< Vec3d > &acontour, const QVector< Vec2f > &texCoord) |
Set a single contour defining the SphericalPolygon. More... | |
virtual QVariantList | toQVariant () const Q_DECL_OVERRIDE |
Serialize the region into a QVariant map matching the JSON format. More... | |
virtual void | serialize (QDataStream &out) const Q_DECL_OVERRIDE |
Serialize the region. This method must allow as fast as possible serialization and work with deserialize(). | |
Public Member Functions inherited from SphericalConvexPolygon | |
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 Q_DECL_OVERRIDE |
virtual OctahedronPolygon | getOctahedronPolygon () const Q_DECL_OVERRIDE |
Return the octahedron contour representation of the polygon. More... | |
virtual StelVertexArray | getOutlineVertexArray () const Q_DECL_OVERRIDE |
Get the outline of the contours defining the SphericalPolygon. More... | |
virtual StelVertexArray | getOutlineVertexArray (Vec3d observerVelocityForAberration) Q_DECL_OVERRIDE |
Get the outline of the contours defining the SphericalPolygon. More... | |
virtual double | getArea () const Q_DECL_OVERRIDE |
Return the area of the region in steradians. | |
virtual bool | isEmpty () const Q_DECL_OVERRIDE |
Return true if the region is empty. | |
virtual Vec3d | getPointInside () const Q_DECL_OVERRIDE |
Return a point located inside the region. | |
virtual SphericalCap | getBoundingCap () const Q_DECL_OVERRIDE |
Return a bounding SphericalCap. More... | |
QVector< SphericalCap > | getBoundingSphericalCaps () const Q_DECL_OVERRIDE |
Return the list of SphericalCap bounding the ConvexPolygon. | |
virtual bool | contains (const Vec3d &p) const Q_DECL_OVERRIDE |
virtual bool | contains (const SphericalPolygon &r) const Q_DECL_OVERRIDE |
virtual bool | contains (const SphericalConvexPolygon &r) const Q_DECL_OVERRIDE |
virtual bool | contains (const SphericalCap &r) const Q_DECL_OVERRIDE |
virtual bool | contains (const SphericalPoint &r) const Q_DECL_OVERRIDE |
virtual bool | contains (const AllSkySphericalRegion &) const Q_DECL_OVERRIDE |
virtual bool | intersects (const SphericalCap &r) const Q_DECL_OVERRIDE |
virtual bool | intersects (const SphericalPolygon &r) const Q_DECL_OVERRIDE |
virtual bool | intersects (const SphericalConvexPolygon &r) const Q_DECL_OVERRIDE |
virtual bool | intersects (const SphericalPoint &r) const Q_DECL_OVERRIDE |
virtual bool | intersects (const AllSkySphericalRegion &) const Q_DECL_OVERRIDE |
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. | |
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 |
virtual bool | intersects (const SphericalPolygon &r) const |
virtual bool | intersects (const SphericalConvexPolygon &r) const |
virtual bool | intersects (const SphericalCap &r) const |
virtual bool | intersects (const SphericalPoint &r) const |
virtual bool | intersects (const AllSkySphericalRegion &r) const |
bool | intersects (const EmptySphericalRegion &) const |
bool | contains (const SphericalRegion *r) const |
Returns whether a SphericalRegion is contained into this region. More... | |
bool | contains (const SphericalRegionP r) 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 &r) const |
bool | contains (const EmptySphericalRegion &) const |
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 | 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 |
Protected Attributes | |
QVector< Vec2f > | textureCoords |
A list of uv textures coordinates corresponding to the triangle vertices. More... | |
Protected Attributes inherited from SphericalConvexPolygon | |
QVector< Vec3d > | contour |
A list of vertices of the convex contour. | |
QVector< Vec3d > | aberratedContour |
A list of vertices, built on the fly from the contour when aberration is required. | |
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. | |
Static Public Member Functions inherited from SphericalConvexPolygon | |
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 inherited from SphericalConvexPolygon | |
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 inherited from SphericalConvexPolygon | |
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... | |
Extension of SphericalConvexPolygon for textured polygon.
|
inline |
Special constructor for quads.
Use the 4 textures corners for the 4 vertices.
|
virtual |
Return an OpenGL compatible array to be displayed using vertex arrays.
This method is not optimized for SphericalConvexPolygon instances. Return an OpenGL compatible array to be displayed using vertex arrays.
observerVelocityForAberration | a vector to add to all contour vertices. |
Reimplemented from SphericalConvexPolygon.
|
inlinevirtual |
Set a single contour defining the SphericalPolygon.
acontour | a contour defining the polygon area. |
texCoord | a list of texture coordinates matching the vertices of the contour. |
|
virtual |
Serialize the region into a QVariant map matching the JSON format.
The format is:
where the two lists are a closed convex contours, with each points defined by ra dec in degree in the ICRS frame followed by a list of texture coordinates in the u,v texture space (between 0 and 1). There must be one texture coordinate for each vertex.
Reimplemented from SphericalConvexPolygon.
|
protected |
A list of uv textures coordinates corresponding to the triangle vertices.
There should be 1 uv position per vertex.