Developer Documentation
ACG::GLPrimitive Class Referenceabstract
Inheritance diagram for ACG::GLPrimitive:
ACG::GLBox ACG::GLCone ACG::GLDodecahedron ACG::GLIcosahedron ACG::GLLineBox ACG::GLOctahedron ACG::GLPartialDisk ACG::GLSphere ACG::GLTetrahedron ACG::GLTorus

Public Types

enum  NormalOrientation { OUTSIDE, INSIDE }
 

Public Member Functions

void draw_primitive ()
 
void draw_primitive (GLSL::Program *_program)
 
void addToRenderer_primitive (class IRenderer *_renderer, struct RenderObject *_ro)
 
virtual int getNumTriangles ()=0
 
virtual int getNumLines ()
 
unsigned int getVBO ()
 
const VertexDeclarationgetVertexDecl () const
 

Protected Member Functions

virtual void updateVBO ()=0
 
void addTriangleToVBO (const ACG::Vec3f *_p, const ACG::Vec3f *_n, const ACG::Vec2f *_tex)
 
void addLineToVBO (const ACG::Vec3f *_p, const ACG::Vec3f *_n, const ACG::Vec2f *_tex)
 
void bindVBO ()
 
bool checkVBO ()
 
void unBindVBO ()
 

Protected Attributes

bool vboDataInvalid_
 
NormalOrientation normalOrientation_
 

Private Member Functions

void updateVBOData ()
 

Private Attributes

int numTris_
 
int numLines_
 
float * vboData_
 
int curTriPtr_
 
VertexDeclaration vertexDecl_
 
unsigned int vbo_
 

Detailed Description

Definition at line 72 of file GLPrimitives.hh.


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