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