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 /* ----------------------------------^^-------------------------------------- */
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001