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