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.6 2005/10/05 16:29:14 mju Exp $
00007  *
00008  * $Log: 3dwireframe.h_v $
00009  * Revision 1.6  2005/10/05 16:29:14  mju
00010  * Include gre base hdr.
00011  *
00012  * Revision 1.5  2005/01/20 16:53:25  mju
00013  * Include other hdrs needed to compile.
00014  *
00015  * Revision 1.4  2004/03/15 20:04:31  vdronov
00016  * added Matrix structure
00017  *
00018  * Revision 1.3  2003/09/23 13:06:38  mju
00019  * Fix compiler warnings.
00020  *
00021  * Revision 1.2  2003/09/15 13:48:59  fileserver!dwilliss
00022  * Doxygen
00023  *
00024  * Revision 1.1  2003/06/16 19:39:02  mju
00025  * Initial revision
00026  *
00027  * \endif
00028 **/
00029 
00030 #ifndef  INC_GRE_3DWIREFRAME_H
00031 #define  INC_GRE_3DWIREFRAME_H
00032 
00033 #ifndef  INC_GRE_BASE_H
00034    #include <gre/base.h>
00035 #endif
00036 
00037 #ifndef GENERATING_DOXYGEN_OUTPUT
00038 struct DBCALLBACKSTRUCT;
00039 class REGION2D;
00040 
00041 struct MDISPWIREFRAMEEDGE {
00042    INT32 nodefrom;
00043    INT32 nodeto;
00044    INT32 trileft;             //!< id of the left triangle
00045    INT32 triright;               //!< id of the right triangle
00046    };
00047 
00048 struct MDISPWIREFRAMETRIANGLE {
00049    INT32 edge[3];
00050    };
00051 
00052 struct _MDISPWIREFRAME {
00053    UINT8 type;
00054    UINT32 flags;
00055    struct {
00056       INT32 NumNodes;
00057       INT32 NumEdges;
00058       INT32 NumTriangles;
00059       DPOINT3D *Node;
00060       MDISPWIREFRAMEEDGE *Edge;
00061       MDISPWIREFRAMETRIANGLE *Triangle;
00062       } TIN;
00063    struct {
00064       bool Init;
00065       INT32 MaxLines;
00066       INT32 NumLines;
00067       INT32 *NumLinePoints;
00068       DPOINT3D **LinePoint;
00069       } Grid;
00070    struct {
00071       bool Init;
00072       INT32 NumColumns;
00073       INT32 NumLines;
00074       bool HasNull;
00075       double NullValue;
00076       DPOINT3D **Points;
00077       } Matrix;
00078    struct {
00079       bool Init;
00080       INT32 MaxPoints;
00081       INT32 NumPoints;
00082       DOUBLE *MaxElevation;
00083       DOUBLE *MinElevation;
00084       DPOINT3D *Point;
00085       D3POINTPARMS *D3Point;
00086       int fhandle;
00087       int dbhandle;
00088       UINT32 reason;
00089       void ((*dbcallback)(DBCALLBACKSTRUCT*, void*));
00090       void *data;
00091       } D3Point;
00092    struct {
00093       bool Init;
00094       INT32 MaxPolys;
00095       INT32 NumPolys;
00096       INT32 MaxPoints;
00097       INT32 *NumPolyPoints;
00098       DOUBLE *MaxElevation;
00099       DOUBLE *MinElevation;
00100       DPOINT3D **PolyPoint;
00101       D3POLYPARMS *D3Poly;
00102       int fhandle;
00103       int dbhandle;
00104       UINT32 reason;
00105       void ((*dbcallback)(DBCALLBACKSTRUCT*, void*));
00106       void *data;
00107       } D3Poly;
00108    };
00109 typedef _MDISPWIREFRAME *MDISPWIREFRAME;
00110 
00111 #define  WIREFRAMETYPE_None      0
00112 #define  WIREFRAMETYPE_Grid      1
00113 #define  WIREFRAMETYPE_TINMem 2
00114 #define  WIREFRAMETYPE_TINObj 3
00115 #define  WIREFRAMETYPE_Matrix 4
00116 
00117 #define  WIREFRAMEFLAG_RemoveHiddenLines  0x00000001
00118 #define  WIREFRAMEFLAG_ColorSet           0x00000002  //!< Color set for wireframe, don't use view wireframe color
00119 #define  WIREFRAMEFLAG_SurfaceChanged     0x00000004  //!< Reference surface has changed
00120 
00121 int            _mdispWireframeDraw (MDISPWIREFRAME, GRE_LAYERDC*);
00122 int            _mdispWireframeDrawFlat (const REGION2D& LayerObjRegion, GRE_LAYERDC&);
00123 void           _mdispWireframeFree (MDISPWIREFRAME);
00124 
00125 #endif // GENERATING_DOXYGEN_OUTPUT
00126 
00127 #endif   // INC_GRE_3DWIREFRAME_H
00128 

Generated on Wed May 31 15:26:38 2006 for TNTsdk by  doxygen 1.3.8-20040913