Example #1
0
int main()
{
    RTREENODE* root = RTreeCreate();
    
    int i, nhits;
    
    fprintf (stdout, "nrects = %d ", nrects);
    
    /* Insert all the testing data rects */
    for(i=0; i<nrects; i++){
        RTreeInsertRect(&rects[i],  /* the mbr being inserted */
                        i+10,        /* i+1 is mbr ID. ID MUST NEVER BE ZERO */
                        &root,        /* the address of rtree's root since root can change undernieth*/
                        0            /* always zero which means to add from the root */
            );
    }

    nhits = RTreeSearch(root, &search_rect, MySearchCallback, 0);
    
    fprintf (stdout, "Search resulted in %d hits ", nhits);

    RTreeDestroy (root);

    return 0;
}
Example #2
0
int RtreeUdiDestroy(control_t *control)
{
  int i;

  assert(control);

  for (i = 0; i < NARGS && (*control)[i].arg != 0; i++)
    {
      if ((*control)[i].tree)
        RTreeDestroy((*control)[i].tree);
    }

  free(control);
  control = NULL;

  return TRUE;
}
Example #3
0
int main(int argc, char* argv[], char** envp)
{
	rtree_t *rt1 = NULL;
	size_t arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	size_t arr_len = sizeof(arr) / sizeof(size_t);

	size_t find1 = arr[0];
	size_t find2 = arr[9];
		
		
	
	
	printf("\n[%s %s %d]RTreeCreate\n", __FILE__, __func__, __LINE__);
	/*__________  RTreeCreate  __________*/
	rt1 = RTreeCreate(&IsBefore);
	printf("sizeof(rt1):%lu\n", sizeof(rt1));
	/*_________________________  END RTreeCreate _______________________*/
	
	
	printf("\n[%s %s %d]RTreeIsEmpty\n", __FILE__, __func__, __LINE__);
	/*_____________________________  RTreeIsEmpty  _______________________*/

	printf("RTreeIsEmpty(rt1): %i,	expected: 0\n", RTreeIsEmpty(rt1));	
	
	/*_________________________  END RTreeIsEmpty _______________________*/
	
	printf("\n[%s %s %d]RTreeHeight\n", __FILE__, __func__, __LINE__);
	/*_____________________________  RTreeHeight  _______________________*/
	
	printf("RTreeHeight(rt1): %d,  excpected: -1\n", RTreeHeight(rt1));
	
	/*_________________________  END RTreeHeight _______________________*/
	
	printf("\n[%s %s %d]RTreeSize\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeSize  _______________________*/
	
	printf("RTreeSize(rt1): %lu, expected:0\n", RTreeSize(rt1));
	
	/*______________END RTreeSize _______________________*/


	printf("\n[%s %s %d]RTreeFind\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeFind  _______________________*/
	rt1->r.data = (void*)&arr[0];
	printf("RTreeFind(rt1, (void*)&find1: %p, 		expected:nil\n", 
		   *(size_t*)RTreeFind(rt1, (void*)&find1));
	/*______________END RTreeFind _______________________*/
	
	printf("\n[%s %s %d]RTreeForEach\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeForEach  _______________________*/
	
	RTreeForEach(rt1, &ActionFunc, (void*)1);
	
	/*______________END RTreeForEach _______________________*/

	printf("\n[%s %s %d]RTreeDestroy\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeDestroy  __________*/
	RTreeDestroy(rt1);
	/*____________  END RTreeDestroy _______________________*/
	
	return(0);
}
Example #4
0
int main(int argc, char* argv[], char** envp)
{
	rtree_t *rt1 = NULL;
/*	size_t arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};*/
	size_t arr[10] = {2, 1, 3, 4, 5, 6, 7, 8, 9, 10};
/*	size_t arr_len = sizeof(arr) / sizeof(size_t);*/
	int i = 0;
	size_t find1 = arr[0];
/*	size_t find2 = arr[9];*/
		
		
	
	
	printf("\n[%s %s %d]RTreeCreate\n", __FILE__, __func__, __LINE__);
	/*__________  RTreeCreate  __________*/
	rt1 = RTreeCreate(&IsBefore);
	printf("sizeof(rt1):%lu\n", sizeof(rt1));
	/*_________________________  END RTreeCreate _______________________*/
	
	
	printf("\n[%s %s %d]RTreeIsEmpty\n", __FILE__, __func__, __LINE__);
	/*_____________________________  RTreeIsEmpty  _______________________*/

	printf("RTreeIsEmpty(rt1): %i,	expected: 1\n", RTreeIsEmpty(rt1));	
	
	/*_________________________  END RTreeIsEmpty _______________________*/
	
	printf("\n[%s %s %d]RTreeHeight\n", __FILE__, __func__, __LINE__);
	/*_____________________________  RTreeHeight  _______________________*/
	
	printf("RTreeHeight(rt1): %d,  excpected: -1\n", RTreeHeight(rt1));
	
	/*_________________________  END RTreeHeight _______________________*/
	
	printf("\n[%s %s %d]RTreeSize\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeSize  _______________________*/
	
	printf("RTreeSize(rt1): %lu, expected:0\n", RTreeSize(rt1));
	
	/*______________END RTreeSize _______________________*/


	printf("\n[%s %s %d]RTreeFind\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeFind  _______________________*/
	printf("RTreeFind(rt1, (void*)&find1: %p, 		expected:nil\n", 
		   RTreeFind(rt1, (void*)&find1));
	/*______________END RTreeFind _______________________*/
	
	printf("\n[%s %s %d]RTreeForEach\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeForEach  _______________________*/
	RTreeForEach(rt1, &ActionFunc, (void*)1);
	/*______________END RTreeForEach _______________________*/

	printf("\n[%s %s %d]RTreeInsert 1\n", __FILE__, __func__, __LINE__);
	/*__RTreeInsert 1__*/
	
		printf("before insert - RTreeIsEmpty(rt1): %i,	expected: 1\n", RTreeIsEmpty(rt1));	
		
		RTreeInsert(rt1, (void*)&arr[4]);
		
		printf("after insert - RTreeIsEmpty(rt1): %i,	expected: 0\n", RTreeIsEmpty(rt1));
		printf("RTreeHeight(rt1): %d,  excpected: 0\n", RTreeHeight(rt1));	
		printf("RTreeSize(rt1): %lu, expected:1\n", RTreeSize(rt1));
	/***END RTreeInsert 1 ***/
	
	/*________________  RTreeInsert 2  _______________________*/
	START("RTreeInsert 2");
	
	for(i = 0; i < 2; ++i)
	{
		RTreeInsert(rt1, (void*)&arr[i]);
	
		printf("\nafter insert - RTreeIsEmpty(rt1): %i,	expected: 0\n", RTreeIsEmpty(rt1));
		printf("RTreeHeight(rt1): %d,  excpected:%i \n", RTreeHeight(rt1), i + 1);	
		printf("RTreeSize(rt1): %lu, expected: %i\n", RTreeSize(rt1), i + 2);
	}
	
	/*______________END RTreeInsert 2 _______________________*/
	
	/*________________  RTreeForEach  _______________________*/
	RTreeForEach(rt1, &ActionFunc, (void*)1);
	/*______________END RTreeForEach _______________________*/

	printf("\n[%s %s %d]RTreeDestroy\n", __FILE__, __func__, __LINE__);
	/*________________  RTreeDestroy  __________*/
	RTreeDestroy(rt1);
	/*____________  END RTreeDestroy _______________________*/
	
	return(0);
}