{
DoTranslateRotate();
glBegin(GL_POINTS);
glVertex3f(x,y,z);
glEnd();
UndoTranslateRotate();
}
void DoTranslateRotate()
{
//Perform XYZ Translation
glTranslatef(COrigin.x,COrigin.y,COrigin.z);
//Perform XYZ rotations
glRotatef(COrigin.xAngle, 1.0f,0.0f,0.0f);
glRotatef(COrigin.yAngle, 0.0f,1.0f,0.0f);
glRotatef(COrigin.zAngle, 0.0f,0.0f,1.0f);
}
void UnDoTranslateRotate()
{
//Undo XYZ rotations
glRotatef(-COrigin.zAngle, 0.0f,0.0f,1.0f);
glRotatef(-COrigin.yAngle, 0.0f,1.0f,0.0f);
glRotatef(-COrigin.xAngle, 1.0f,0.0f,0.0f);
//Undo XYZ Translation
glTranslatef(-COrigin.x,-COrigin.y,-COrigin.z);
}