Developer Documentation
Loading...
Searching...
No Matches
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 getNumLines ()
 
unsigned int getVBO ()
 
const VertexDeclaration * getVertexDecl () 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
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: