Menge
Modular Pedestrian Simulation Framework for Research and Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Menge::SceneGraph::Circle Class Reference

A GLNode for drawing circles. The circle is drawn around the world space origin, lying on the x-z plane. More...

#include <shapes.h>

Inheritance diagram for Menge::SceneGraph::Circle:
Menge::SceneGraph::Shape Menge::SceneGraph::GLNode Menge::SceneGraph::Selectable

Public Member Functions

 Circle ()
 Default constructor.
 
 Circle (float r, float g, float b)
 Constructor with color. More...
 
void drawGL (bool select=false)
 Function for drawing a circle into the context. More...
 
- Public Member Functions inherited from Menge::SceneGraph::Shape
 Shape ()
 Default constructor.
 
 Shape (float r, float g, float b, GLenum s=GL_FILL)
 Constructor with color and drawing style. More...
 
void setColor (const Vector3 &vec)
 Set the shape color from a vector. More...
 
void setColor (float r, float g, float b)
 Set the shape color from three separate values. More...
 
void setStyle (GLenum style)
 Set the shape's render style. More...
 
- Public Member Functions inherited from Menge::SceneGraph::GLNode
 GLNode (GLDagNode *parent=0x0)
 Constructor. More...
 
virtual ~GLNode ()
 Virtual destructor.
 
void setVisible (bool state)
 Sets the visible state of the node. More...
 
virtual void newContext ()
 Allows the node to recreate any unique OpenGL objects based on the acquisition of a new OpenGL context. More...
 
GLDagNodegetParent ()
 Returns a pointer to the node's parent (possibly NULL). More...
 
- Public Member Functions inherited from Menge::SceneGraph::Selectable
 Selectable ()
 Constructor.
 
void loadSelectName () const
 Performs the OpenGL task to make this object selectable.
 
unsigned int getID () const
 Returns this object's globally unique selection id. More...
 
virtual void dummy ()
 A dummy function that makes Selectable polymorphic. It enables the use of dynamic_cast. Otherwise, it is a no-op.
 

Static Public Member Functions

static void drawCircle (float radius, float r, float g, float b, float a, GLenum style=GL_FILL)
 Static function for drawing circles in the context with out instances. More...
 
static void drawUnit ()
 Simply draws the underlying primitive.
 
static void init ()
 Initializes the OpenGL primitives for drawing the circle. More...
 
- Static Public Member Functions inherited from Menge::SceneGraph::Selectable
static SelectablegetSelectedObject ()
 Retrives a pointer to the currently selected node. More...
 
static unsigned int getSelectedName ()
 Returns the "name" of the currently selected object. More...
 
static void clearSelectedObject ()
 Clears the current selection.
 
static void setSelectedObject (Selectable *obj)
 Forces an arbitrary selectable to be selected. More...
 
static void selectStart ()
 The selection set up. More...
 
static bool selectEnd ()
 The selection take down. More...
 
static unsigned int nextSelectName ()
 Reports the next available selection name.
 

Static Protected Member Functions

static void newGLContext ()
 The function to call when an OpenGL context has changed.
 

Protected Attributes

float _radius
 The radius of the circle (in world space units).
 
- Protected Attributes inherited from Menge::SceneGraph::Shape
float _r
 The red component of the shape's color.
 
float _g
 The green component of the shape's color.
 
float _b
 The blue component of the shape's color.
 
GLenum _style
 The shape's OpenGL rendering style. Should be one of GL_FILL, GL_LINE, or GL_POINT.
 
- Protected Attributes inherited from Menge::SceneGraph::GLNode
GLDagNode_parent
 The GLDagNode that serves as this node's parent.
 
bool _visible
 The visibility state of this node. If visible (true) the node and its children will be drawn into the scene, if invisible (false) it will not be drawn.
 
- Protected Attributes inherited from Menge::SceneGraph::Selectable
unsigned int _id
 Globally unique OpenGL name for selection.
 
bool _selected
 Reports if this node is selcted. More...
 

Static Protected Attributes

static bool IS_REGISTERED = false
 Determines if the Circle::newGLContext has been registered.
 
static int GL_ID = 0
 OpenGL display list for drawing a circle.
 

Additional Inherited Members

- Protected Member Functions inherited from Menge::SceneGraph::GLNode
void setParent (GLDagNode *p)
 Assigns this node to a parent GLDagNode. More...
 

Detailed Description

A GLNode for drawing circles. The circle is drawn around the world space origin, lying on the x-z plane.

Constructor & Destructor Documentation

Menge::SceneGraph::Circle::Circle ( float  r,
float  g,
float  b 
)
inline

Constructor with color.

Parameters
rThe red component of the circle's color (in the range [0, 1]).
gThe green component of the circle's color (in the range [0, 1]).
bThe blue component of the circle's color (in the range [0, 1]).

Member Function Documentation

void Menge::SceneGraph::Circle::drawCircle ( float  radius,
float  r,
float  g,
float  b,
float  a,
GLenum  style = GL_FILL 
)
static

Static function for drawing circles in the context with out instances.

The circle is drawn on the x-z OpenGL plane, centered on the origin. To change position or orientation, the draw call should be preceeded by appropriate transforms.

Parameters
radiusThe radius of the circle.
rThe red component of the shape's color (in the range [0, 1]).
gThe green component of the shape's color (in the range [0, 1]).
bThe blue component of the shape's color (in the range [0, 1]).
aThe alpha componet of the shape's color (in the range [0, 1]).
styleOpenGL render style: GL_FILL, GL_LINE, or GL_POINT.
void Menge::SceneGraph::Circle::drawGL ( bool  select = false)
virtual

Function for drawing a circle into the context.

The circle is drawn on the x-z OpenGL plane, centered on the origin. To change position or orientation, the draw call should be preceeded by appropriate transforms.

Parameters
selectTrue if the circle is being drawn for selection purposes, false otherwise.

Implements Menge::SceneGraph::GLNode.

void Menge::SceneGraph::Circle::init ( )
static

Initializes the OpenGL primitives for drawing the circle.

A call to this function has been added to initShapes.


The documentation for this class was generated from the following files: