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