00001 /* 00002 ** --------------------------------------------------------------- 00003 ** prj.h - Project manager definitions and prototypes. 00004 ** 00005 ** --------------------------------------------------------------- 00006 */ 00007 #ifndef _PRJ_H 00008 #define _PRJ_H 00009 00031 /* 00032 ** --------------------------------------------------------------- 00033 ** Used global definitions: 00034 ** 00035 */ 00036 #include <stdio.h> /* FILE */ 00037 #include "iup.h" 00038 #include "cd.h" 00039 #include "cdiup.h" 00040 #include "vgl/vglc/vglc.h" 00041 #include "vgl/vglc/vglciup.h" 00042 #include "vgl/vglc/vglcglut.h" 00043 00044 /* 00045 ** --------------------------------------------------------------- 00046 ** Public functions: 00047 ** 00048 */ 00049 00050 /* --------------------------------------------------------------- */ 00056 void prjInit( void ); 00057 00058 /* --------------------------------------------------------------- */ 00063 void prjQuit( void ); 00064 00065 /* --------------------------------------------------------------- */ 00073 void prjResize( int width, int height ); 00074 00075 /* --------------------------------------------------------------- */ 00080 void prjRedisplay( void ); 00081 00082 /* --------------------------------------------------------------- */ 00087 void prjInfo( void ); 00088 00089 /* --------------------------------------------------------------- */ 00094 void prjHelp( void ); 00095 00096 /* --------------------------------------------------------------- */ 00109 int prjOpenModel( FILE *fd ); 00110 00111 /* --------------------------------------------------------------- */ 00120 void prjZbufferSnapShot( void ); 00121 00122 /* --------------------------------------------------------------- */ 00146 int prjRaster2WorldXY( int x, int y, double *xw, double *yw ); 00147 00148 /* --------------------------------------------------------------- 00149 ** 00150 ** This function is used to select a primitive. The given 00151 ** location is used to select the target primitive. 00152 ** The selection searches a primitive starting from 00153 ** the front to the back of the list of primitives. 00154 ** It also rebuilds the display list of the entire model so 00155 ** that the selected primitive will appear highlighted. 00156 ** This function may also be used to unselect all the primitives, 00157 ** in case no primitive is selected at the given point location. 00158 ** 00159 ** @param x - x coord. of point on target primitive (in) 00160 ** @param y - y coord. of point on target primitive (in) 00161 ** 00162 ** @return 00163 ** It returns a true (1) status if a primitive is selected. 00164 ** Otherwise, it returns a false (0) status. 00165 */ 00166 int prjSelectPrm( double x, double y ); 00167 00168 /* --------------------------------------------------------------- */ 00178 void prjSetHeightFac( double fac ); 00179 00180 /* --------------------------------------------------------------- */ 00191 double prjGetHeightFac( void ); 00192 00193 /* --------------------------------------------------------------- */ 00198 void prjResetView( void ); 00199 00200 /* --------------------------------------------------------------- */ 00207 void prjFit( void ); 00208 00209 /* --------------------------------------------------------------- */ 00214 void prjPersp( void ); 00215 00216 /* --------------------------------------------------------------- */ 00220 void prjOrtho( void ); 00221 00222 /* --------------------------------------------------------------- */ 00228 void prjProjX( void ); 00229 00230 /* --------------------------------------------------------------- */ 00236 void prjProjY( void ); 00237 00238 /* --------------------------------------------------------------- */ 00244 void prjProjZ( void ); 00245 00246 /* --------------------------------------------------------------- */ 00251 void prjManipMode( void ); 00252 00253 /* --------------------------------------------------------------- */ 00258 void prjNavigMode( void ); 00259 00260 /* --------------------------------------------------------------- */ 00266 void prjZoomMode( void ); 00267 00268 /* 00269 ** --------------------------------------------------------------- 00270 ** Project general definitions and global variables: 00271 */ 00272 00273 #ifdef _PRJ_C 00274 void *Odatascreen; 00275 VglCanvas *vglcanvas; 00276 #else 00277 00278 extern void *Odatascreen; 00280 extern VglCanvas *vglcanvas; 00281 #endif 00282 00285 #endif 00286 ---- 00287 ** Project general definitions and global variables: 00288 */ 00289 00290 #ifdef _PRJ_C 00291 void *Odatascreen; 00292 VglCanvas *vglcanvas; 00293 #else 00294 00295 extern void *Odatascreen; 00297 extern VglCanvas *vglcanvas; 00298 #endif 00299 00302 #endif