예제 #1
0
int main(int argc, char *argv[])
{
	/* Liste aufbauen */
	pdllist l = create();
	int i;
	pdllist lastl = l;
	for(i = 1; i < argc; i++) {
		l = add_last(l, argv[i]);
		del_all(lastl);
		lastl = l;
	}

	/* Kopieren */
	lastl = l;
	l = copy_custom(l, copy_handler);
	del_all(lastl);

	/* Ausgeben */
	printf("Einträge: \n");
	pdllistitem item = l->first;
	int n = 1;
	while(item) {
		printf("%2d. %s\n", n, (char *)item->data);
		item = item->next;
		n++;
	}
	
	/* Löschen */
	del_all_custom(l, delete_handler);
	return 0;
}
예제 #2
0
int main()
{
		int usrip;
		struct lnlst *head;

		head = (struct lnlst *)malloc(sizeof(struct lnlst));
		head->data = 0;
		head->next = NULL;

		while (1) {
				printf("1. Add\n");
				printf("2. Delete\n");
				printf("3. Traverse\n");
				printf("4. Show All\n");
				printf("5. Delete All\n");
				printf("6. Exit\n");
				printf("Please enter an option\n");
				scanf("%d", &usrip);
				switch (usrip)
				{
						case 1:
								add_item(head);
								break;

						case 2:
								del_item(head);
								break;

						case 3:
								traverse(head);
								break;

						case 4:
								show_all(head);
								break;

						case 5:
								del_all(head);
								break;

						case 6:
								del_all(head);
								printf ("\nExiting...\n");
								return 0;

						default:
								del_all(head);
								printf ("Hey Ass****! can you not see a list of options provided\n");
								printf ("Get lost... Exiting...\n");
								return 0;
				}
		}
		return 0;
}
예제 #3
0
파일: cmod.c 프로젝트: imclab/cmod
void cleanup()
{
  if(current_path) free(current_path);
  signal(SIGINT, SIG_DFL);
  del_all(&playlist_h, &playlist_t);
  endwin();
  BASSMOD_Free();
  printf("thanks for using %s\n", progname);
}
예제 #4
0
파일: cmod.c 프로젝트: imclab/cmod
int main(int argc, char *argv[])
{
  char *buff;
  int ch;
  int i;

  initscr();
  cbreak();
  noecho();
  nonl();
  curs_set(0);
  // nodelay(stdscr, TRUE);
  intrflush(stdscr, FALSE);
  keypad(stdscr, TRUE);

  if((color = has_colors())) {
    start_color();
    init_pair(1, COLOR_WHITE, COLOR_BLUE);
    init_pair(2, COLOR_CYAN, COLOR_BLUE);
  }

  signal(SIGINT, cleanup);

  init_windows();
  init_bass();

  create_playlist(&playlist_h, &playlist_t);

  if(argc>1) {
    if(strncmp("/", argv[1], 1) != 0) {
      error("argument must be an absolute path", FALSE);
    }
    if(dirname(opendir(argv[1]))) { // is a dir
      if(add(&playlist_h, argv[1], &playlist_t)) {
        p_p++;
        c_p_p++;
        nsongs++;
        active_win = PLAYLIST_WIN;
        bass_loop = BASS_MUSIC_LOOP;
        play(argv[1], PLAYING_PLAYLIST);
      }
      current_path = strdup((char*)dirname(argv[1]));
    } else {
      error("argument not valid", FALSE);
    }
  } else {
    current_path = (char*)malloc(sizeof(char)*PATH_MAX);
    current_path = (char*)getcwd(current_path, PATH_MAX);
  }

  entries = refresh_browser(current_path, 0);

  mvprintw(0, 0, "%s", current_path);

  repaint_windows();

  while((ch = getch()) != 'q') {
    switch(ch) {
      case 'a': // add song to playlist
          if(active_win == BROWSER_WIN) {
            if(!is_dir(current_path, entries[p_b])) {
              buff = mystrcat(current_path,entries[p_b],1);
              if(add(&playlist_h, buff, &playlist_t)) {
                if(p_p == -1) p_p++;
                nsongs++;
                repaint_windows();
              }
              free(buff);
            }
          }
        break;
      case 'e': // add all songs in current dir
          if(active_win == BROWSER_WIN) {
            for(i=0; i<nfiles; i++) {
              if(!is_dir(current_path, entries[i])) {
                buff = mystrcat(current_path,entries[i],1);
                if(add(&playlist_h, buff, &playlist_t)) {
                  if(p_p == -1) p_p++;
                  nsongs++;
                }
                free(buff);
              }
            }
          }
          repaint_windows();
        break;
      case 'c': // recursive add
          if(active_win == BROWSER_WIN) {
            //printw("---%s+++", current_path);
            add_recursive(current_path, entries, nfiles);
            repaint_windows();
            //printw("---%s", current_path);
          }
        break;
      case 'd': // remove one song from playlist
          if(active_win == PLAYLIST_WIN) {
            if(del(&playlist_h, p_p, &playlist_t)) {
              nsongs--;
              if(p_p > nsongs - 1) {
                p_p = nsongs - 1;
              }
              if(p_p < c_p_p) {
                c_p_p--;
              }
              //stop();
              repaint_windows();
            }
          }
        break;
      case 'r': // remove all songs from playlist
          if(del_all(&playlist_h, &playlist_t)) {
            p_p = -1;
            c_p_p = -1;
            nsongs = 0;
            repaint_windows();
          }
        break;
      case ' ': // start playback or browse filesystem
      case 13: //enter key
          if(active_win == BROWSER_WIN) {
            if(strcmp(entries[p_b], "..\0") == 0) {
              current_path = dirname(current_path);
              p_b = 0;
              entries = refresh_browser(current_path, 0);
            } else {
              if(is_dir(current_path, entries[p_b])) {
                current_path = dir_up(current_path, entries[p_b]);
                p_b = 0;
                entries = refresh_browser(current_path, 0);
              } else {
                buff = mystrcat(current_path,entries[p_b],1);
                play(buff, PLAYING_BROWSER);
                free(buff);
                c_p_p = -1;
                if(p_b < nfiles-1) {
                  p_b++;
                }
              }
            }
            refresh_path();
          } else { // PLAYLIST_WIN
            if(nsongs != 0) {
              play(get(&playlist_h, p_p, &playlist_t)->file, PLAYING_PLAYLIST);
              c_p_p = p_p;
              if(p_p < nsongs - 1) {
                p_p++;
              }
            }
          }
          repaint_windows();
        break;

      case 's': // stop playback
          stop();
          c_p_p = -1;
          repaint_windows();
          clear_statusbar(NULL);
        break;

      case 'n': // next song
          next();
        break;

      case 'p': // prev song
          prev();
        break;

      case 'g': // go to current song
          p_p = c_p_p;
          repaint_windows();
        break;

      case 'l': // toggle loop
          loop();
          stop();
          c_p_p = -1;
          repaint_windows();
        break;

      case 'z': // toggle random
          random_mode();
        break;

      case '.': // seek forward
          seek(1);
        break;

      case ',': // seek backward
          seek(-1);
        break;

      case '+':
          volume_up();
        break;

      case '-':
          volume_down();
        break;

      case '>':
          amplify_up();
        break;

      case '<':
          amplify_down();
        break;

      case KEY_UP:
        if(active_win == BROWSER_WIN) {
          if(p_b > 0) {
            p_b--;
          }
        } else {
          if(p_p > 0) {
            p_p--;
          }
        }
        repaint_windows();
        break;

      case KEY_DOWN:
        if(active_win == BROWSER_WIN) {
          if(p_b < nfiles-1) {
            p_b++;
          }
        } else {
          if(p_p < nsongs - 1) {
            p_p++;
          }
        }
        repaint_windows();
        break;

      case KEY_LEFT:
      case KEY_RIGHT:
          switch_activewindow();
          repaint_windows();
        break;

      case KEY_HOME:
          if(active_win == BROWSER_WIN) {
            p_b = 0;
          } else {
            if(p_p != -1) p_p = 0;
          }
          repaint_windows();
        break;

      case KEY_END:
          if(active_win == BROWSER_WIN) {
            p_b = nfiles-1;
          } else {
            if(p_p != -1) p_p = nsongs - 1;
          }
          repaint_windows();
        break;

      case KEY_NPAGE:
        if(active_win == BROWSER_WIN) {
          if((p_b + (browser_win->_maxy - 2)) < nfiles-1 ) {
            p_b += browser_win->_maxy - 1;
          } else {
            p_b = nfiles-1;
          }
        } else {
          if((p_p + (playlist_win->_maxy - 2)) < nsongs) {
            p_p += playlist_win->_maxy - 1;
          } else {
            p_p = nsongs - 1;
          }
        }
        repaint_windows();
        break;

      case KEY_PPAGE:
        if(active_win == BROWSER_WIN) {
          if((p_b - (browser_win->_maxy - 2)) > 0) {
            p_b -= browser_win->_maxy - 1;
          } else {
            p_b = 0;
          }
        } else {
          if((p_p - (playlist_win->_maxy - 2)) > 0) {
            p_p -= playlist_win->_maxy - 1;
          } else {
            if(p_p != -1) p_p = 0;
          }
        }
        repaint_windows();
        break;
    }

    //usleep(10);

    //update_status();

  }

  cleanup();

  return 0;

}
예제 #5
0
파일: wumf.cpp 프로젝트: 0xmono/miranda-ng
INT_PTR CALLBACK ConnDlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
	switch( Msg ) {
	case WM_INITDIALOG:
		{
			HWND hList = GetDlgItem(hWnd, IDC_CONNLIST);

			ListView_SetExtendedListViewStyle(hList, LVS_EX_FULLROWSELECT);
			LV_COLUMN lvc = { 0 };
			lvc.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;
			lvc.fmt = LVCFMT_LEFT;
			lvc.cx = 40;
			lvc.pszText = _T("ID");
			ListView_InsertColumn(hList, 0, &lvc);
			lvc.cx = 50;
			lvc.pszText = TranslateT("User");
			ListView_InsertColumn(hList, 1, &lvc);
			lvc.cx = 250;
			lvc.pszText = TranslateT("File");
			ListView_InsertColumn(hList, 2, &lvc);
			lvc.cx = 50;
			lvc.pszText = TranslateT("Access");
			ListView_InsertColumn(hList, 3, &lvc);
			KillTimer(NULL, 777);
			lst = cpy_list(&list);
			if (IsUserAnAdmin())
				SetTimer(NULL, 777, TIME, TimerProc);
			else
				MessageBox(NULL, TranslateT("Plugin WhoUsesMyFiles requires admin privileges in order to work."), _T("Miranda NG"), MB_OK);
			ShowList(lst, hList);
		}
		Utils_RestoreWindowPosition(hWnd, NULL, MODULENAME,"conn");
		return TRUE;

	case WM_CLOSE:
		PostMessage( hWnd, WM_COMMAND, IDCANCEL, 0l );
		break;

	case WM_COMMAND:
		switch( LOWORD(wParam)) {
		case IDOK:
		case IDCANCEL:
			PostMessage(hWnd, WM_DESTROY, 0, 0);
			break;
		}
		break;

	case WM_SIZE:
		{
			UTILRESIZEDIALOG urd = { sizeof(urd) };
			urd.hwndDlg = hWnd;
			urd.hInstance = hInst;
			urd.lpTemplate = MAKEINTRESOURCEA(IDD_CONNLIST);
			urd.lParam = (LPARAM)NULL;
			urd.pfnResizer = DlgResizer;
			CallService(MS_UTILS_RESIZEDIALOG, 0, (LPARAM)&urd);
		}
		Utils_SaveWindowPosition(hWnd, NULL, MODULENAME,"conn");
		return TRUE;

	case WM_MOVE:
		Utils_SaveWindowPosition(hWnd, NULL, MODULENAME,"conn");
		break;

	case WM_NOTIFY:
		switch (((LPNMHDR) lParam)->code) { 
		case LVN_GETDISPINFO: 
			OnGetDispInfo((NMLVDISPINFO*)lParam); 
			break; 
		}
		break;

	case WM_DESTROY:
		del_all(&lst);
		PostQuitMessage(0);
		break;
	}
	return FALSE;
}
예제 #6
0
파일: wumf.cpp 프로젝트: 0xmono/miranda-ng
void FreeAll()
{
	del_all(&list);
}
예제 #7
0
int main(void)
{
  //values
  double m_x_global,m_y_global,m_z_global;//,m_stdx_global,m_stdy_global,m_stdz_global;

  double d_begin = 3.0;
  double d_end   =30.0;
  double d_step  = 0.5;
  double d_i = d_begin;

  double m_begin,n_begin,m_end,n_end;

#if defined(_MSC_VER)
  char cam_left[]  = {"AVT_Stingray_right_left_cam1.inikalib.ini"};
  char cam_right[] = {"AVT_Stingray_right_right_cam2.inikalib.ini"};
#else
	char cam_left[]  = {"/home/steffen/projekte/Lehmann_und_Partner/photogrammetrie_dll/example_photogrammetrie/cam_calib/AVT_Stingray_right_left_cam1.inikalib.ini"};
	char cam_right[] = {"/home/steffen/projekte/Lehmann_und_Partner/photogrammetrie_dll/example_photogrammetrie/cam_calib/AVT_Stingray_right_right_cam2.inikalib.ini"};
#endif

//################################

#if defined(_MSC_VER)
  puts("access to the Photogrammetrie.dll\n");
#else
  puts("access to the Photogrammetrie.so\n");
#endif



//################################
  del_all();

  printf("\n##################################\n");
  printf("forwart intersection example 1:\n");

    //fill the camera list with one cam and on bpoint and than the next pair
    //create camera left with a bpoint
    addCam(1040,1392,0.00465,0.0,0.0,0.0,0.0,0.0,0.0,-8.3481198,0.00089,0.00472,-0.00284666,4.33195e-05,0,1.01299e-05,-2.01898e-05,-0.000134369,-4.26305e-05,2.427375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
    addBPoint(272.0,325.0);

    //create camera right with a bpoint
    addCam(1040,1392,0.00465,-1114.242911,-2.313123752,-108.0708656,-0.006391017146,-0.1810263138,0.007287021954,-8.3789952,0.08349,0.00098,-0.00285721,4.69797e-05,0,8.79895e-05,6.01291e-05,3.13052e-05,-8.65479e-05,2.427375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
    addBPoint(223.0,300.0);

    //calculate of the forward intersection
    calculate();

    //showVariablesAndInfos();

    printf("\nforwart intersection calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_local(),get_y_local(),get_z_local(),get_stdx_local(),get_stdy_local(),get_stdz_local());
    printf("\nforwart intersection control: (-1741.225369 , 799.567923 , -7397.498111)  std(2.136106,1.646223,12.459384)\n");

    //delete all values (depends of the internal List of bpoints)
    del_all();


//################################

  printf("\n##################################\n");
  printf("forwart intersection example 2:\n");

                 //info -- calculation from the calibration --
				 /* calibration
				 ###### forward intersection ########
				  picture left:  RechtsVorn_13.BMP  picture right: RechtsHinten_13.BMP
				  BP_left :126 (  756.000,  345.000)   BP_right :126 (  401.000,  370.000)
				  ###### end forward intersection ########
				  ######  boreside transformation ########
				  car pos left  : (  641754.64076, 5638452.77658,     296.79691)  rot (0.67666,      -0.16642,     147.47308)   have pic's the same car pos :1
				  UTM global    : (  641748.32241, 5638451.20961,     299.20626)  0.00000 0.00000 0.00000
				  UTM soll P_ref: (  641748.32088, 5638451.20780,     299.20560)
				  soll - ist    : (      -0.0-1062.3945612937441,1587.5888858836174,-7728.733215755935)0153,      -0.00180,      -0.00066)
				 ###### end boreside transformation ########
				 */


  addCam2(cam_left);
  addBPoint(756.000,345.000);

  addCam2(cam_right);
  addBPoint(401.000,370.000);

  addGlobalCarReferencePoint(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
  addGlobalCarReferencePoint_std( 1.0 , 1.0 , 2.0 , 0.1 , 0.1 , 0.2 );
  setGlobalReferenceFrame();//todo in process -> for EPS data

  //calculate of the forward intersection
  calculate();

  //showVariablesAndInfos();

  printf("\n");
  printf("\nforwart intersection calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_local(),get_y_local(),get_z_local(),get_stdx_local(),get_stdy_local(),get_stdz_local());
  printf("\nforwart intersection control: ((       0.40655,       0.50524,      -3.78090))\n");


  printf("\nbore side calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_global(),get_y_global(),get_z_global(),get_stdx_global(),get_stdy_global(),get_stdz_global());
  printf("\nbore side control: (641748.32241, 5638451.20961,     299.20626)");
  printf("\ntestfield control: (641748.32088, 5638451.20780,     299.20560)\n");

  //save the values for the next example
  m_x_global = get_x_global();//Easting
  m_y_global = get_y_global();//Northing
  m_z_global = get_z_global();//ell. Height


  //delete all values (depends of the internal List of bpoints)
  del_all();

//##################################

  printf("\n##################################\n");
  printf("forwart intersection example 2A:\n");

      //info -- calculation from the calibration --
      /* calibration
         ###### forward intersection ########
         picture left:  RechtsVorn_13.BMP  picture right: RechtsHinten_13.BMP
         BP_left :126 (  756.000,  345.000)   BP_right :126 (  401.000,  370.000)
         ###### end forward intersection ########
         ######  boreside transformation ########
         car pos left  : (  641754.64076, 5638452.77658,     296.79691)  rot (0.67666,      -0.16642,     147.47308)   have pic's the same car pos :1
         UTM global    : (  641748.32241, 5638451.20961,     299.20626)  0.00000 0.00000 0.00000
         UTM soll P_ref: (  641748.32088, 5638451.20780,     299.20560)
         soll - ist    : (      -0.0-1062.3945612937441,1587.5888858836174,-7728.733215755935)0153,      -0.00180,      -0.00066)
         ###### end boreside transformation ########
      */

  addCam( 960, 1280,
          0.00645,                            
          0, 0, 0,                              
          0, 0, 0,                              
          -5.96131, 0.09154, 0.05499,           
          -0.00392312, 5.3042e-05, 0,           
          3.41561e-05, 1.66584e-05,            
          0.000115336, 3.44961e-05,            
          3.1,
          1.810038117, 1.997471691, 2.954505537,
          0, 0, 0,                              
          1.236546986, -0.6468711578, -0.222276496,
          0, 0, 0);
  addBPoint(756.000,345.000);

  addCam( 960, 1280, 
          0.00645,                                   
          1.694736602, -0.5066248238, 1.913592406,     
          0.06547699024, -0.02425883623, 0.01597899627,
          -5.96062, -0.02699, 0.00748,                 
          -0.00392089, 5.0132e-05, 0,                  
          -2.96244e-05, -0.000116111,                 
          -8.63535e-05, -7.70085e-05,                 
          3.1,                                       
          1.886692106, -0.6072478387, 2.940466502,     
          0, 0, 0,                                     
          1.312015813, -0.6836290131, -0.1604868833,   
          0, 0, 0 );
  addBPoint(401.000,370.000);

  addGlobalCarReferencePoint(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
  setGlobalReferenceFrame();//todo in process -> for EPS data

  //calculate of the forward intersection
  calculate();

  //showVariablesAndInfos();

  printf("\n");
  printf("\nforwart intersection calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_local(),get_y_local(),get_z_local(),get_stdx_local(),get_stdy_local(),get_stdz_local());
  printf("\nforwart intersection control: ((       0.40655,       0.50524,      -3.78090))\n");


  printf("\nbore side calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_global(),get_y_global(),get_z_global(),get_stdx_global(),get_stdy_global(),get_stdz_global());
  printf("\nbore side control: (641748.32241, 5638451.20961,     299.20626)");
  printf("\ntestfield control: (641748.32088, 5638451.20780,     299.20560)\n");

  //save the values for the next example
  m_x_global = get_x_global();//Easting
  m_y_global = get_y_global();//Northing
  m_z_global = get_z_global();//ell. Height


  //delete all values (depends of the internal List of bpoints)
  del_all();




//##################################

  printf("\n#########################################\n");
  printf("calc back from a global point to left cam :\n");


  addCam2(cam_left);
  addGlobalMeasurementPoint(m_x_global,m_y_global,m_z_global);

  addGlobalCarReferencePoint(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
  setGlobalReferenceFrame();//todo in process -> for EPS data

  calculate();

  //showVariablesAndInfos();

  printf("\n");
  printf("\npicture point cam left calc   :  m: %lf , n: %lf ",get_m(),get_n());
  printf("\npicture point cam left control: ( 756.000 , 345.000 )\n");

  //delete all values (depends of the internal List of bpoints) is extreme important!!
  del_all();


//##################################

  printf("\n############################################\n");
  printf("calc back from a global point to right cam :\n");


  addCam2(cam_right);
  addGlobalMeasurementPoint(m_x_global,m_y_global,m_z_global);

  addGlobalCarReferencePoint(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
  setGlobalReferenceFrame();//todo in process -> for EPS data

  calculate();

  //showVariablesAndInfos();

  printf("\n");
  printf("\npicture point cam left calc   :  m: %lf , n: %lf ",get_m(),get_n());
  printf("\npicture point cam left control: ( 401.000,370.000 )\n");

  //delete all values (depends of the internal List of bpoints) is extreme important!!
  del_all();

//##################################

		printf("\n############################################\n");
		printf("Epipolargeomerie:\n");

		//double d_begin = 3.0;
		//double d_end   =30.0;
		//double d_step  = 0.5;
		//double d_i = d_begin;

		addCam2(cam_left);
		addBPoint(756.0,345.0);
		addGlobalCarReferencePoint_CamSetGlobal(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);

		addCam2(cam_right);
		addGlobalCarReferencePoint_CamSetGlobal(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);

		printf("\n");
		//double m_begin,n_begin,m_end,n_end;

		while( d_i <= d_end )
		{
		 setDistanceForEpipolarLine(d_i);
		 calculate();

		 if(d_i==d_begin)
		 {
		     m_begin=get_m();
		     n_begin=get_n();
		 }
		 if(d_i==d_end)
		 {
             m_end=get_m();
             n_end=get_n();
		 }

		 printf("\none point in %lf m distance on the epipolar line:   m: %lf , n: %lf ",d_i,get_m(),get_n());

		 d_i+=d_step;
		}



		printf("\ndistance of %lf m in pixel of the epipolar line:  dm: %lf , dn: %lf ",d_i,(m_begin-m_end),(n_begin-n_end));

		//delete all values (depends of the internal List of bpoints)
		del_all();


  //##################################

  printf("\n############################################\n");
  printf("Mono Photogrammetrie only for testing!!!:\n");

  //E ground car: ( n:  (      -0.00278,       0.02638,      -0.99965) , p:       0.20855) (test ground plane from UNO (TUD))

  addCam2(cam_left);
  addBPoint(756.000,345.000);
  addRefGroundSurface(0.0,0.0,1.0,2.44); //plane only for Point 126 picture 13!!

  addGlobalCarReferencePoint(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
  setGlobalReferenceFrame();//todo in process -> for EPS data

  //showVariablesAndInfos();

  //calculate of the forward intersection
  calculate();


  printf("\nmono measurenment calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_local(),get_y_local(),get_z_local(),get_stdx_local(),get_stdy_local(),get_stdz_local());
  printf("\nmono measurenment control: (not available -> this function only for testing)\n");
  printf("\nmono measurenment control: ( 0.410760 , 0.509896 , -3.820846 )\n");

  printf("\nbore side calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_global(),get_y_global(),get_z_global(),get_stdx_global(),get_stdy_global(),get_stdz_global());
  printf("\nbore side control: (not available -> this function only for testing)");
  printf("\nbore side control: (641748.283425 , 5638451.200895 , 299.200014)");

  //delete all values (depends of the internal List of bpoints)
  del_all();

//##################################

		printf("\n############################################\n");
		printf("multi car position photogrammetrie:\n");

		setGlobalReferenceFrame();//todo in process -> for EPS data

		//picture 13
		addCam2(cam_left);
		addBPoint(756.000,345.000);
		addGlobalCarReferencePoint_CamSetGlobal(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);

		//picture 13
		addCam2(cam_right);
		addBPoint(401.000,370.000);
		addGlobalCarReferencePoint_CamSetGlobal(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);

		//picture 12
		addCam2(cam_left);
		addBPoint( 715.0 , 325.0 );
		addGlobalCarReferencePoint_CamSetGlobal(641754.9447785,5638453.2901614,296.8227930,0.0109420,-0.9424530,212.0283640,50.8803453,11.0150821);

		//picture 12
		addCam2(cam_right);
		addBPoint( 395.0, 360.0 );
		addGlobalCarReferencePoint_CamSetGlobal(641754.9447785,5638453.2901614,296.8227930,0.0109420,-0.9424530,212.0283640,50.8803453,11.0150821);

		//picture 10
		addCam2(cam_left);
		addBPoint( 985.0 , 369.0);
		addGlobalCarReferencePoint_CamSetGlobal(641753.5016304,5638454.2034647,296.7935520,-0.1139750,-0.5450980,190.7414720,50.8803539,11.0150620);

		//picture 10
		addCam2(cam_right);
		addBPoint( 506.0 , 381.0 );
		addGlobalCarReferencePoint_CamSetGlobal(641753.5016304,5638454.2034647,296.7935520,-0.1139750,-0.5450980,190.7414720,50.8803539,11.0150620);

		//picture 1
		addCam2(cam_left);
		addBPoint( 65.0 , 305.0);
		//1001;50.8803713;11.0150901;296.8429180;-0.2612280;-1.5055340;219.9422050;15:47:18;1;641755.4308509;5638456.1936776
		addGlobalCarReferencePoint_CamSetGlobal(641755.4308509,5638456.1936776,296.8429180,-0.2612280,-1.5055340,219.9422050,50.8803713,11.0150901);


		//calculate of the forward intersection
		calculate();

		//showVariablesAndInfos();

		printf("\n");
		printf("\nforwart intersection calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_local(),get_y_local(),get_z_local(),get_stdx_local(),get_stdy_local(),get_stdz_local());
		printf("\nforwart intersection control: (641748.309525 , 5638451.210544 , 299.207956  std(0.023276,0.012765,0.006509))\n");


		printf("\nbore side calc   :  x: %lf ,y: %lf z: %lf  std(%lf,%lf,%lf)",get_x_global(),get_y_global(),get_z_global(),get_stdx_global(),get_stdy_global(),get_stdz_global());
		printf("\nbore side control: (641748.309525 , 5638451.210544 , 299.207956)");
		printf("\ntestfield control: (641748.32088  , 5638451.20780  , 299.20560)\n");


		//delete all values (depends of the internal List of bpoints)
		del_all();



//##################################

        printf("\n############################################\n");
        printf("foot print:\n");

        setGlobalReferenceFrame();//todo in process -> for EPS data

        //picture 13
        addCam2(cam_left);
        addGlobalCarReferencePoint_CamSetGlobal(641754.64076,5638452.77658,296.79691,-0.2235410,-0.6600010,214.0967730,50.8803408,11.0150776);
        addRefGroundSurface(0.0,0.0,1.0,0.30); //test plane
        setDistanceForEpipolarLine(20.0); //max 20m in front of the picture

        //calculate of the forward intersection
        calculate();

        printf("\n Point left  up [x,y,z] : [%lf,%lf,%lf] ",get_FP_Easting(0),get_FP_Northing(0),get_FP_eHeight(0));
        printf("\n Point right up [x,y,z] : [%lf,%lf,%lf] ",get_FP_Easting(1),get_FP_Northing(1),get_FP_eHeight(1));
        printf("\n Point left  dw [x,y,z] : [%lf,%lf,%lf] ",get_FP_Easting(2),get_FP_Northing(2),get_FP_eHeight(2));
        printf("\n Point right dw [x,y,z] : [%lf,%lf,%lf] ",get_FP_Easting(3),get_FP_Northing(3),get_FP_eHeight(3));


        //delete all values (depends of the internal List of bpoints)
        del_all();

printf("\n\nend\n");

#if defined(_MSC_VER)
  getchar();
#endif

  return EXIT_SUCCESS;
}