// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/apps/confview/confview.cpp
// Function: GLUTRedraw()
void GLUTRedraw(void)
{
  // Set viewing transformation
  viewer.Camera().Load();

  // Clear window 
  // glClearColor(0.0, 0.0, 0.0, 1.0);
  glClearColor(background.R(), background.G(), background.B(), 1.0);
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

  // Draw everything
  if (show_cameras) DrawCameras(color_scheme);
  if (show_bboxes) DrawBBoxes(color_scheme);
  if (show_images) DrawImages(color_scheme);
  if (show_patches) DrawPatches(color_scheme);
  if (show_faces) DrawFaces(color_scheme);
  if (show_edges) DrawEdges(color_scheme);
  if (show_vertices) DrawVertices(color_scheme);
  if (show_points) DrawPoints(color_scheme);
  if (show_surfels) DrawSurfels(color_scheme);
  if (show_quads) DrawQuads(color_scheme);
  if (show_textures) DrawTextures(color_scheme);
  if (show_overlaps) DrawOverlaps();
  if (show_selected_position) DrawSelectedPosition();
  if (show_axes) DrawAxes();

  // Capture screenshot image 
  if (screenshot_image_name) {
    if (print_verbose) printf("Creating image %s\n", screenshot_image_name);
    R2Image image(GLUTwindow_width, GLUTwindow_height, 3);
    image.Capture();
    image.Write(screenshot_image_name);
    screenshot_image_name = NULL;
  }

  // Swap buffers 
  glutSwapBuffers();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq 0x133ed1(%rip), %rdi    # 0x15a9d8
xorl %esi, %esi
callq 0x38ef6
cvtsd2ss 0x133e8a(%rip), %xmm0   # 0x15a9a0
cvtsd2ss 0x133e8a(%rip), %xmm1   # 0x15a9a8
cvtsd2ss 0x133e8a(%rip), %xmm2   # 0x15a9b0
movss 0xbb4d6(%rip), %xmm3    # 0xe2004
callq 0x23e70
movl $0x4100, %edi           # imm = 0x4100
callq 0x23200
cmpl $0x0, 0x12eeac(%rip)    # 0x1559f0
je 0x26b51
movl 0x12eea8(%rip), %edi    # 0x1559f4
callq 0x2730d
cmpl $0x0, 0x133f2c(%rip)    # 0x15aa84
je 0x26b65
movl 0x12ee94(%rip), %edi    # 0x1559f4
callq 0x27377
cmpl $0x0, 0x133f1c(%rip)    # 0x15aa88
pushq $0x4
popq %r15
je 0x26bdc
movl 0x12ee7c(%rip), %ebp    # 0x1559f4
xorl %r14d, %r14d
movslq 0x133d62(%rip), %rax    # 0x15a8e4
cmpq %rax, %r14
jge 0x26bdc
movq 0x133d4a(%rip), %rax    # 0x15a8d8
movq (%rax,%r14,8), %rbx
cmpl $0x0, 0x24(%rbx)
jle 0x26bd7
movq 0x18(%rbx), %rax
cmpq $0x0, (%rax)
je 0x26bd7
movq %rbx, %rdi
callq 0x29cd4
testl %eax, %eax
je 0x26bd7
movl 0x12ee54(%rip), %eax    # 0x155a08
cmpq %rax, %r14
movl %ebp, %esi
cmovel %r15d, %esi
cmpl $0x3, %ebp
movq (%rbx), %rax
cmovel %ebp, %esi
movq %rbx, %rdi
movsd 0xbb43f(%rip), %xmm0    # 0xe2010
callq *0xd0(%rax)
incq %r14
jmp 0x26b7b
cmpl $0x0, 0x133ea9(%rip)    # 0x15aa8c
je 0x26de8
movl 0x12ee05(%rip), %ebx    # 0x1559f4
leaq 0x133d72(%rip), %rdi    # 0x15a968
leaq 0x137413(%rip), %rsi    # 0x15e010
callq 0x7c97a
testl %eax, %eax
jne 0x26de8
movl %ebx, (%rsp)
movl $0x1701, %edi           # imm = 0x1701
callq 0x23cf0
callq 0x23fb0
callq 0x23c80
cvtsi2sdl 0x12edd3(%rip), %xmm1 # 0x1559fc
cvtsi2sdl 0x12edcf(%rip), %xmm3 # 0x155a00
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0x23570
movl $0x1700, %edi           # imm = 0x1700
callq 0x23cf0
callq 0x23fb0
callq 0x23c80
xorl %ebp, %ebp
leaq 0x30(%rsp), %r14
leaq 0x8(%rsp), %r12
xorl %ebx, %ebx
movslq 0x133c7f(%rip), %rax    # 0x15a8e4
cmpq %rax, %rbp
jge 0x26db5
movq 0x133c63(%rip), %rax    # 0x15a8d8
movq (%rax,%rbp,8), %r13
cmpl $0x0, 0x24(%r13)
jle 0x26dad
movq 0x18(%r13), %rax
cmpq $0x0, (%rax)
je 0x26dad
movq %r13, %rdi
callq 0x29cd4
testl %eax, %eax
je 0x26dad
movq %r14, %rdi
callq 0x93cb6
movq (%r13), %rax
movq %r13, %rdi
leaq 0x133cb0(%rip), %rsi    # 0x15a968
movq %r14, %rdx
callq *0xb0(%rax)
testl %eax, %eax
je 0x26dad
imull $0x64, %ebx, %edi
xorl %esi, %esi
pushq $0x64
popq %rcx
movl %ecx, %edx
callq 0x23220
movss 0xbb324(%rip), %xmm0    # 0xe2004
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x24370
callq 0x23fb0
cvtsi2sdl 0x12ed04(%rip), %xmm0 # 0x1559fc
movsd 0xbb318(%rip), %xmm2    # 0xe2018
mulsd %xmm2, %xmm0
cvtsi2sdl 0x12ecf4(%rip), %xmm1 # 0x155a00
mulsd %xmm2, %xmm1
xorpd %xmm2, %xmm2
callq 0x239a0
movsd 0xbb2ff(%rip), %xmm0    # 0xe2020
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x23990
movsd 0x30(%rsp), %xmm0
movsd 0x38(%rsp), %xmm1
movaps 0xbb371(%rip), %xmm2    # 0xe20b0
xorps %xmm2, %xmm0
xorps %xmm2, %xmm1
xorps %xmm2, %xmm2
callq 0x239a0
movq (%r13), %rax
xorps %xmm0, %xmm0
movq %r13, %rdi
movl (%rsp), %esi
callq *0xd0(%rax)
callq 0x24210
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x24370
cvtsi2sdl 0x12ec81(%rip), %xmm2 # 0x1559fc
cvtsi2sdl 0x12ec7d(%rip), %xmm3 # 0x155a00
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movq %r12, %rdi
callq 0x912b2
leaq 0xbfdc8(%rip), %rax     # 0xe6b60
movq (%rax), %rsi
movq %r12, %rdi
callq 0x828fe
movq %r12, %rdi
callq 0x91a26
incl %ebx
incq %rbp
jmp 0x26c5e
movl 0x12ec41(%rip), %edx    # 0x1559fc
movl 0x12ec3f(%rip), %ecx    # 0x155a00
xorl %edi, %edi
xorl %esi, %esi
callq 0x23220
movl $0x1701, %edi           # imm = 0x1701
callq 0x23cf0
callq 0x24210
movl $0x1700, %edi           # imm = 0x1700
callq 0x23cf0
callq 0x24210
cmpl $0x0, 0x133ca1(%rip)    # 0x15aa90
je 0x26dfc
movl 0x12ebfd(%rip), %edi    # 0x1559f4
callq 0x273c1
cmpl $0x0, 0x133c91(%rip)    # 0x15aa94
je 0x26e45
movl 0x12ebe9(%rip), %ebx    # 0x1559f4
xorl %r14d, %r14d
movslq 0x133adf(%rip), %rax    # 0x15a8f4
cmpq %rax, %r14
jge 0x26e45
movl 0x12ebe8(%rip), %eax    # 0x155a08
cmpq %rax, %r14
movl %ebx, %esi
cmovel %r15d, %esi
cmpl $0x3, %ebx
movq 0x133ab5(%rip), %rax    # 0x15a8e8
movq (%rax,%r14,8), %rdi
movq (%rdi), %rax
cmovel %ebx, %esi
callq *0x68(%rax)
incq %r14
jmp 0x26e0e
cmpl $0x0, 0x133c4c(%rip)    # 0x15aa98
je 0x26e8e
movl 0x12eba0(%rip), %ebx    # 0x1559f4
xorl %r14d, %r14d
movslq 0x133a96(%rip), %rax    # 0x15a8f4
cmpq %rax, %r14
jge 0x26e8e
movl 0x12eb9f(%rip), %eax    # 0x155a08
cmpq %rax, %r14
movl %ebx, %esi
cmovel %r15d, %esi
cmpl $0x3, %ebx
movq 0x133a6c(%rip), %rax    # 0x15a8e8
movq (%rax,%r14,8), %rdi
movq (%rdi), %rax
cmovel %ebx, %esi
callq *0x70(%rax)
incq %r14
jmp 0x26e57
cmpl $0x0, 0x133c07(%rip)    # 0x15aa9c
je 0x26ea2
movl 0x12eb57(%rip), %edi    # 0x1559f4
callq 0x27408
cmpl $0x0, 0x133bf7(%rip)    # 0x15aaa0
je 0x26eb6
movl 0x12eb43(%rip), %edi    # 0x1559f4
callq 0x27473
cmpl $0x0, 0x133be7(%rip)    # 0x15aaa4
je 0x26eca
movl 0x12eb2f(%rip), %edi    # 0x1559f4
callq 0x274de
cmpl $0x0, 0x133bd7(%rip)    # 0x15aaa8
je 0x26f13
movl 0x12eb1b(%rip), %ebx    # 0x1559f4
xorl %r14d, %r14d
movslq 0x133a11(%rip), %rax    # 0x15a8f4
cmpq %rax, %r14
jge 0x26f13
movl 0x12eb1a(%rip), %eax    # 0x155a08
cmpq %rax, %r14
movl %ebx, %esi
cmovel %r15d, %esi
cmpl $0x3, %ebx
movq 0x1339e7(%rip), %rax    # 0x15a8e8
movq (%rax,%r14,8), %rdi
movq (%rdi), %rax
cmovel %ebx, %esi
callq *0x78(%rax)
incq %r14
jmp 0x26edc
cmpl $0x0, 0x133b92(%rip)    # 0x15aaac
je 0x27027
cmpq $0x0, 0x133c48(%rip)    # 0x15ab70
je 0x27027
cmpl $0x0, 0x1339bf(%rip)    # 0x15a8f4
jle 0x27027
movq 0x1339a6(%rip), %rax    # 0x15a8e8
movq (%rax), %rax
movq 0x88(%rax), %r15
movsd 0xbb0d4(%rip), %xmm0    # 0xe2028
xorl %r12d, %r12d
leaq 0x133a5a(%rip), %r14    # 0x15a9b8
xorl %ebx, %ebx
movslq 0x14(%r15), %rax
cmpq %rax, %r12
jge 0x26f98
movq 0x8(%r15), %rax
movq (%rax,%r12,8), %r13
leaq 0x18(%r13), %rdi
movq %r14, %rsi
movsd %xmm0, (%rsp)
callq 0x57415
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
cmovaq %r13, %rbx
minsd %xmm1, %xmm0
incq %r12
jmp 0x26f60
testq %rbx, %rbx
je 0x27027
movss 0xbb05f(%rip), %xmm0    # 0xe2008
callq 0x24190
movss 0xbb04e(%rip), %xmm0    # 0xe2004
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x24370
pushq $0x1
popq %rdi
callq 0x23190
movslq 0x70(%rbx), %r15
addq $0x18, %rbx
xorl %r12d, %r12d
shlq $0x4, %r15
leaq 0x8(%rsp), %r14
movq 0x133b8c(%rip), %rax    # 0x15ab70
movslq 0xc(%rax,%r15), %rcx
cmpq %rcx, %r12
jge 0x27015
addq %r15, %rax
movq (%rax), %rax
movq (%rax,%r12,8), %rsi
movq %r14, %rdi
callq 0x29e3e
movq %r14, %rdi
callq 0x231b0
movq %rbx, %rdi
callq 0x231b0
incq %r12
jmp 0x26fdd
callq 0x23c90
movss 0xbafe2(%rip), %xmm0    # 0xe2004
callq 0x24190
cmpl $0x0, 0x12e9ca(%rip)    # 0x1559f8
je 0x2708d
leaq 0x133931(%rip), %rdi    # 0x15a968
leaq 0x136fd2(%rip), %rsi    # 0x15e010
callq 0x7c97a
testl %eax, %eax
jne 0x2708d
movss 0xbafb5(%rip), %xmm0    # 0xe2004
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x24370
leaq 0x133907(%rip), %rsi    # 0x15a968
leaq 0x8(%rsp), %rbx
movsd 0xbafc2(%rip), %xmm0    # 0xe2030
movq %rbx, %rdi
callq 0x72a14
movl $0x772, %esi            # imm = 0x772
movq %rbx, %rdi
callq 0x50bae
leaq 0x8(%rsp), %rdi
callq 0x759da
cmpl $0x0, 0x133a1c(%rip)    # 0x15aab0
je 0x2725c
movss 0xbaf66(%rip), %xmm0    # 0xe2008
callq 0x24190
callq 0x29ee3
movss 0xbaf50(%rip), %xmm0    # 0xe2004
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x24370
leaq 0xbeb02(%rip), %rsi     # 0xe5bc8
leaq 0x30(%rsp), %r14
movsd 0xbaf45(%rip), %xmm0    # 0xe2018
movq %r14, %rdi
callq 0x7d76a
leaq 0x136e3e(%rip), %rbx    # 0x15df20
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
leaq 0xbea7c(%rip), %rsi     # 0xe5b80
leaq 0x30(%rsp), %r14
movsd 0xbaeff(%rip), %xmm0    # 0xe2010
movq %r14, %rdi
callq 0x7d76a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
callq 0x23c90
callq 0x29ee3
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
movss 0xbaeb8(%rip), %xmm1    # 0xe2004
callq 0x24370
leaq 0xbea88(%rip), %rsi     # 0xe5be0
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movsd 0xbaeb0(%rip), %xmm0    # 0xe2018
callq 0x7d76a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
leaq 0xbea09(%rip), %rsi     # 0xe5b98
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movsd 0xbae71(%rip), %xmm0    # 0xe2010
callq 0x7d76a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
callq 0x23c90
callq 0x29ee3
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movss 0xbae2d(%rip), %xmm2    # 0xe2004
callq 0x24370
leaq 0xbea15(%rip), %rsi     # 0xe5bf8
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movsd 0xbae25(%rip), %xmm0    # 0xe2018
callq 0x7d76a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
leaq 0xbe996(%rip), %rsi     # 0xe5bb0
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movsd 0xbade6(%rip), %xmm0    # 0xe2010
callq 0x7d76a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x7cb7b
movq %r15, %rdi
callq 0x231b0
callq 0x23c90
movss 0xbadad(%rip), %xmm0    # 0xe2004
callq 0x24190
movq 0x133855(%rip), %rsi    # 0x15aab8
testq %rsi, %rsi
je 0x272c6
cmpb $0x1, 0x133851(%rip)    # 0x15aac0
jne 0x2727f
leaq 0xbaf70(%rip), %rdi     # 0xe21e8
xorl %eax, %eax
callq 0x23080
movl 0x12e777(%rip), %esi    # 0x1559fc
movl 0x12e775(%rip), %edx    # 0x155a00
leaq 0x8(%rsp), %rbx
pushq $0x3
popq %rcx
movq %rbx, %rdi
callq 0x9484a
movq %rbx, %rdi
callq 0x951dc
movq 0x13380e(%rip), %rsi    # 0x15aab8
leaq 0x8(%rsp), %rdi
callq 0x96482
andq $0x0, 0x1337fc(%rip)    # 0x15aab8
leaq 0x8(%rsp), %rdi
callq 0x94a8c
callq 0xd567e
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x759da
jmp 0x27305
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x91a26
jmp 0x27305
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x94a8c
movq %rbx, %rdi
callq 0x24110