![]() |
Stellarium
24.2
|
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 >(), const QVector< Vec3f > &col=QVector< Vec3f >()) | |
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. | |
Data Fields | |
QVector< Vec3d > | vertex |
OpenGL compatible array of 3D vertex to be displayed using vertex arrays. More... | |
QVector< Vec2f > | texCoords |
OpenGL compatible array of edge flags to be displayed using vertex arrays. | |
QVector< Vec3f > | colors |
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. | |
StelPrimitiveType | primitiveType |
|
inline |
call a function for each triangle of the array.
func should define the following method : 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
QVector<Vec3f> StelVertexArray::colors |
OpenGL compatible array of vertex colors to be displayed using arrays.
The color (if exists) shall be multiplied with texture to modulate e.g. for extinction of Milky Way or other large items.
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).