00001
00004
00005
00006
00007
00008
#ifndef _RADIALLAYOUT_H_
00009
#define _RADIALLAYOUT_H_
00010
00011
00012
#include <vector>
00013
#include "../src/main.h"
00014
00015
00016
using std::vector;
00017
00018
00024
00025 class RadialLayout
00026 {
00027
protected:
00029 GLuint
num_displayed_rings_;
00031 GLuint
num_overall_rings_;
00033 vector<GLfloat>
radius_of_rings_;
00035 GLfloat
radius_increase_factor_;
00036
00037
public:
00038
00042 RadialLayout() :
00043
radius_of_rings_(100),
00044
num_displayed_rings_(9)
00045 {
00046 }
00047
00048
00056 RadialLayout(GLuint num_displayed_rings, GLuint num_overall_rings,
00057 GLfloat radius_increase_factor) :
00058
num_displayed_rings_(num_displayed_rings),
00059
num_overall_rings_(num_overall_rings),
00060
radius_increase_factor_(radius_increase_factor)
00061 {
00062 }
00063
00064
00069
void renderRadialLayout(GLUquadricObj *quadric_object);
00070
00071
00072
00077
void setNumberDisplayedRings(GLuint num_displayed_rings);
00078
00079
00084 GLuint
getNumDisplayedRings() const;
00085
00086
00091
void setNumberOverallRings(GLuint num_overall_rings);
00092
00093
00098 GLuint getNumOverallRings() const;
00099
00100
00106
void setRadiusOfRing(GLuint ring_number, GLfloat ring_radius);
00107
00108
00114 GLfloat getRadiusOfRing(GLuint ring_number);
00115
00116
00120
void initRadiusOfRings(GLuint num_displayed_rings);
00121 };
00122
00123
00124 #endif
00125
00126