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

Generated on Thu Apr 26 04:44:39 2007 for TNTsdk by  doxygen 1.5.2