Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

/lib/libtvuvisu3D/nr_gvx.h

00001 /*
00002  * -------------------------------------------------------------------------
00003  * File:    nr_gvx.h: 01 11 00
00004  * Content: Protypes of Geomview Wrapper Routines
00005  * -------------------------------------------------------------------------
00006  * 10:50, Monday 26 March 2001
00007  * Insults & Complaints : Nathanael.Rota@sophia.inria.fr
00008  * -------------------------------------------------------------------------
00009  */
00010 
00011 #ifndef NR_GVX_H
00012 #define NR_GVX_H
00013 
00014 #include <stdio.h>
00015 #include <stdlib.h>
00016 #include <string.h>
00017 #include <unistd.h>
00018 #include <math.h>
00019 
00020 #include "nr_gvx_point.h"
00021 
00022 extern char* m_CameraParameters;
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif /* __cplusplus */
00027   
00028   /* 
00029      Initialistation and Destruction of gvx window -
00030      nr_gvx_init() function can't be omitted, then the gvx window will be 
00031      640x480 sized with black background */
00032   
00033   void nr_gvx_init(int width, int height, int bg_red, int bg_green, int bg_blue);
00034   void nr_gvx_kill(void);
00035 
00036 // TVU
00037         void nr_vrml_init(void);
00038 // TVU
00039   /*
00040      Snapshot Routines - 
00041      nr_gvx_pnm():  save on pnm format,
00042      nr_gvx_vrml(): save on vrml format, 
00043   */
00044   
00045   void nr_gvx_ppm(char * file_name);
00046   void nr_gvx_vrml(char * file_name);
00047   
00048   
00049   /* 
00050      Graphic Routines - 
00051   */
00052   
00053   /* Display all the objects drawn since the last call
00054    */
00055   void nr_gvx_show(void); 
00056 
00057   /* Draw a line between P0 (x0,y0,z0) and P1 (x1,y1,z1)
00058    */
00059   void nr_gvx_draw_line(int x0, int y0, int z0, int x1, int y1, int z1, 
00060                         int size, int red, int green, int blue);
00061 
00062   /* Draw a cube centered in P0 (x0,y0,z0)
00063    */
00064   void nr_gvx_draw_cube(int x0, int y0, int z0, 
00065                         int size, int red, int green, int blue);
00066 
00067   /* Draw a sphere centered in P0 (x0,y0,z0)
00068    */
00069   void nr_gvx_draw_sphere(int x0, int y0, int z0, 
00070                           int size, int red, int green, int blue);
00071 
00072   /* Draw a dodecaedre centered in P0 (x0,y0,z0), very usefull to 
00073      approximate sphere if Geomview isn't compiled with opengl
00074   */
00075   void nr_gvx_draw_dodec(int x0, int y0, int z0, 
00076                          int size, int red, int green, int blue);
00077 
00078   /* Draw a pointer centered in P0 (x0,y0,z0) pointed like negative z axis
00079    */
00080   void nr_gvx_draw_pointer(int x0, int y0, int z0, 
00081                            int size, int red, int green, int blue);
00082 
00083   /* Draw a triangle (face) between P0 (x0,y0,z0), P1 (x1,y1,z1) and P2 (x2,y2,z2) 
00084    */
00085   void nr_gvx_draw_triangle(int x0, int y0, int z0, int x1, int y1, int z1, int x2, int y2, int z2, 
00086                           int red, int green, int blue);
00087 
00088   /* Draw a polygone described by poly
00089    */
00090   void nr_gvx_draw_polygon(nr_gvx_polygon_t poly, int height, 
00091                             int red, int green, int blue);
00092 
00093   /* 
00094      Special System Routines 
00095   */
00096   
00097   FILE * nr_gvx_get_port(void); 
00098   int    nr_gvx_get_pid(void);
00099   
00100 #ifdef __cplusplus
00101 }
00102 #endif /* __cplusplus */
00103 
00104 #endif  /* NR_GVX_H */
00105 /* ----------------------------------^^-------------------------------------- */

Generated at Wed Aug 6 15:58:58 2003 for TVU's libraries for video surveillance: by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001