diff options
Diffstat (limited to 'src/render/sphere.h')
-rw-r--r-- | src/render/sphere.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/render/sphere.h b/src/render/sphere.h new file mode 100644 index 0000000..b3ac826 --- /dev/null +++ b/src/render/sphere.h @@ -0,0 +1,51 @@ +/* + gl/sphere.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_GL_SPHERE_H__ +#define __INCLUDED_GL_SPHERE_H__ + +#include "render/gl.h" + +namespace render { + +/// a drawable OpenGL block shape +class Sphere +{ +public: + /// create a new sphere + Sphere(math::Vector3f p = math::Vector3f(), float r = 1.0f); + + /// copy constructor + Sphere(const Sphere &other); + + /// destructor + ~Sphere(); + + /// assignment operator + Sphere& operator=(const Sphere &other); + + /// radius of the sphere + float radius; + + /// position of the sphere + math::Vector3f position; + + /// draw the sphere + void draw(); + + /// Top color + math::Color topcolor; + /// bottom color + math::Color bottomcolor; + +private: + float *sintable; + float *costable; +}; + +} // namespace gl + +#endif // __INCLUDED_GL_SPHERE_H__ |