00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef INC_GRE_3DWIREFRAME_H
00025 #define INC_GRE_3DWIREFRAME_H
00026
00027 #ifndef INC_MI32_STDDEFNS_H
00028 #include <mi32/stddefns.h>
00029 #endif
00030
00031 #ifndef GENERATING_DOXYGEN_OUTPUT
00032 struct DBCALLBACKSTRUCT;
00033 struct D3POINTPARMS;
00034 struct D3POLYPARMS;
00035
00036 struct MDISPWIREFRAMEEDGE {
00037 INT32 nodefrom;
00038 INT32 nodeto;
00039 INT32 trileft;
00040 INT32 triright;
00041 };
00042
00043 struct MDISPWIREFRAMETRIANGLE {
00044 INT32 edge[3];
00045 };
00046
00047 struct _MDISPWIREFRAME {
00048 UINT8 type;
00049 UINT32 flags;
00050 struct {
00051 INT32 NumNodes;
00052 INT32 NumEdges;
00053 INT32 NumTriangles;
00054 DPOINT3D *Node;
00055 MDISPWIREFRAMEEDGE *Edge;
00056 MDISPWIREFRAMETRIANGLE *Triangle;
00057 } TIN;
00058 struct {
00059 bool Init;
00060 INT32 MaxLines;
00061 INT32 NumLines;
00062 INT32 *NumLinePoints;
00063 DPOINT3D **LinePoint;
00064 } Grid;
00065 struct {
00066 bool Init;
00067 INT32 NumColumns;
00068 INT32 NumLines;
00069 bool HasNull;
00070 double NullValue;
00071 DPOINT3D **Points;
00072 } Matrix;
00073 struct {
00074 bool Init;
00075 INT32 MaxPoints;
00076 INT32 NumPoints;
00077 DOUBLE *MaxElevation;
00078 DOUBLE *MinElevation;
00079 DPOINT3D *Point;
00080 D3POINTPARMS *D3Point;
00081 int fhandle;
00082 int dbhandle;
00083 UINT32 reason;
00084 void ((*dbcallback)(DBCALLBACKSTRUCT*, void*));
00085 void *data;
00086 } D3Point;
00087 struct {
00088 bool Init;
00089 INT32 MaxPolys;
00090 INT32 NumPolys;
00091 INT32 MaxPoints;
00092 INT32 *NumPolyPoints;
00093 DOUBLE *MaxElevation;
00094 DOUBLE *MinElevation;
00095 DPOINT3D **PolyPoint;
00096 D3POLYPARMS *D3Poly;
00097 int fhandle;
00098 int dbhandle;
00099 UINT32 reason;
00100 void ((*dbcallback)(DBCALLBACKSTRUCT*, void*));
00101 void *data;
00102 } D3Poly;
00103 };
00104 typedef _MDISPWIREFRAME *MDISPWIREFRAME;
00105
00106 #define WIREFRAMETYPE_None 0
00107 #define WIREFRAMETYPE_Grid 1
00108 #define WIREFRAMETYPE_TINMem 2
00109 #define WIREFRAMETYPE_TINObj 3
00110 #define WIREFRAMETYPE_Matrix 4
00111
00112 #define WIREFRAMEFLAG_RemoveHiddenLines 0x00000001
00113 #define WIREFRAMEFLAG_ColorSet 0x00000002
00114 #define WIREFRAMEFLAG_SurfaceChanged 0x00000004
00115 #endif // GENERATING_DOXYGEN_OUTPUT
00116
00117 #endif // INC_GRE_3DWIREFRAME_H
00118