• Announcements

Archived

This topic is now archived and is closed to further replies.

PushMatrix class

Recommended Posts

duke    107
Simple class I thought I'd share with the world, it is not a new concept but maybe some newbie never thought of it.
	class PushMatrix
{
public:
PushMatrix() : m_bPopped(false)
{
glPushMatrix();
}

~PushMatrix()
{
PopMatrix();
}

void PopMatrix()
{
if(!m_bPopped)
{
glPopMatrix();
m_bPopped = true;
}
}
private:
bool m_bPopped;  // if true matrix has already been popped

};

[edited by - duke on August 7, 2003 8:47:35 AM] [edited by - duke on August 7, 2003 8:48:14 AM]

Share on other sites
duke    107
Oh and the usage for those it isn''t clear to.

void draw()
{
PushMatrix pm;

// issue gl commands
}

matrix is automatically popped whenever the function returns at any point. You can do the same for pushattrib too