I don't have light example on my computer so here is only the part between the glPush/PopMatrix :
glBegin(GL_TRIANGLES);
glColor3ub(0,0,255);
glVertex3d(Position[0],Position[1],Position[2]);
glVertex3d(Position[0],Position[1],Position[2]);
glVertex3d(Position[0],Position[1],Position[2]);
glEnd();
In this example there are (obviously) no dynamic size nor rotation.
What puzzles you exactly ? I'll try to be more understandable if I can.