Home | Download | Screen shots | Discussion | Documentation |
---|
#include <openvrml/gl/viewer.h>
Public Member Functions | |
modelview_matrix_stack () | |
Construct. | |
void | push () |
Push the current matrix onto the stack. | |
void | pop () |
Pop the current matrix off of the stack. | |
Private Attributes | |
size_t | size |
The current stack depth. | |
std::stack< mat4f > | spillover |
Any matrices that won't fit on the OpenGL modelview matrix stack get pushed onto this stack. |
OpenGL requires that implementations have a modelview matrix stack with a maximum depth of only 32. Regardless of that, the maximum depth can be expected to vary between implementations; and we don't want nesting of Transform nodes in VRML worlds to be constrained by this limit.
modelview_matrix_stack
uses the OpenGL modelview matrix stack until it fills up, at which point any additional matrices that spill over are pushed onto a conventional stack of mat4f
.
openvrml::gl::viewer::viewer::modelview_matrix_stack::modelview_matrix_stack | ( | ) |
Construct.
void openvrml::gl::viewer::viewer::modelview_matrix_stack::push | ( | ) |
Push the current matrix onto the stack.
void openvrml::gl::viewer::viewer::modelview_matrix_stack::pop | ( | ) |
Pop the current matrix off of the stack.
size_t openvrml::gl::viewer::viewer::modelview_matrix_stack::size [private] |
The current stack depth.
std::stack< openvrml::mat4f > openvrml::gl::viewer::viewer::modelview_matrix_stack::spillover [private] |
Any matrices that won't fit on the OpenGL modelview matrix stack get pushed onto this stack.