// File: thierry7100[P]CutOptim/src/SvgDoc.cpp
// Function: SvgDoc::BuilSingleListPath()
void SvgDoc::BuilSingleListPath()
{
    int nShape = 0;
	for (NSVGshape *shape = SvgData->shapes; shape != NULL; shape = shape->next, nShape++)
	{
        //  Then for each path in the shape
        int iPath = 0;
        for (NSVGpath *path = shape->paths; path != NULL; path = path->next, iPath++)
        {
            path->isFixed = 0;              //  Not yet fixed !
            path->CachePoly = NULL;         //  No cache associated yet
            if ( path->LargePolygon == NULL ) continue;     //  Do NOT Add to list if no large polygon
            listPath.push_back(path);
        }
    }
    if ( debug_level > 0 )
    {
        OutDebug << "--------  BuilSingleListPath : There are " << listPath.size() << " paths in the list" << endl;
    }
    listPath.sort(compare_area);
    if ( debug_level > 0 )
    {
        int idx = 0;
        for (std::list<NSVGpath *>::iterator it=listPath.begin(); it != listPath.end(); ++it)
        {
            OutDebug << "  Path " << idx << " id: " << (*it)->id << " area " <<  (*it)->LargePolygon->area() << "mm2 and " << NbChildren(*it) << " children\n";
            if ( debug_level > 1 )
                OutDebug << *((*it)->LargePolygon);
            idx++;
        }
        OutDebug << "-----------   End of BuilSingleListPath  ---------------------------\n\n\n";
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x0, -0xc(%rbp)
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x6d840
movl $0x0, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movq 0xf0(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x6d821
movq -0x28(%rbp), %rax
movl $0x0, 0x80(%rax)
movq -0x28(%rbp), %rax
movq $0x0, 0x88(%rax)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x68(%rax)
jne 0x6d7f9
jmp 0x6d80a
movq -0x48(%rbp), %rdi
addq $0x20, %rdi
leaq -0x28(%rbp), %rsi
callq 0x7ff70
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x28(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6d7c8
jmp 0x6d823
movq -0x18(%rbp), %rax
movq 0xf8(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6d7a7
movq -0x48(%rbp), %rax
cmpl $0x0, 0x60(%rax)
jle 0x6d899
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
leaq 0x179c8(%rip), %rsi     # 0x85221
callq 0x9530
movq -0x48(%rbp), %rdi
movq %rax, -0x50(%rbp)
addq $0x20, %rdi
callq 0x7ffb0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x9150
movq %rax, %rdi
leaq 0x179c6(%rip), %rsi     # 0x8524b
callq 0x9530
movq %rax, %rdi
movq 0x4a6b4(%rip), %rsi     # 0xb7f48
callq 0x9590
movq -0x48(%rbp), %rdi
addq $0x20, %rdi
leaq -0x178(%rip), %rsi      # 0x6d730
callq 0x7ffe0
movq -0x48(%rbp), %rax
cmpl $0x0, 0x60(%rax)
jle 0x6da15
movq -0x48(%rbp), %rdi
movl $0x0, -0x2c(%rbp)
addq $0x20, %rdi
callq 0x803f0
movq %rax, -0x38(%rbp)
movq -0x48(%rbp), %rdi
addq $0x20, %rdi
callq 0x80450
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x80420
testb $0x1, %al
jne 0x6d8fa
jmp 0x6da01
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
leaq 0x17955(%rip), %rsi     # 0x8525e
callq 0x9530
movq %rax, %rdi
movl -0x2c(%rbp), %esi
callq 0x9930
movq %rax, %rdi
leaq 0x17943(%rip), %rsi     # 0x85266
callq 0x9530
movq %rax, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x80480
movq -0x68(%rbp), %rdi
movq (%rax), %rsi
addq $0x90, %rsi
callq 0x9530
movq %rax, %rdi
leaq 0x17f38(%rip), %rsi     # 0x8588a
callq 0x9530
movq %rax, -0x60(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x80480
movq (%rax), %rax
movq 0x68(%rax), %rdi
callq 0x5ed10
movq -0x60(%rbp), %rdi
callq 0x9a30
movq %rax, %rdi
leaq 0x178e9(%rip), %rsi     # 0x8526c
callq 0x9530
movq %rax, -0x58(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x80480
movq -0x48(%rbp), %rdi
movq (%rax), %rsi
callq 0x6ad10
movq -0x58(%rbp), %rdi
movl %eax, %esi
callq 0x9930
movq %rax, %rdi
leaq 0x16dd0(%rip), %rsi     # 0x84786
callq 0x9530
movq -0x48(%rbp), %rax
cmpl $0x1, 0x60(%rax)
jle 0x6d9ea
movq -0x48(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x70(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x80480
movq -0x70(%rbp), %rdi
movq (%rax), %rax
movq 0x68(%rax), %rsi
callq 0x804a0
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x80570
jmp 0x6d8d3
movq -0x48(%rbp), %rdi
addq $0x68, %rdi
leaq 0x17865(%rip), %rsi     # 0x85275
callq 0x9530
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax,%rax)