4
#include <grass/vask.h>
5
#include "orthophoto.h"
10
int mod_cam_info(int have_old, struct Ortho_Camera_File_Ref *cam_info)
22
strcpy(cam_info->cam_name, "DBA SYSTEMS CAMERA");
25
V_line(1, " Please provide the following information:");
27
"+------------------------------------------------------------------------------+");
28
V_line(4, " Camera Name");
29
V_line(5, " Camera Identification");
30
V_line(6, " Calibrated Focal Length mm.");
31
V_line(7, " Point of Symmetry: X-coordinate mm.");
32
V_line(8, " Point of Symmetry: Y-coordinate mm.");
33
V_line(9, " Maximum number of fiducial or reseau marks");
35
"+-----------------------------------------------------------------------------+");
36
V_ques(cam_info->cam_name, 's', 4, 55, 20 - 1);
37
V_ques(cam_info->cam_id, 's', 5, 55, 20 - 1);
38
V_ques(&(cam_info->CFL), 'd', 6, 55, 20 - 1);
39
V_ques(&(cam_info->Xp), 'd', 7, 55, 20 - 1);
40
V_ques(&(cam_info->Yp), 'd', 8, 55, 20 - 1);
41
V_ques(&(cam_info->num_fid), 'i', 9, 55, 20 - 1);
46
/* get fiducail or reseau info NUMLINES at a time */
48
while (startfid >= 0 && startfid < cam_info->num_fid) {
52
" Please provide the following information:");
54
"+--------------------------------------------------------------------------+");
56
" Fid# Fid Id Xf Yf");
60
cam_info->num_fid + 1 ? startfid + NLINES : cam_info->num_fid;
64
for (i = startfid; i < endfid; i++) {
66
fidnum[atnum] = i + 1;
68
V_const(&fidnum[atnum], 'i', line, 13, 5);
69
V_ques(cam_info->fiducials[i].fid_id, 's', line, 21, 6);
70
V_ques(&(cam_info->fiducials[i].Xf), 'd', line, 33, 10);
71
V_ques(&(cam_info->fiducials[i].Yf), 'd', line, 49, 10);
80
if (endfid >= cam_info->num_fid)
83
sprintf(next, "%d", endfid);
84
sprintf(next_line, next);
85
V_line(line, " Next:");
86
V_ques(next, 's', line, 34, 5);
88
"+--------------------------------------------------------------------------+");
95
if (strcmp(next, "end") == 0)
97
if (sscanf(next, "%d", &endfid) != 1)
101
if (endfid > cam_info->num_fid) {
102
endfid = cam_info->num_fid - NLINES + 1;