Update of /cvsroot/artoolkit/artoolkit/examples/paddleInteraction
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21050
Modified Files:
paddle.c paddleInteractionTest.c
Log Message:
Fix some build warnings.
Index: paddle.c
===================================================================
RCS file: /cvsroot/artoolkit/artoolkit/examples/paddleInteraction/paddle.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** paddle.c 22 Nov 2004 03:37:43 -0000 1.1
--- paddle.c 2 Dec 2004 00:47:30 -0000 1.2
***************
*** 1,155 ****
! #include <stdio.h>
! #include <malloc.h>
! #include <stdlib.h>
! #include <AR/ar.h>
! #include "paddle.h"
!
! static ARMarkerInfo prevInfoL;
! static ARMarkerInfo prevInfoR;
! static int pcountL = 0;
! static int pcountR = 0;
!
! static char *get_buff( char *buf, int n, FILE *fp );
!
! static int get_marker( ARMarkerInfo *markerInfo, int *markerFlag,
! int marker_num, int id,
! ARMarkerInfo *prevInfo, int *pcount );
!
!
! ARPaddleInfo *paddleInit( char *name )
! {
! FILE *fp;
! ARPaddleInfo *paddleInfo;
! char buf[256], buf1[256];
!
! if( (fp=fopen(name, "r")) == NULL ) return(0);
!
! arMalloc( paddleInfo, ARPaddleInfo, 1 );
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%s", paddleInfo->name) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%s", buf1) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
! if( (paddleInfo->marker_id = arLoadPatt(buf1)) < 0 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%lf", &paddleInfo->width) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! paddleInfo->center[0] = 0.0;
! paddleInfo->center[1] = 0.0;
! paddleInfo->active = 0;
! paddleInfo->pcount = 0;
! paddleInfo->pcountL = 0;
! paddleInfo->pcountR = 0;
!
! fclose(fp);
!
! return paddleInfo;
! }
!
! static char *get_buff( char *buf, int n, FILE *fp )
! {
! char *ret;
!
! for(;;) {
! ret = fgets( buf, n, fp );
! if( ret == NULL ) return(NULL);
! if( buf[0] != '\n' && buf[0] != '#' ) return(ret);
! }
! }
!
! int paddleGetTrans( ARPaddleInfo *paddleInfo, ARMarkerInfo *markerInfo, int *markerFlag, int marker_num, ARParam *cparam )
! {
! int id;
!
! id = get_marker( markerInfo, markerFlag, marker_num, paddleInfo->marker_id,
! &(paddleInfo->prevInfo), &(paddleInfo->pcount) );
!
! if( id == -1 ) { paddleInfo->active = 0; return 0; }
!
! arGetTransMat(&markerInfo[id],
! paddleInfo->center, paddleInfo->width, paddleInfo->trans);
! markerFlag[id] = 1;
!
! paddleInfo->active = 1;
!
! return 0;
! }
!
! static int get_marker( ARMarkerInfo *markerInfo, int *markerFlag, int marker_num, int id,
! ARMarkerInfo *prevInfo, int *pcount )
! {
! double rlen, rlenmin, rarea, diff, diffmin;
! int cid, cdir;
! int i, j;
!
! cid = -1;
! for( i = 0; i < marker_num; i++ ) {
! if( markerInfo[i].id == id && markerFlag[i] == 0 ) {
! if( cid == -1 ) cid = i;
! else {
! if( markerInfo[cid].cf < markerInfo[i].cf ) cid = i;
! }
! }
! }
! if( cid == -1 ) {
! if( *pcount == 0 ) return -1;
!
! rlenmin = 10.0;
! for( i = 0; i < marker_num; i++ ) {
! if( markerFlag[i] ) continue;
! rarea = (double)prevInfo->area / (double)markerInfo[i].area;
! if( rarea < 0.7 || rarea > 1.43 ) continue;
! rlen = ( (markerInfo[i].pos[0] - prevInfo->pos[0])
! * (markerInfo[i].pos[0] - prevInfo->pos[0])
! + (markerInfo[i].pos[1] - prevInfo->pos[1])
! * (markerInfo[i].pos[1] - prevInfo->pos[1]) ) / markerInfo[i].area;
! if( rlen < 0.5 && rlen < rlenmin ) {
! rlenmin = rlen;
! cid = i;
! }
! }
! if( cid >= 0 && markerInfo[cid].cf < prevInfo->cf ) {
! markerInfo[cid].cf = prevInfo->cf;
! markerInfo[cid].id = prevInfo->id;
! diffmin = 10000.0 * 10000.0;
! cdir = -1;
! for( i = 0; i < 4; i++ ) {
! diff = 0.0;
! for( j = 0; j < 4; j++ ) {
! diff += (prevInfo->vertex[j][0] - markerInfo[cid].vertex[(i+j)%4][0])
! * (prevInfo->vertex[j][0] - markerInfo[cid].vertex[(i+j)%4][0])
! + (prevInfo->vertex[j][1] - markerInfo[cid].vertex[(i+j)%4][1])
! * (prevInfo->vertex[j][1] - markerInfo[cid].vertex[(i+j)%4][1]);
! }
! if( diff < diffmin ) {
! diffmin = diff;
! cdir = (prevInfo->dir - i + 4) % 4;
! }
! }
! markerInfo[cid].dir = cdir;
!
! *prevInfo = markerInfo[cid];
! *pcount = 1;
! }
! else {
! *pcount = 0;
! return -1;
! }
! }
! else {
! *prevInfo = markerInfo[cid];
! *pcount = 1;
! }
!
! return cid;
! }
--- 1,149 ----
! #include <stdio.h>
! #include <stdlib.h>
! #include <AR/ar.h>
! #include "paddle.h"
!
! static char *get_buff( char *buf, int n, FILE *fp );
!
! static int get_marker( ARMarkerInfo *markerInfo, int *markerFlag,
! int marker_num, int id,
! ARMarkerInfo *prevInfo, int *pcount );
!
!
! ARPaddleInfo *paddleInit( char *name )
! {
! FILE *fp;
! ARPaddleInfo *paddleInfo;
! char buf[256], buf1[256];
!
! if( (fp=fopen(name, "r")) == NULL ) return(0);
!
! arMalloc( paddleInfo, ARPaddleInfo, 1 );
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%s", paddleInfo->name) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%s", buf1) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
! if( (paddleInfo->marker_id = arLoadPatt(buf1)) < 0 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! get_buff(buf, 256, fp);
! if( sscanf(buf, "%lf", &paddleInfo->width) != 1 ) {
! fclose(fp); free(paddleInfo); return 0;
! }
!
! paddleInfo->center[0] = 0.0;
! paddleInfo->center[1] = 0.0;
! paddleInfo->active = 0;
! paddleInfo->pcount = 0;
! paddleInfo->pcountL = 0;
! paddleInfo->pcountR = 0;
!
! fclose(fp);
!
! return paddleInfo;
! }
!
! static char *get_buff( char *buf, int n, FILE *fp )
! {
! char *ret;
!
! for(;;) {
! ret = fgets( buf, n, fp );
! if( ret == NULL ) return(NULL);
! if( buf[0] != '\n' && buf[0] != '#' ) return(ret);
! }
! }
!
! int paddleGetTrans( ARPaddleInfo *paddleInfo, ARMarkerInfo *markerInfo, int *markerFlag, int marker_num, ARParam *cparam )
! {
! int id;
!
! id = get_marker( markerInfo, markerFlag, marker_num, paddleInfo->marker_id,
! &(paddleInfo->prevInfo), &(paddleInfo->pcount) );
!
! if( id == -1 ) { paddleInfo->active = 0; return 0; }
!
! arGetTransMat(&markerInfo[id],
! paddleInfo->center, paddleInfo->width, paddleInfo->trans);
! markerFlag[id] = 1;
!
! paddleInfo->active = 1;
!
! return 0;
! }
!
! static int get_marker( ARMarkerInfo *markerInfo, int *markerFlag, int marker_num, int id,
! ARMarkerInfo *prevInfo, int *pcount )
! {
! double rlen, rlenmin, rarea, diff, diffmin;
! int cid, cdir;
! int i, j;
!
! cid = -1;
! for( i = 0; i < marker_num; i++ ) {
! if( markerInfo[i].id == id && markerFlag[i] == 0 ) {
! if( cid == -1 ) cid = i;
! else {
! if( markerInfo[cid].cf < markerInfo[i].cf ) cid = i;
! }
! }
! }
! if( cid == -1 ) {
! if( *pcount == 0 ) return -1;
!
! rlenmin = 10.0;
! for( i = 0; i < marker_num; i++ ) {
! if( markerFlag[i] ) continue;
! rarea = (double)prevInfo->area / (double)markerInfo[i].area;
! if( rarea < 0.7 || rarea > 1.43 ) continue;
! rlen = ( (markerInfo[i].pos[0] - prevInfo->pos[0])
! * (markerInfo[i].pos[0] - prevInfo->pos[0])
! + (markerInfo[i].pos[1] - prevInfo->pos[1])
! * (markerInfo[i].pos[1] - prevInfo->pos[1]) ) / markerInfo[i].area;
! if( rlen < 0.5 && rlen < rlenmin ) {
! rlenmin = rlen;
! cid = i;
! }
! }
! if( cid >= 0 && markerInfo[cid].cf < prevInfo->cf ) {
! markerInfo[cid].cf = prevInfo->cf;
! markerInfo[cid].id = prevInfo->id;
! diffmin = 10000.0 * 10000.0;
! cdir = -1;
! for( i = 0; i < 4; i++ ) {
! diff = 0.0;
! for( j = 0; j < 4; j++ ) {
! diff += (prevInfo->vertex[j][0] - markerInfo[cid].vertex[(i+j)%4][0])
! * (prevInfo->vertex[j][0] - markerInfo[cid].vertex[(i+j)%4][0])
! + (prevInfo->vertex[j][1] - markerInfo[cid].vertex[(i+j)%4][1])
! * (prevInfo->vertex[j][1] - markerInfo[cid].vertex[(i+j)%4][1]);
! }
! if( diff < diffmin ) {
! diffmin = diff;
! cdir = (prevInfo->dir - i + 4) % 4;
! }
! }
! markerInfo[cid].dir = cdir;
!
! *prevInfo = markerInfo[cid];
! *pcount = 1;
! }
! else {
! *pcount = 0;
! return -1;
! }
! }
! else {
! *prevInfo = markerInfo[cid];
! *pcount = 1;
! }
!
! return cid;
! }
Index: paddleInteractionTest.c
===================================================================
RCS file: /cvsroot/artoolkit/artoolkit/examples/paddleInteraction/paddleInteractionTest.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** paddleInteractionTest.c 22 Nov 2004 03:37:43 -0000 1.1
--- paddleInteractionTest.c 2 Dec 2004 00:47:30 -0000 1.2
***************
*** 1,526 ****
! #ifdef _WIN32
! #include <windows.h>
! #endif
! #include <stdio.h>
! #include <stdlib.h>
! #include <string.h>
! #include <math.h>
!
! #include <GL/gl.h>
! #include <GL/glut.h>
[...1022 lines suppressed...]
! y0 = y0 + deltaY;
! glBegin(GL_LINES);
! glVertex3f(x0,y0,height);
! glVertex3f(x1,y0,height);
! glEnd();
! }
!
! glLineWidth(1.0);
!
! glEnable(GL_LIGHTING);
! glEnable(GL_LIGHT0);
! glLightfv(GL_LIGHT0, GL_POSITION, light_position);
! glLightfv(GL_LIGHT0, GL_AMBIENT, ambi);
! glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor);
!
! glDisable( GL_LIGHTING );
! glDisable( GL_DEPTH_TEST );
! argDrawMode2D();
! return 0;
! }
|