RadialLayout Class Reference

#include <RadialLayout.h>

List of all members.

Public Member Functions

 RadialLayout ()
 RadialLayout (GLuint num_displayed_rings, GLuint num_overall_rings, GLfloat radius_increase_factor)
void renderRadialLayout (GLUquadricObj *quadric_object)
void setNumberDisplayedRings (GLuint num_displayed_rings)
GLuint getNumDisplayedRings () const
void setNumberOverallRings (GLuint num_overall_rings)
GLuint getNumOverallRings () const
void setRadiusOfRing (GLuint ring_number, GLfloat ring_radius)
GLfloat getRadiusOfRing (GLuint ring_number)
void initRadiusOfRings (GLuint num_displayed_rings)

Protected Attributes

GLuint num_displayed_rings_
 The number of concentric rings to display.

GLuint num_overall_rings_
 The number of overall rings.

vector< GLfloat > radius_of_rings_
 The radius of the rings.

GLfloat radius_increase_factor_
 The increase factor for radius.


Detailed Description

This class is responsable for the creation and rendering of the Radial Layout technique. The Radial Layout technique consists of some concentric rings and a middle of these. On this rings elements can be rearranged on it.

Definition at line 25 of file RadialLayout.h.


Constructor & Destructor Documentation

RadialLayout::RadialLayout  )  [inline]
 

The default constructor.

Definition at line 42 of file RadialLayout.h.

References num_displayed_rings_, and radius_of_rings_.

00042 : 00043 radius_of_rings_(100), 00044 num_displayed_rings_(9) // FIXXME 00045 { 00046 }

RadialLayout::RadialLayout GLuint  num_displayed_rings,
GLuint  num_overall_rings,
GLfloat  radius_increase_factor
[inline]
 

The constructor.

Parameters:
num_displayed_rings_; 
num_overall_rings_; 
radius_of_first_ring_; 
radius_increase_factor_; 

Definition at line 56 of file RadialLayout.h.

References num_displayed_rings_, num_overall_rings_, and radius_increase_factor_.

00057 : 00058 num_displayed_rings_(num_displayed_rings), 00059 num_overall_rings_(num_overall_rings), 00060 radius_increase_factor_(radius_increase_factor) 00061 { 00062 }


Member Function Documentation

GLuint RadialLayout::getNumDisplayedRings  )  const
 

This returns the number of displayed rings.

Returns:
The number of displayed rings.

Definition at line 63 of file RadialLayout.cpp.

References num_displayed_rings_.

00064 { 00065 return(num_displayed_rings_); 00066 }

GLuint RadialLayout::getNumOverallRings  )  const
 

This returns the number of overall rings.

Returns:
The number of overall rings.

Definition at line 83 of file RadialLayout.cpp.

References num_overall_rings_.

00084 { 00085 return(num_overall_rings_); 00086 }

GLfloat RadialLayout::getRadiusOfRing GLuint  ring_number  ) 
 

This returns the radius of the ring.

Parameters:
ring_number The ring number.
Returns:
The radius of the rings.

Definition at line 110 of file RadialLayout.cpp.

References getRadiusOfRing(), num_displayed_rings_, and radius_of_rings_.

Referenced by getRadiusOfRing(), and Graph::initStartPositions().

00111 { 00112 for (GLuint count = 0; count < num_displayed_rings_; count++) 00113 { 00114 radius_of_rings_[count + 1] = 00115 (GLfloat) (0.50 + (radius_of_rings_[count] * 0.8)); 00116 } 00117 vector<GLfloat>::iterator iter = radius_of_rings_.begin(); 00118 GLuint count = 0; 00119 while (iter != radius_of_rings_.end()) 00120 { 00121 if (ring_number == count) 00122 { 00123 return(*iter); 00124 } 00125 ++count; 00126 ++iter; 00127 } 00128 return(NULL); 00129 }

Here is the call graph for this function:

void RadialLayout::initRadiusOfRings GLuint  num_displayed_rings  ) 
 

This initializes the radius of the rings.

Definition at line 135 of file RadialLayout.cpp.

References initRadiusOfRings(), num_displayed_rings_, and radius_of_rings_.

Referenced by Graph::createGraph(), and initRadiusOfRings().

00136 { 00137 num_displayed_rings_ = num_displayed_rings; 00138 for (GLuint count = 0; count < num_displayed_rings_; count++) 00139 { 00140 radius_of_rings_[count + 1] = 00141 (GLfloat) (0.50 + (radius_of_rings_[count] * 0.8)); 00142 } 00143 vector<GLfloat>::iterator iter = radius_of_rings_.begin(); 00144 // cout << "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" << endl; 00145 // while (iter != radius_of_rings_.end()) 00146 // { 00147 // cout << "RADIUS_RING: " << (*iter) << endl; 00148 // ++iter; 00149 // } 00150 }

Here is the call graph for this function:

void RadialLayout::renderRadialLayout GLUquadricObj *  quadric_object  ) 
 

This renders the Radial Layout.

Parameters:
quadric_object The quadric object to display it on the screen.

Definition at line 21 of file RadialLayout.cpp.

References num_displayed_rings_, radius_of_rings_, and renderRadialLayout().

Referenced by renderRadialLayout().

00022 { 00023 // draw centre: 255, 80, 80 00024 glEnable(GL_BLEND); 00025 gluQuadricDrawStyle(quadric_object, GLU_FILL); 00026 glColor4f(1.0f, 0.3f, 0.3f, 0.3f); 00027 gluDisk(quadric_object, 0.0f, 0.03f, 200, 1); 00028 glDisable(GL_BLEND); 00029 00030 glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE_MINUS_SRC_ALPHA); 00031 glEnable(GL_POLYGON_SMOOTH); 00032 glEnable(GL_BLEND); 00033 glColor4f(0.0f, 0.0f, 0.0f, 0.3f); 00034 glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); 00035 00036 for (GLuint count = 0; count < num_displayed_rings_; count++) 00037 { 00038 gluQuadricDrawStyle(quadric_object, GLU_SILHOUETTE); 00039 radius_of_rings_[count + 1] = 00040 (GLfloat) (0.50 + (radius_of_rings_.at(count) * 0.8)); 00041 00042 gluDisk(quadric_object, 0.0f, radius_of_rings_.at(count), 200, 1); 00043 } 00044 // glDisable(GL_BLEND); 00045 glDisable(GL_POLYGON_SMOOTH); 00046 }

Here is the call graph for this function:

void RadialLayout::setNumberDisplayedRings GLuint  num_displayed_rings  ) 
 

This sets the number of displayed rings.

Parameters:
num_displayed_rings The number of displayed rings.

Definition at line 53 of file RadialLayout.cpp.

References num_displayed_rings_, and setNumberDisplayedRings().

Referenced by setNumberDisplayedRings().

00054 { 00055 num_displayed_rings_ = num_displayed_rings; 00056 }

Here is the call graph for this function:

void RadialLayout::setNumberOverallRings GLuint  num_overall_rings  ) 
 

This sets the number of overall rings.

Parameters:
num_overall_rings The number of overall rings.

Definition at line 73 of file RadialLayout.cpp.

References num_overall_rings_, and setNumberOverallRings().

Referenced by setNumberOverallRings().

00074 { 00075 num_overall_rings_ = num_overall_rings; 00076 }

Here is the call graph for this function:

void RadialLayout::setRadiusOfRing GLuint  ring_number,
GLfloat  ring_radius
 

This sets the radius of the ring.

Parameters:
ring_number The ring number.
ring_radius The radius of the ring.

Definition at line 94 of file RadialLayout.cpp.

References setRadiusOfRing().

Referenced by setRadiusOfRing().

00095 { 00096 // vector<Node*>::iterator iter = radius_of_rings.begin(); 00097 // while (iter != radius_of_rings.end()) 00098 // { 00099 // radius_of_rings_[iter] = ring_radius; 00100 // } 00101 00102 }

Here is the call graph for this function:


Member Data Documentation

GLuint RadialLayout::num_displayed_rings_ [protected]
 

The number of concentric rings to display.

Definition at line 29 of file RadialLayout.h.

Referenced by getNumDisplayedRings(), getRadiusOfRing(), initRadiusOfRings(), RadialLayout(), renderRadialLayout(), and setNumberDisplayedRings().

GLuint RadialLayout::num_overall_rings_ [protected]
 

The number of overall rings.

Definition at line 31 of file RadialLayout.h.

Referenced by getNumOverallRings(), RadialLayout(), and setNumberOverallRings().

GLfloat RadialLayout::radius_increase_factor_ [protected]
 

The increase factor for radius.

Definition at line 35 of file RadialLayout.h.

Referenced by RadialLayout().

vector<GLfloat> RadialLayout::radius_of_rings_ [protected]
 

The radius of the rings.

Definition at line 33 of file RadialLayout.h.

Referenced by getRadiusOfRing(), initRadiusOfRings(), RadialLayout(), and renderRadialLayout().


The documentation for this class was generated from the following files:
Generated on Mon Jun 14 12:49:10 2004 for InfoVis by doxygen 1.3.7