Developer Documentation
ACG::GLSphere Class Reference
Inheritance diagram for ACG::GLSphere:
ACG::GLPrimitive

Public Member Functions

 GLSphere (int _slices, int _stacks)
 
void draw (GLState &_state, float _radius, const ACG::Vec3f &_center=ACG::Vec3f(0.0f, 0.0f, 0.0f))
 
void addToRenderer (class IRenderer *_renderer, const struct RenderObject *_base, float _radius, const ACG::Vec3f &_center=ACG::Vec3f(0.0f, 0.0f, 0.0f))
 
int getNumTriangles () override
 
- Public Member Functions inherited from ACG::GLPrimitive
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
 

Private Member Functions

void updateVBO () override
 
void addTriangle (int sl0, int st0, int sl1, int st1, int sl2, int st2)
 
ACG::Vec3f positionOnSphere (int _sliceNumber, int _stackNumber)
 
ACG::Vec2f texCoordOnSphere (int _sliceNumber, int _stackNumber)
 

Private Attributes

int slices_
 
int stacks_
 

Additional Inherited Members

- Public Types inherited from ACG::GLPrimitive
enum  NormalOrientation { OUTSIDE , INSIDE }
 
- Protected Member Functions inherited from ACG::GLPrimitive
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 inherited from ACG::GLPrimitive
bool vboDataInvalid_
 
NormalOrientation normalOrientation_
 

Detailed Description

Definition at line 139 of file GLPrimitives.hh.

Constructor & Destructor Documentation

◆ GLSphere()

ACG::GLSphere::GLSphere ( int  _slices,
int  _stacks 
)

Definition at line 298 of file GLPrimitives.cc.

◆ ~GLSphere()

ACG::GLSphere::~GLSphere ( )

Definition at line 307 of file GLPrimitives.cc.

Member Function Documentation

◆ addToRenderer()

void ACG::GLSphere::addToRenderer ( class IRenderer _renderer,
const struct RenderObject _base,
float  _radius,
const ACG::Vec3f _center = ACG::Vec3f(0.0f, 0.0f, 0.0f) 
)

Definition at line 328 of file GLPrimitives.cc.

◆ addTriangle()

void ACG::GLSphere::addTriangle ( int  sl0,
int  st0,
int  sl1,
int  st1,
int  sl2,
int  st2 
)
private

Definition at line 370 of file GLPrimitives.cc.

◆ draw()

void ACG::GLSphere::draw ( GLState _state,
float  _radius,
const ACG::Vec3f _center = ACG::Vec3f(0.0f, 0.0f, 0.0f) 
)

Definition at line 314 of file GLPrimitives.cc.

◆ getNumTriangles()

int ACG::GLSphere::getNumTriangles ( )
overridevirtual

Implements ACG::GLPrimitive.

Definition at line 341 of file GLPrimitives.cc.

◆ positionOnSphere()

ACG::Vec3f ACG::GLSphere::positionOnSphere ( int  _sliceNumber,
int  _stackNumber 
)
private

Definition at line 391 of file GLPrimitives.cc.

◆ texCoordOnSphere()

ACG::Vec2f ACG::GLSphere::texCoordOnSphere ( int  _sliceNumber,
int  _stackNumber 
)
private

Definition at line 408 of file GLPrimitives.cc.

◆ updateVBO()

void ACG::GLSphere::updateVBO ( )
overrideprivatevirtual

Implements ACG::GLPrimitive.

Definition at line 348 of file GLPrimitives.cc.

Member Data Documentation

◆ slices_

int ACG::GLSphere::slices_
private

Definition at line 162 of file GLPrimitives.hh.

◆ stacks_

int ACG::GLSphere::stacks_
private

Definition at line 163 of file GLPrimitives.hh.


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