Stellarium 0.15.2
List of all members | Public Types | Public Member Functions | Public Attributes
StelVertexArray Struct Reference

Public Types

enum  StelPrimitiveType {
  Points = 0x0000, Lines = 0x0001, LineLoop = 0x0002, LineStrip = 0x0003,
  Triangles = 0x0004, TriangleStrip = 0x0005, TriangleFan = 0x0006
}
 

Public Member Functions

 StelVertexArray (StelPrimitiveType pType=StelVertexArray::Triangles)
 
 StelVertexArray (const QVector< Vec3d > &v, StelPrimitiveType pType=StelVertexArray::Triangles, const QVector< Vec2f > &t=QVector< Vec2f >(), const QVector< unsigned short > i=QVector< unsigned short >())
 
bool isIndexed () const
 
bool isTextured () const
 
bool isColored () const
 
template<class Func >
Func foreachTriangle (Func func) const
 call a function for each triangle of the array. More...
 
StelVertexArray removeDiscontinuousTriangles (const class StelProjector *prj) const
 Create a copy of the array with all the triangles intersecting the projector discontinuity removed. More...
 

Public Attributes

QVector< Vec3dvertex
 OpenGL compatible array of 3D vertex to be displayed using vertex arrays. More...
 
QVector< Vec2ftexCoords
 OpenGL compatible array of edge flags to be displayed using vertex arrays. More...
 
QVector< Vec3fcolors
 OpenGL compatible array of vertex colors to be displayed using arrays. More...
 
QVector< unsigned short > indices
 OpenGL compatible array of indices for the vertex and the textures. More...
 
StelPrimitiveType primitiveType
 

Detailed Description

Definition at line 28 of file StelVertexArray.hpp.

Member Function Documentation

template<class Func >
Func StelVertexArray::foreachTriangle ( Func  func) const
inline

call a function for each triangle of the array.

func should define the following method : // GZ NEW: colors void operator() (const Vec3d* vertex[3], const Vec2f* tex[3], const Vec3f* colors[3], unsigned int indices[3]) The method takes arrays of pointers as arguments because we can't assume the values are contiguous

Definition at line 113 of file StelVertexArray.hpp.

StelVertexArray StelVertexArray::removeDiscontinuousTriangles ( const class StelProjector prj) const

Create a copy of the array with all the triangles intersecting the projector discontinuity removed.

Member Data Documentation

QVector<Vec3f> StelVertexArray::colors

OpenGL compatible array of vertex colors to be displayed using arrays.

(GZ/NEW) The color (if exists) shall be multiplied with texture to modulate e.g. for extinction of Milky Way or other large items.

Definition at line 54 of file StelVertexArray.hpp.

QVector<unsigned short> StelVertexArray::indices

OpenGL compatible array of indices for the vertex and the textures.

Definition at line 56 of file StelVertexArray.hpp.

QVector<Vec2f> StelVertexArray::texCoords

OpenGL compatible array of edge flags to be displayed using vertex arrays.

Definition at line 51 of file StelVertexArray.hpp.

QVector<Vec3d> StelVertexArray::vertex

OpenGL compatible array of 3D vertex to be displayed using vertex arrays.

TODO, move to float? Most of the vectors are normalized, thus the precision is around 1E-45 using float which is enough (=2E-37 milli arcsec).

Definition at line 49 of file StelVertexArray.hpp.


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