diff options
Diffstat (limited to 'src/gl/sphere.h')
-rw-r--r-- | src/gl/sphere.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/gl/sphere.h b/src/gl/sphere.h new file mode 100644 index 0000000..f2bbf0a --- /dev/null +++ b/src/gl/sphere.h @@ -0,0 +1,50 @@ +/* sphere.h + This file is part of the Osirion project +*/ + +#ifndef __INCLUDED_SPHERE_H__ +#define __INCLUDED_SPHERE_H__ + +#include "common/vector3f.h" +#include "common/color.h" + +namespace gl { + +/// a drawable OpenGL block shape +class Sphere +{ +public: + /// create a new sphere + Sphere(Vector3f p = 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 + Vector3f position; + + /// draw the sphere + void draw(); + + /// Top color + Color topcolor; + /// bottom color + Color bottomcolor; + +private: + float *sintable; + float *costable; +}; + +} // namespace gl + +#endif // __INCLUDED_SPHERE_H__ |