3dwireframe.h

Go to the documentation of this file.
00001 /**
00002  * \file 3dwireframe.h <gre/3dwireframe.h>
00003  * \brief GRE 3D wireframe definitions
00004  *
00005  * \if NODOC
00006  * $Id: 3dwireframe.h_v 1.4 2004/03/15 20:04:31 vdronov Exp $
00007  *
00008  * $Log: 3dwireframe.h_v $
00009  * Revision 1.4  2004/03/15 20:04:31  vdronov
00010  * added Matrix structure
00011  *
00012  * Revision 1.3  2003/09/23 13:06:38  mju
00013  * Fix compiler warnings.
00014  *
00015  * Revision 1.2  2003/09/15 13:48:59  fileserver!dwilliss
00016  * Doxygen
00017  *
00018  * Revision 1.1  2003/06/16 19:39:02  mju
00019  * Initial revision
00020  *
00021  * \endif
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;             //!< id of the left triangle
00040    INT32 triright;               //!< id of the right triangle
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  //!< Color set for wireframe, don't use view wireframe color
00114 #define  WIREFRAMEFLAG_SurfaceChanged     0x00000004  //!< Reference surface has changed
00115 #endif // GENERATING_DOXYGEN_OUTPUT
00116 
00117 #endif   // INC_GRE_3DWIREFRAME_H
00118 

Generated on Tue Dec 14 13:18:12 2004 for TNTsdk by  doxygen 1.3.8-20040913