00001
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