00001 /*** 00002 * \file gre/3dfmtex.h 00003 * \brief FORMULA TEXTURE texturing algorithms 00004 * 00005 * \if NODOC 00006 * $Id: 3dfmtex.h_v 1.6 2005/10/27 13:06:02 mju Exp $ 00007 * 00008 * $Log: 3dfmtex.h_v $ 00009 * Revision 1.6 2005/10/27 13:06:02 mju 00010 * Use gre namespace instead of legacy types. 00011 * 00012 * Revision 1.5 2005/10/05 21:47:10 mju 00013 * Include gre base hdr. 00014 * 00015 * Revision 1.4 2004/12/01 16:33:40 vdronov 00016 * ALIGN 00017 * 00018 * Revision 1.3 2004/07/30 19:06:58 vdronov 00019 * *** empty log message *** 00020 * 00021 * Revision 1.2 2004/06/29 14:21:20 vdronov 00022 * *** empty log message *** 00023 * 00024 * Revision 1.1 2004/06/17 17:26:06 vdronov 00025 * Initial revision 00026 * 00027 * \endif 00028 **/ 00029 00030 #ifndef INC_GRE_3DFMTEX_H 00031 #define INC_GRE_3DFMTEX_H 00032 00033 #ifndef INC_GRE_BASE_H 00034 #include <gre/base.h> 00035 #endif 00036 00037 #ifndef INC_GRE_3DTEXTUR_H 00038 #include <gre/3dtextur.h> 00039 #endif 00040 00041 #ifndef INC_MI32_COLRCONV_H 00042 #include <mi32/colrconv.h> 00043 #endif 00044 00045 namespace GRE { 00046 00047 class FORMULATEXTURE : public TEXTURE { 00048 public: 00049 00050 FORMULATEXTURE ( 00051 ); 00052 00053 virtual ~FORMULATEXTURE ( //! Destructor 00054 ); 00055 00056 private: 00057 #ifndef GENERATING_DOXYGEN_OUTPUT 00058 00059 const GRE::LAYER_FORMULA *m_Layer; 00060 DRECT2D ALIGN16(m_Extents); 00061 SPATREF::COORDREFSYS m_CoordRefSys; 00062 TRANS2D_MAPGEN m_Transformation; 00063 00064 COLORCOMPHANDLE m_CCHandle; 00065 00066 bool m_IsNullTransparent; 00067 00068 FORMULATEXTURE ( //! Copy constructor (not implemented) 00069 const FORMULATEXTURE& rhs 00070 ); 00071 00072 FORMULATEXTURE& operator= ( //! Assignment operator (not implemented) 00073 const FORMULATEXTURE& rhs 00074 ); 00075 00076 TEXTURE* v_CreateInstance ( 00077 ) { return new FORMULATEXTURE(); }; 00078 00079 ERRVALUE v_Build ( 00080 const GRE::LAYER *layer 00081 ); 00082 00083 void v_Free ( 00084 ); 00085 00086 void v_Begin ( 00087 const SCENE3D& scene 00088 ); 00089 00090 void v_End ( 00091 ); 00092 00093 const DRECT2D& v_GetExtents ( 00094 ) { return m_Extents; }; 00095 00096 void v_CreateBoundary ( 00097 REGION2D& boundary 00098 ); 00099 00100 void v_SetCoordRefSys ( 00101 const SPATREF::COORDREFSYS& CoordRefSys 00102 ); 00103 00104 const SPATREF::COORDREFSYS v_GetCoordRefSys ( 00105 ) { return m_CoordRefSys; }; 00106 00107 bool GetColor ( 00108 const DPOINT2D& point, 00109 COLOR& color 00110 ); 00111 00112 bool v_GetColor ( 00113 const INT32 line, 00114 const INT32 column, 00115 const UINT8 depth, 00116 COLOR& color 00117 ); 00118 00119 bool v_GetColor ( 00120 const DPOINT2D& point, 00121 const UINT8 depth, 00122 COLOR& color 00123 ); 00124 00125 UINT8 v_CheckDepth ( 00126 const UINT8 depth 00127 ); 00128 00129 const TRANS2D_MAPGEN& v_GetTransformationInternalToModel ( 00130 ) { return m_Transformation; }; 00131 00132 #endif // GENERATING_DOXYGEN_OUTPUT 00133 00134 }; 00135 00136 } // End of GRE namespace 00137 00138 #endif 00139 00140 00141
1.5.2