Stellarium 0.12.4
List of all members | Public Member Functions | Static Public Member Functions
SphericalPolygon Class Reference

Public Member Functions

 SphericalPolygon (const QVector< QVector< Vec3d > > &contours)
 Constructor from a list of contours. More...
 
 SphericalPolygon (const QVector< Vec3d > &contour)
 Constructor from one contour. More...
 
 SphericalPolygon (const OctahedronPolygon &octContour)
 
 SphericalPolygon (const QList< OctahedronPolygon > &octContours)
 
virtual SphericalRegionType getType () const
 
virtual OctahedronPolygon getOctahedronPolygon () const
 Return the octahedron contour representation of the polygon. More...
 
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(). More...
 
virtual SphericalCap getBoundingCap () const
 Return a bounding SphericalCap. More...
 
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
 
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 &) const
 
virtual SphericalRegionP getIntersection (const SphericalPoint &r) const
 
virtual SphericalRegionP getIntersection (const AllSkySphericalRegion &) const
 
virtual SphericalRegionP getUnion (const SphericalPoint &) const
 
virtual SphericalRegionP getUnion (const EmptySphericalRegion &) const
 
virtual SphericalRegionP getSubtraction (const SphericalPoint &) const
 
virtual SphericalRegionP getSubtraction (const EmptySphericalRegion &) const
 
void setContours (const QVector< QVector< Vec3d > > &contours)
 Set the contours defining the SphericalPolygon. More...
 
void setContour (const QVector< Vec3d > &contour)
 Set a single contour defining the SphericalPolygon. More...
 
QVector< QVector< Vec3d > > getClosedOutlineContours () const
 Return the list of closed contours defining the polygon boundaries. More...
 
- Public Member Functions inherited from SphericalRegion
 SphericalRegion ()
 Default constructor. Inializes with no vertex buffers. More...
 
virtual ~SphericalRegion ()
 Destructor. Cleans up vertex buffers, if any. More...
 
virtual double getArea () const
 Return the area of the region in steradians. More...
 
virtual bool isEmpty () const
 Return true if the region is empty. More...
 
virtual Vec3d getPointInside () const
 Return a point located inside the region. More...
 
virtual QVector< SphericalCapgetBoundingSphericalCaps () const
 Return the list of SphericalCap bounding the ConvexPolygon. More...
 
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 const QVector< Vec3d > & getFillVertexPositions () const
 Get a vector of vertex positions forming the region. More...
 
virtual PrimitiveType getFillPrimitiveType () const
 Get primitive type determining how vertices in vector returned by getFillVertexPositions() form triangles. More...
 
virtual const QVector< Vec3d > & getOutlineVertexPositions () const
 Get the outline of the contours defining the SphericalPolygon. More...
 
virtual PrimitiveType getOutlinePrimitiveType () const
 Get primitive type determining how vertices in vector returned by getOutlinePrimitiveType() form lines. 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
 
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
 
SphericalRegionP getUnion (const AllSkySphericalRegion &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
 
SphericalRegionP getSubtraction (const AllSkySphericalRegion &r) const
 
virtual void drawFill (class StelRenderer *renderer, const DrawParams &params)
 Draw the region as triangles (i.e. More...
 
virtual void drawOutline (class StelRenderer *renderer, const DrawParams &params)
 Draw the outline of the region. More...
 

Static Public Member Functions

static SphericalRegionP deserialize (QDataStream &in)
 Deserialize the region. This method must allow as fast as possible deserialization. More...
 
static SphericalRegionP multiUnion (const QList< SphericalRegionP > &regions, bool optimizeByPreGrouping=false)
 Create a new SphericalRegionP which is the union of all the passed ones. More...
 
static SphericalRegionP multiIntersection (const QList< SphericalRegionP > &regions)
 Create a new SphericalRegionP which is the intersection of all the passed ones. More...
 

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. More...
 
- Protected Member Functions inherited from SphericalRegion
virtual void updateFillVertexBuffer (class StelRenderer *renderer, const DrawParams &params, bool handleDiscontinuity)
 Update the vertex buffer used by drawFill(). More...
 
virtual void drawFillVertexBuffer (class StelRenderer *renderer, class StelProjector *projector)
 Drawing part of drawFill() - assumes the buffer/s is/are generated. More...
 
virtual bool needToUpdateFillVertexBuffers () const
 Do we need to update vertex buffer/s used by drawFill()? More...
 
virtual void fillVertexBuffersUpdated ()
 Called after updating vertex buffer/s used by drawFill(). More...
 
- Protected Attributes inherited from SphericalRegion
StelVertexBuffer< PlainVertex > * fillPlainVertexBuffer
 Cached plain vertex buffer for drawing. More...
 
bool useProjector
 Should Renderer draw calls specify a projector? More...
 

Detailed Description

Definition at line 786 of file StelSphereGeometry.hpp.

Constructor & Destructor Documentation

SphericalPolygon::SphericalPolygon ( const QVector< QVector< Vec3d > > &  contours)
inline

Constructor from a list of contours.

Definition at line 798 of file StelSphereGeometry.hpp.

SphericalPolygon::SphericalPolygon ( const QVector< Vec3d > &  contour)
inline

Constructor from one contour.

Definition at line 800 of file StelSphereGeometry.hpp.

Member Function Documentation

static SphericalRegionP SphericalPolygon::deserialize ( QDataStream &  in)
static

Deserialize the region. This method must allow as fast as possible deserialization.

virtual SphericalCap SphericalPolygon::getBoundingCap ( ) const
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.

QVector<QVector<Vec3d> > SphericalPolygon::getClosedOutlineContours ( ) const
inline

Return the list of closed contours defining the polygon boundaries.

Definition at line 859 of file StelSphereGeometry.hpp.

virtual OctahedronPolygon SphericalPolygon::getOctahedronPolygon ( ) const
inlinevirtual

Return the octahedron contour representation of the polygon.

It can be used for safe computation of intersection/union in the general case.

Implements SphericalRegion.

Definition at line 805 of file StelSphereGeometry.hpp.

static SphericalRegionP SphericalPolygon::multiIntersection ( const QList< SphericalRegionP > &  regions)
static

Create a new SphericalRegionP which is the intersection of all the passed ones.

static SphericalRegionP SphericalPolygon::multiUnion ( const QList< SphericalRegionP > &  regions,
bool  optimizeByPreGrouping = false 
)
static

Create a new SphericalRegionP which is the union of all the passed ones.

virtual void SphericalPolygon::serialize ( QDataStream &  out) const
virtual

Serialize the region. This method must allow as fast as possible serialization and work with deserialize().

Implements SphericalRegion.

void SphericalPolygon::setContour ( const QVector< Vec3d > &  contour)
inline

Set a single contour defining the SphericalPolygon.

Parameters
contoura contour defining the polygon area.

Definition at line 853 of file StelSphereGeometry.hpp.

void SphericalPolygon::setContours ( const QVector< QVector< Vec3d > > &  contours)
inline

Set the contours defining the SphericalPolygon.

Parameters
contoursthe list of contours defining the polygon area. The contours are combined using the positive winding rule, meaning that the polygon is the union of the positive contours minus the negative ones.

Definition at line 846 of file StelSphereGeometry.hpp.

virtual QVariantList SphericalPolygon::toQVariant ( ) const
virtual

Serialize the region into a QVariant map matching the JSON format.

The format is:

[[[ra,dec], [ra,dec], [ra,dec], [ra,dec]], [[ra,dec], [ra,dec], [ra,dec]],[...]]

it is a list of closed contours, with each points defined by ra dec in degree in the ICRS frame.

Implements SphericalRegion.


The documentation for this class was generated from the following file: