// File: /workspace/github_cpp_makefile_star2_O2/Luthaf[P]zeopp/voronoicell.cc
// Function: VOR_CELL::writeVMDOutlined(std::basic_fstream<char, std::char_traits<char>>&, int)
void VOR_CELL::writeVMDOutlined(fstream &output, int n){
  output << "set vorcells(" << n <<") {" << "\n";
  
  // Iterate over all nodes in VOR_CELL
  for(int i = 0; i < numVertices; i++){
    Point curPoint = vertexCoords.find(i)->second;
    int nodeID = idMappings.find(i)->second;
    output << "{color $nodeColors(" << nodeID << ") }" << "\n"; 
    output << "{sphere {" << curPoint[0] << " " << curPoint[1] << " " << curPoint[2] << "} radius $nodeRadii(" << nodeID << ") resolution $sphere_resolution}" << "\n";
  }
  
  // Iterate over all edges in VOR_CELL
  output << "{color $vorcellColors(" << n << ") }" << "\n";
  for(int i = 0; i < numVertices; i++){
    Point p1 = vertexCoords[i];
    set<int>::iterator vertexIter = edgeConnections[i].begin();
    while(vertexIter != edgeConnections[i].end()){
      Point p2 = vertexCoords[*vertexIter];
	output << "{line {" 
	       << p1[0] << " " << p1[1] << " " << p1[2] << "} {" 
	       << p2[0] << " " << p2[1] << " " << p2[2] << "} width 1}" << "\n";
	vertexIter++;
    }
  }
  output << "}" << "\n";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl %edx, %ebp
movq %rsi, %rax
movq %rdi, %rbx
addq $0x10, %rax
leaq 0xb3ecb(%rip), %rsi     # 0x1032e0
movq %rax, 0x10(%rsp)
movq %rax, %rdi
callq 0x4480
movq %rax, %rdi
movl %ebp, 0x2c(%rsp)
movl %ebp, %esi
callq 0x4760
leaq 0xb3f41(%rip), %rsi     # 0x103378
movq %rax, %rdi
callq 0x4480
leaq 0xb3138(%rip), %rsi     # 0x10257e
movq %rax, %rdi
callq 0x4480
leaq 0xb0(%rbx), %rax
movq %rax, 0x20(%rsp)
movq %rbx, 0x18(%rsp)
leaq 0x50(%rbx), %r15
xorl %eax, %eax
leaq 0x50(%rsp), %r13
leaq 0xb50a1(%rip), %rbp     # 0x104512
movl %eax, 0x30(%rsp)
movq 0x18(%rsp), %rcx
cmpl 0x18(%rcx), %eax
jge 0x4f5a4
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rbx
movq %rbx, %rsi
callq 0x51c4c
movups 0x28(%rax), %xmm0
movaps %xmm0, 0x50(%rsp)
movq 0x38(%rax), %rax
movq %rax, 0x60(%rsp)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x10996
movl 0x24(%rax), %ebx
movq 0x10(%rsp), %r14
movq %r14, %rdi
leaq 0xb3e2a(%rip), %rsi     # 0x1032ee
callq 0x4480
movq %rax, %rdi
movl %ebx, %esi
callq 0x4760
movq %rax, %rdi
leaq 0xb3dff(%rip), %rsi     # 0x1032dc
callq 0x4480
movq %rax, %rdi
leaq 0xb3092(%rip), %r12     # 0x10257e
movq %r12, %rsi
callq 0x4480
movq %r14, %rdi
leaq 0xb0f55(%rip), %rsi     # 0x100453
callq 0x4480
movq %rax, %r14
movq %r13, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4480
movq %rax, %r14
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x4480
movq %rax, %r14
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x63c78
movsd (%rax), %xmm0
movq %r14, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xb3d92(%rip), %rsi     # 0x103302
callq 0x4480
movq %rax, %rdi
movl %ebx, %esi
callq 0x4760
movq %rax, %rdi
leaq 0xb3d8e(%rip), %rsi     # 0x103317
callq 0x4480
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movl 0x30(%rsp), %eax
incl %eax
jmp 0x4f471
leaq 0xb3d8d(%rip), %rsi     # 0x103338
movq 0x10(%rsp), %rdi
callq 0x4480
movq %rax, %rdi
movl 0x2c(%rsp), %esi
callq 0x4760
leaq 0xb3d14(%rip), %rsi     # 0x1032dc
movq %rax, %rdi
callq 0x4480
leaq 0xb2fa7(%rip), %rsi     # 0x10257e
movq %rax, %rdi
callq 0x4480
xorl %eax, %eax
leaq 0xb4f2a(%rip), %r12     # 0x104512
leaq 0x30(%rsp), %r14
movq 0x18(%rsp), %rbp
pushq $0x1
popq %rbx
movl %eax, 0xc(%rsp)
cmpl 0x18(%rbp), %eax
jge 0x4f79f
movq 0x20(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x510f4
movq 0x10(%rax), %rcx
movq %rcx, 0x60(%rsp)
movups (%rax), %xmm0
movaps %xmm0, 0x50(%rsp)
movslq 0xc(%rsp), %rax
movq 0xe0(%rbp), %rcx
imulq $0x30, %rax, %rdx
movq 0x18(%rcx,%rdx), %r15
movslq %eax, %rdx
imulq $0x30, %rdx, %rdx
addq %rdx, %rcx
addq $0x8, %rcx
cmpq %rcx, %r15
je 0x4f798
leaq 0x20(%r15), %rsi
movq 0x20(%rsp), %rdi
callq 0x510f4
movups (%rax), %xmm0
movaps %xmm0, 0x30(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x10(%rsp), %rdi
leaq 0xb0eb7(%rip), %rsi     # 0x100530
callq 0x4480
movq %rax, %rbp
leaq 0x50(%rsp), %r13
movq %r13, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %rbp
movq %r13, %rdi
movl %ebx, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %rbp
movq %r13, %rdi
pushq $0x2
popq %r13
movl %r13d, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
leaq 0xb1ca8(%rip), %rsi     # 0x10139b
callq 0x4480
movq %rax, %rbp
movq %r14, %rdi
xorl %esi, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %rbp
movq %r14, %rdi
movl %ebx, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
callq 0x46c0
movq %rax, %rdi
movq %r12, %rsi
callq 0x4480
movq %rax, %rbp
movq %r14, %rdi
movl %r13d, %esi
callq 0x63c78
movsd (%rax), %xmm0
movq %rbp, %rdi
movq 0x18(%rsp), %rbp
callq 0x46c0
movq %rax, %rdi
leaq 0xb3be6(%rip), %rsi     # 0x10334f
callq 0x4480
movq %rax, %rdi
leaq 0xb2e06(%rip), %rsi     # 0x10257e
callq 0x4480
movq %r15, %rdi
callq 0x4510
movq %rax, %r15
movl 0xc(%rsp), %eax
movq 0xe0(%rbp), %rcx
jmp 0x4f637
incl %eax
jmp 0x4f5f5
leaq 0xb3b38(%rip), %rsi     # 0x1032de
movq 0x10(%rsp), %rdi
callq 0x4480
leaq 0xb2dc7(%rip), %rsi     # 0x10257e
movq %rax, %rdi
callq 0x4480
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq