47 #include "visp/vpConfig.h"
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS
50 #include <visp/vpMy.h>
51 #include <visp/vpArit.h>
52 #include <visp/vpToken.h>
53 #include <visp/vpLex.h>
62 void fprintf_Position (FILE *f, AritPosition *pp)
64 fprintf (f,
"%.3f\t%.3f\t%.3f\n%.3f\t%.3f\t%.3f\n%.3f\t%.3f\t%.3f\n",
65 pp->rotate.x, pp->rotate.y, pp->rotate.z,
66 pp->scale.x, pp->scale.y, pp->scale.z,
67 pp->translate.x, pp->translate.y, pp->translate.z);
75 void fscanf_Point3f (Point3f *pp)
77 static const char *err_tbl[] = {
78 "float expected (coordinate ",
85 if ((t = lex ()) != T_FLOAT && t != T_INT)
86 lexerr (
"start",err_tbl[0],
"X", err_tbl[1], NULL);
87 pp->x = (t == T_INT) ? (
float) myint : myfloat;
91 if ((t= lex ()) != T_FLOAT && t != T_INT)
92 lexerr (
"start",err_tbl[0],
"Y", err_tbl[1], NULL);
93 pp->y = (t == T_INT) ? (
float) myint : myfloat;
97 if ((t= lex ()) != T_FLOAT && t != T_INT)
98 lexerr (
"start",err_tbl[0],
"Z", err_tbl[1], NULL);
99 pp->z = (t == T_INT) ? (
float) myint : myfloat;
107 void fscanf_Vector (Vector *vp)
109 static const char *err_tbl[] = {
110 "float expected (coordinate ",
118 if ((t= lex ()) != T_FLOAT && t != T_INT)
119 lexerr (
"start",err_tbl[0],
"X", err_tbl[1], NULL);
120 vp->x = (t == T_INT) ? (
float) myint : myfloat;
124 if ((t= lex ()) != T_FLOAT && t != T_INT)
125 lexerr (
"start",err_tbl[0],
"Y", err_tbl[1], NULL);
126 vp->y = (t == T_INT) ? (
float) myint : myfloat;
130 if ((t= lex ()) != T_FLOAT && t != T_INT)
131 lexerr (
"start",err_tbl[0],
"Z", err_tbl[1], NULL);
132 vp->z = (t == T_INT) ? (
float) myint : myfloat;
140 void fscanf_Position (AritPosition *pp)
142 pusherr (
"rotate: ");
143 fscanf_Vector (&pp->rotate);
144 popuperr (
"scale: ");
145 fscanf_Vector (&pp->scale);
146 popuperr (
"translate: ");
147 fscanf_Vector (&pp->translate);