Stellarium
0.17.0

Manage a nonconvex polygon which can extends on more than 180 deg. More...
#include <OctahedronPolygon.hpp>
Public Member Functions  
OctahedronPolygon (const SubContour &subContour)  
Create the OctahedronPolygon by splitting the passed SubContour on the 8 sides of the octahedron.  
OctahedronPolygon (const QVector< QVector< Vec3d > > &contours)  
OctahedronPolygon (const QVector< Vec3d > &contour)  
OctahedronPolygon (const QList< OctahedronPolygon > &octContours)  
double  getArea () const 
Vec3d  getPointInside () const 
StelVertexArray  getFillVertexArray () const 
Returns the list of triangles resulting from tesselating the contours.  
StelVertexArray  getOutlineVertexArray () const 
void  getBoundingCap (Vec3d &v, double &d) const 
void  inPlaceIntersection (const OctahedronPolygon &mpoly) 
Set this OctahedronPolygon as the intersection of itself with the given OctahedronPolygon.  
void  inPlaceUnion (const OctahedronPolygon &mpoly) 
Set this OctahedronPolygon as the union of itself with the given OctahedronPolygon.  
void  inPlaceSubtraction (const OctahedronPolygon &mpoly) 
Set this OctahedronPolygon as the subtraction of itself with the given OctahedronPolygon.  
bool  intersects (const OctahedronPolygon &mpoly) const 
bool  contains (const OctahedronPolygon &mpoly) const 
bool  contains (const Vec3d &p) const 
bool  isEmpty () const 
QString  toJson () const 
Static Public Member Functions  
static const OctahedronPolygon &  getAllSkyOctahedronPolygon () 
static const OctahedronPolygon &  getEmptyOctahedronPolygon () 
static double  sphericalTriangleArea (const Vec3d &v0, const Vec3d &v1, const Vec3d &v2) 
Friends  
class  TestStelSphericalGeometry 
QDataStream &  operator<< (QDataStream &, const OctahedronPolygon &) 
QDataStream &  operator>> (QDataStream &, OctahedronPolygon &) 
OctahedronPolygon  createAllSkyOctahedronPolygon () 
The contours defining the polygon are splitted and projected on the 8 sides of an Octahedron to enable 2D geometry algorithms to be used.