// File: ADAPTLab[P]MuDBSCAN/RTree.cpp
// Function: RprintTree(RhdrNd*)
void RprintTree(RHdrNd hdrNdTree)
{   

	RLstNd lstNdTemp = hdrNdTree->ptrFirstNd;
	int iCnt = 0;
	static int iIndent = 0;
	iIndent++;

	while(lstNdTemp != NULL)
    {   
    	for(iCnt = 0; iCnt < iIndent; iCnt++)
			printf("---");

		if(lstNdTemp->tnInfo->ndType == INTNODE)
        {   
        	printf("i hav %d children..\n",lstNdTemp->ptrChildLst->uiCnt);
			printf(" BottomLeft: ");

			for(iCnt = 0; iCnt < DIMENSION; iCnt++)
				printf("%lf ", lstNdTemp->tnInfo->tdInfo->rgnRect->iBottomLeft[iCnt]);

            printf(" TopRight: ");

			for(iCnt = 0; iCnt < DIMENSION; iCnt++)
				printf("%lf ", lstNdTemp->tnInfo->tdInfo->rgnRect->iTopRight[iCnt]);

            printf("\n");
			printf("i hav %d children..\n",lstNdTemp->ptrChildLst->uiCnt);
			RprintTree(lstNdTemp->ptrChildLst);
		}
		else
        {   printf(" DataPoint: ");
    		printData(lstNdTemp->tnInfo->tdInfo->dataClstElem);
			printf("\n");
		}
		lstNdTemp = lstNdTemp->ptrNextNd;
	}
	iIndent--;
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl 0x245e7(%rip), %eax     # 0x3871c
addl $0x1, %eax
movl %eax, 0x245de(%rip)     # 0x3871c
cmpq $0x0, -0x10(%rbp)
je 0x142bf
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x245c3(%rip), %eax     # 0x3871c
jge 0x14174
leaq 0x1806e(%rip), %rdi     # 0x2c1d0
movb $0x0, %al
callq 0x9040
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x14150
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, (%rax)
jne 0x1427e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl (%rax), %esi
leaq 0x1803f(%rip), %rdi     # 0x2c1d4
movb $0x0, %al
callq 0x9040
leaq 0x18046(%rip), %rdi     # 0x2c1e9
movb $0x0, %al
callq 0x9040
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
leaq 0x24619(%rip), %rcx     # 0x387d4
cmpl (%rcx), %eax
jge 0x141f2
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq (%rax), %rax
movslq -0x14(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x17f1c(%rip), %rdi     # 0x2c0fc
movb $0x1, %al
callq 0x9040
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x141b1
leaq 0x17ffe(%rip), %rdi     # 0x2c1f7
movb $0x0, %al
callq 0x9040
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
leaq 0x245c3(%rip), %rcx     # 0x387d4
cmpl (%rcx), %eax
jge 0x14249
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movslq -0x14(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x17ec5(%rip), %rdi     # 0x2c0fc
movb $0x1, %al
callq 0x9040
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x14207
leaq 0x17f44(%rip), %rdi     # 0x2c194
movb $0x0, %al
callq 0x9040
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl (%rax), %esi
leaq 0x17f6c(%rip), %rdi     # 0x2c1d4
movb $0x0, %al
callq 0x9040
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x14110
jmp 0x142ae
leaq 0x17f7e(%rip), %rdi     # 0x2c203
movb $0x0, %al
callq 0x9040
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0xf750
leaq 0x17eed(%rip), %rdi     # 0x2c194
movb $0x0, %al
callq 0x9040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x1413e
movl 0x24457(%rip), %eax     # 0x3871c
addl $-0x1, %eax
movl %eax, 0x2444e(%rip)     # 0x3871c
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)