35 lines
567 B
C++
35 lines
567 B
C++
#ifndef RING_H
|
|
#define RING_H
|
|
|
|
#include "Stone.h"
|
|
|
|
class Ring {
|
|
public:
|
|
Ring();
|
|
~Ring();
|
|
|
|
void erode(float p);
|
|
|
|
void draw();
|
|
void draw_shadow(Point dlight, GLfloat blur = 0.0,
|
|
Color color = black, Color diffuse = black);
|
|
|
|
private:
|
|
GLfloat radius, angle;
|
|
int nstones;
|
|
|
|
Stone sarcen;
|
|
Stone lintel;
|
|
|
|
void draw_sarcens();
|
|
void draw_lintels();
|
|
|
|
void draw_sarcens_shadows(Point dlight, GLfloat blur,
|
|
Color color, Color diffuse);
|
|
void draw_lintels_shadows(Point dlight, GLfloat blur,
|
|
Color color, Color diffuse);
|
|
};
|
|
|
|
|
|
#endif
|