00001 /*** 00002 * \file gre/3dfmtex.h 00003 * \brief FORMULA TEXTURE texturing algorithms 00004 * 00005 * \if NODOC 00006 * $Id: 3dfmtex.h_v 1.9 2011/10/20 12:34:31 mju Exp $ 00007 * 00008 * $Log: 3dfmtex.h_v $ 00009 * Revision 1.9 2011/10/20 12:34:31 mju 00010 * Remove redundant hdr. 00011 * 00012 * Revision 1.8 2011/10/06 14:27:48 mju 00013 * Use trans2dmapgen hdr. 00014 * 00015 * Revision 1.7 2006/10/18 15:25:44 mju 00016 * Use colorcompstruct* instead of colorcomphandle typedef. 00017 * 00018 * Revision 1.1 2004/06/17 17:26:06 vdronov 00019 * Initial revision 00020 * \endif 00021 **/ 00022 00023 #ifndef INC_GRE_3DFMTEX_H 00024 #define INC_GRE_3DFMTEX_H 00025 00026 #ifndef INC_GRE_3DTEXTUR_H 00027 #include <gre/3dtextur.h> 00028 #endif 00029 00030 #ifndef INC_MI32_TRANS2D_MAPGEN_H 00031 #include <mi32/trans2dmapgen.h> 00032 #endif 00033 00034 #ifndef GENERATING_DOXYGEN_OUTPUT 00035 struct COLORCOMPSTRUCT; 00036 #endif 00037 00038 namespace GRE { 00039 00040 class FORMULATEXTURE : public TEXTURE { 00041 public: 00042 00043 FORMULATEXTURE ( 00044 ); 00045 00046 virtual ~FORMULATEXTURE ( 00047 ); 00048 00049 private: 00050 #ifndef GENERATING_DOXYGEN_OUTPUT 00051 00052 const GRE::LAYER_FORMULA *m_Layer; 00053 DRECT2D ALIGN16(m_Extents); 00054 SPATREF::COORDREFSYS m_CoordRefSys; 00055 TRANS2D_MAPGEN m_Transformation; 00056 00057 COLORCOMPSTRUCT *m_CCHandle; 00058 00059 bool m_IsNullTransparent; 00060 00061 FORMULATEXTURE ( 00062 const FORMULATEXTURE& rhs 00063 ); 00064 00065 FORMULATEXTURE& operator= ( 00066 const FORMULATEXTURE& rhs 00067 ); 00068 00069 TEXTURE* v_CreateInstance ( 00070 ) { return new FORMULATEXTURE(); }; 00071 00072 ERRVALUE v_Build ( 00073 const GRE::LAYER *layer 00074 ); 00075 00076 void v_Free ( 00077 ); 00078 00079 void v_Begin ( 00080 const SCENE3D& scene 00081 ); 00082 00083 void v_End ( 00084 ); 00085 00086 const DRECT2D& v_GetExtents ( 00087 ) { return m_Extents; }; 00088 00089 void v_CreateBoundary ( 00090 REGION2D& boundary 00091 ); 00092 00093 void v_SetCoordRefSys ( 00094 const SPATREF::COORDREFSYS& CoordRefSys 00095 ); 00096 00097 const SPATREF::COORDREFSYS v_GetCoordRefSys ( 00098 ) { return m_CoordRefSys; }; 00099 00100 bool GetColor ( 00101 const DPOINT2D& point, 00102 COLOR& color 00103 ); 00104 00105 bool v_GetColor ( 00106 const INT32 line, 00107 const INT32 column, 00108 const UINT8 depth, 00109 COLOR& color 00110 ); 00111 00112 bool v_GetColor ( 00113 const DPOINT2D& point, 00114 const UINT8 depth, 00115 COLOR& color 00116 ); 00117 00118 UINT8 v_CheckDepth ( 00119 const UINT8 depth 00120 ); 00121 00122 const TRANS2D_MAPGEN& v_GetTransformationInternalToModel ( 00123 ) { return m_Transformation; }; 00124 00125 #endif // GENERATING_DOXYGEN_OUTPUT 00126 00127 }; 00128 00129 } // End of GRE namespace 00130 00131 #endif 00132 00133 00134
1.6.1