User manual:   Main Page   Overview   Installation   User Interface   Tutorial   Example   FAQ   Version Updates
Reference manual:   Class List   Class Members   Globals, enums and defines

params.h

Go to the documentation of this file.
00001 // params.h
00002 
00003 #ifndef PARAMS_H
00004 #define PARAMS_H
00005 
00006 #ifndef SKIP_THIS
00007 
00008 #define MESH_RESET              WM_USER+1
00009 #define MESH_PROJECTION WM_USER+2
00010 #define MESH_ROTATE             WM_USER+3
00011 #define MESH_SCALE              WM_USER+4
00012 #define MESH_TRANSLATE  WM_USER+5
00013 
00014 typedef struct translate_params {
00015         int dx, dy, dz;
00016 } translate_params;
00017 
00018 typedef struct rotate_params {
00019         float angle;
00020         int dx, dy, dz;
00021 } rotate_params;
00022 
00023 typedef enum {TRANSLATE, SCALE, ROTATE, NONE} TRANSFORM_MODE;
00024 
00025 typedef enum {FACE, EDGE, VERTEX} PICKING_MODE;
00026 
00027 #endif
00028 
00031 
00033 #define MAX3(a, b, c) ((a>b) ? (a>c ? a : c) : (b>c ? b : c))
00034 
00035 #define MAX(a, b)        ((a>b) ? a : b)
00036 
00038 #define MIN3(a, b, c) ((a<b) ? (a<c ? a : c) : (b<c ? b : c))
00039 
00040 #define MIN(a, b)        ((a<b) ? a : b)
00041 
00043 
00046 
00048 #define MAX_STRING_SIZE  100
00049 
00050 #define MAX_FACE_VERTICES 3
00051 
00053 #define DEFAULT_LINE_WIDTH 5.0
00054 
00055 #define DEFAULT_SPHERE_RADIUS 1.0
00056 
00057 #define DEFAULT_CYLINDER_RADIUS 1.0
00058 
00060 
00063 
00065 typedef long    VertexID;
00066         
00068 typedef long    EdgeID;         
00069 
00076 typedef long    FaceID; 
00078 typedef long    LineID;         
00080 typedef long    SphereID;       
00082 typedef long    CylinderID;     
00084 typedef long    SceneID;        
00085 
00087 
00089 typedef enum { OK , 
00090         NullPointerGiven  , 
00091         OversizedString  , 
00092         FileNotFound  , 
00093         MeshNotValid  , 
00094         WrongFileFormat  , 
00095         VertexNotFound  , 
00096         EdgeNotFound  , 
00097         FaceNotFound  , 
00098         LineNotFound  , 
00099         SphereNotFound  , 
00100         CylinderNotFound  , 
00101         SceneNotFound  , 
00102         VerticesNotIncident  , 
00103         EdgesNotIncident  , 
00104         FacesNotIncident  , 
00105         SameVertexGiven  , 
00106         SameEdgeGiven  , 
00107         SameFaceGiven  , 
00108         FaceExists  , 
00109         TimeOut  , 
00110         VertexIsOrphan  , 
00111         SceneUnremovable  
00112 } RESULT;
00113 
00115 typedef enum { SOLID , 
00116         WIREFRAME , 
00117         SOLID_AND_WIREFRAME , 
00118         VERTICES , 
00119         HIGHLIGHT_ONLY 
00120 } RENDER_MODE;
00121 
00123 typedef enum {AXIS_X, AXIS_Y, AXIS_Z} AXIS;
00124 
00126 typedef enum {R=0, G, B} COLOR;
00127 
00134 RESULT getVersion(char* version);
00135 
00136 #endif
00137 
00138 
00139 

MeshMaker 5.2 Manual
This software library was written by Roni Raab, ronir@cs.technion.ac.il.
Last updated on May 2003.
This software is for academic and research use only.