home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / IRIT / IRITS.ZIP / VIEWOBJL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-05  |  1.8 KB  |  49 lines

  1. /*****************************************************************************
  2. *   "Irit" - the 3d polygonal solid modeller.                     *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 0.2, Mar. 1990   *
  5. ******************************************************************************
  6. * General, local to module, definitions of View Object module.             *
  7. *****************************************************************************/
  8.  
  9. #ifndef    VIEW_OBJ_LH
  10. #define    VIEW_OBJ_LH
  11.  
  12. /* Interactive menu setup structure: */
  13. #define INTERACT_NUM_OF_STRINGS    3
  14. #define INTERACT_NUM_OF_SUB_WINDOWS    9
  15. #define INTERACT_SUB_WINDOW_HEIGHT    0.04  /* Actually half Height/Width. */
  16. #define INTERACT_SUB_WINDOW_WIDTH    0.3
  17.  
  18. #define MAX_ROTATE_ANGLE    45.0 /* Maximum rates used by interact mode. */
  19. #define MAX_TRANSLATE_FACTOR    2.0
  20. #define MAX_SCALE_FACTOR    2.0
  21.  
  22. typedef struct InteractString {
  23.     RealType X, Y;
  24.     int Color;
  25.     char *Str;
  26. } InteractString;
  27. typedef struct InteractSubWindow {
  28.     RealType X, Y;                       /* Center points. */
  29.     int Color,
  30.     TextInside; /* If TRUE, Str will be in window, otherwise left to it. */
  31.     char *Str;
  32. } InteractSubWindow;
  33. typedef struct InteractWindowStruct {     /* The interactive menu structures. */
  34.     /* Rotate, Translate, Scale strings:*/
  35.     InteractString Strings[INTERACT_NUM_OF_STRINGS];
  36.     InteractSubWindow SubWindows[INTERACT_NUM_OF_SUB_WINDOWS];
  37. } InteractWindowStruct;
  38.  
  39. /* Prototypes for the View Object module: */
  40. static int GetInternal(void);
  41. static void ViewPolygon(PolygonStruct *Pl, int Color, int ShowNormals,
  42.                     MatrixType Mat, int ViewInternal);
  43. static void InteractDrawMenu(void);
  44. static void InteractHandleInput(ObjectStruct *PObj, MatrixType GlblViewMat);
  45. static void ViewGeomObjectList(ObjectStruct *PObjList);
  46. static void TestQuitView(void);
  47.  
  48. #endif    /* VIEW_OBJ_LH */
  49.