source: OGRE/trunk/ogrenew/Docs/api/html/OgreExternalTextureSource_8h-source.html @ 657

Revision 657, 18.4 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreExternalTextureSource.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>OgreExternalTextureSource.h</h1><a href="OgreExternalTextureSource_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025 <span class="preprocessor">#ifndef _OgreExternalTextureSource_H</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define _OgreExternalTextureSource_H</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="comment">/***************************************************************************</span>
3800029 <span class="comment">OgreExternalTextureSource.h  -  </span>
3900030 <span class="comment">    Base class that texture plugins need to derive from. This provides the hooks</span>
4000031 <span class="comment">    neccessary for a plugin developer to easily extend the functionality of dynamic textures.</span>
4100032 <span class="comment">    It makes creation/destruction of dynamic textures more streamlined. While the plugin</span>
4200033 <span class="comment">    will need to talk with Ogre for the actual modification of textures, this class allows</span>
4300034 <span class="comment">    easy integration with Ogre apps. Material script files can be used to aid in the </span>
4400035 <span class="comment">    creation of dynamic textures. Functionality can be added that is not defined here</span>
4500036 <span class="comment">    through the use of the base dictionary. For an exmaple of how to use this class and the</span>
4600037 <span class="comment">    string interface see ffmpegVideoPlugIn.</span>
4700038 <span class="comment"></span>
4800039 <span class="comment">-------------------</span>
4900040 <span class="comment">date                 : Jan 1 2004</span>
5000041 <span class="comment">email                : pjcast@yahoo.com</span>
5100042 <span class="comment">***************************************************************************/</span>
5200043
5300044 <span class="preprocessor">#include "<a class="code" href="OgreStringInterface_8h.html">OgreStringInterface.h</a>"</span>
5400045 <span class="preprocessor">#include "<a class="code" href="OgreResourceGroupManager_8h.html">OgreResourceGroupManager.h</a>"</span>
5500046
5600047 <span class="keyword">namespace </span>Ogre
5700048 {
58<a name="l00050"></a><a class="code" href="namespaceOgre.html#a649">00050</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a649">eTexturePlayMode</a>
5900051     {
6000052         <a class="code" href="namespaceOgre.html#a649a122">TextureEffectPause</a> = 0,         
6100053         <a class="code" href="namespaceOgre.html#a649a123">TextureEffectPlay_ASAP</a> = 1,     
6200054         <a class="code" href="namespaceOgre.html#a649a124">TextureEffectPlay_Looping</a> = 2   
6300055     };
6400056
65<a name="l00064"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html">00064</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> ExternalTextureSource : <span class="keyword">public</span> <a class="code" href="classOgre_1_1StringInterface.html">StringInterface</a>
6600065     {
6700066     <span class="keyword">public</span>:
6800068         ExternalTextureSource();
69<a name="l00070"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea1">00070</a>         <span class="keyword">virtual</span> ~ExternalTextureSource() {}
7000071
7100072         <span class="comment">//------------------------------------------------------------------------------//</span>
7200073         <span class="comment">/* Command objects for specifying some base features                            */</span>
7300074         <span class="comment">/* Any PlugIns wishing to add more specific params to "ExternalTextureSourcePlugins"*/</span>
7400075         <span class="comment">/* dictionary, feel free to do so, that's why this is here                      */</span>
75<a name="l00076"></a><a class="code" href="classOgre_1_1ExternalTextureSource_1_1CmdInputFileName.html">00076</a>         <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a17">_OgrePrivate</a> CmdInputFileName : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a>
7600077         {
7700078         <span class="keyword">public</span>:
7800079             <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>;
7900080             <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; val);
8000081         };
81<a name="l00082"></a><a class="code" href="classOgre_1_1ExternalTextureSource_1_1CmdFPS.html">00082</a>         <span class="keyword">class </span><a class="code" href="class__OgrePrivate.html">_OgrePrivate</a> CmdFPS : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a>
8200083         {
8300084         <span class="keyword">public</span>:
8400085             <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>;
8500086             <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; val);
8600087         };
87<a name="l00088"></a><a class="code" href="classOgre_1_1ExternalTextureSource_1_1CmdPlayMode.html">00088</a>         <span class="keyword">class </span><a class="code" href="class__OgrePrivate.html">_OgrePrivate</a> CmdPlayMode : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a>
8800089         {
8900090         <span class="keyword">public</span>:
9000091             <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>;
9100092             <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; val);
9200093         };
93<a name="l00094"></a><a class="code" href="classOgre_1_1ExternalTextureSource_1_1CmdTecPassState.html">00094</a>         <span class="keyword">class </span><a class="code" href="class__OgrePrivate.html">_OgrePrivate</a> CmdTecPassState : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a>
9400095         {
9500096         <span class="keyword">public</span>:
9600097             <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>;
9700098             <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; val);
9800099         };
9900100         <span class="comment">//--------------------------------------------------------//</span>
10000101         <span class="comment">//Base Functions that work with Command String Interface... Or can be called</span>
10100102         <span class="comment">//manually to create video through code </span>
10200103
103<a name="l00105"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea2">00105</a>         <span class="keywordtype">void</span> setInputName( <a class="code" href="namespaceOgre.html#a426">String</a> sIN ) { mInputFileName = sIN; }
104<a name="l00107"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea3">00107</a>         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getInputName( )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mInputFileName; }
105<a name="l00109"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea4">00109</a>         <span class="keywordtype">void</span> setFPS( <span class="keywordtype">int</span> iFPS ) { mFramesPerSecond = iFPS; }
106<a name="l00111"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea5">00111</a>         <span class="keyword">const</span> <span class="keywordtype">int</span> getFPS( )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mFramesPerSecond; }
107<a name="l00113"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea6">00113</a>         <span class="keywordtype">void</span> setPlayMode( eTexturePlayMode eMode )  { mMode = eMode; }
108<a name="l00115"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea7">00115</a>         <a class="code" href="namespaceOgre.html#a649">eTexturePlayMode</a> getPlayMode()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMode; }
10900116
110<a name="l00118"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea8">00118</a>         <span class="keywordtype">void</span> setTextureTecPassStateLevel( <span class="keywordtype">int</span> t, <span class="keywordtype">int</span> p, <span class="keywordtype">int</span> s )
11100119                 { mTechniqueLevel = t;mPassLevel = p;mStateLevel = s; }
112<a name="l00121"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea9">00121</a>         <span class="keywordtype">void</span> getTextureTecPassStateLevel( <span class="keywordtype">int</span>&amp; t, <span class="keywordtype">int</span>&amp; p, <span class="keywordtype">int</span>&amp; s )<span class="keyword"> const</span>
11300122 <span class="keyword">                </span>{t = mTechniqueLevel;   p = mPassLevel; s = mStateLevel;}
11400123         
11500125         <span class="keywordtype">void</span> addBaseParams();
11600126
117<a name="l00128"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea11">00128</a>         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getPlugInStringName( ) { <span class="keywordflow">return</span> mPlugInName; }
118<a name="l00130"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcea12">00130</a>         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getDictionaryStringName( ) { <span class="keywordflow">return</span> mDictionaryName; }
11900131
12000132         <span class="comment">//Pure virtual functions that plugins must Override</span>
12100134 <span class="comment"></span>        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> initialise() = 0;
12200136         <span class="keyword">virtual</span> <span class="keywordtype">void</span> shutDown() = 0;
12300137
12400142         <span class="keyword">virtual</span> <span class="keywordtype">void</span> createDefinedTexture( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; sMaterialName,
12500143             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) = 0;
12600147         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyAdvancedTexture( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; sTextureName,
12700148             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) = 0;
12800149
12900150     <span class="keyword">protected</span>:
130<a name="l00151"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcet0">00151</a>         <span class="keyword">static</span> CmdInputFileName msCmdInputFile;     
131<a name="l00152"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcet1">00152</a>         <span class="keyword">static</span> CmdFPS msCmdFramesPerSecond;         
132<a name="l00153"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcet2">00153</a>         <span class="keyword">static</span> CmdPlayMode msCmdPlayMode;           
133<a name="l00154"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcet3">00154</a>         <span class="keyword">static</span> CmdTecPassState msCmdTecPassState;   
13400155
13500156
136<a name="l00158"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep0">00158</a>         <a class="code" href="namespaceOgre.html#a426">String</a> mPlugInName;
13700159     
13800160         <span class="comment">//------ Vars used for setting/getting dictionary stuff -----------//</span>
139<a name="l00161"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep1">00161</a>         <a class="code" href="namespaceOgre.html#a649">eTexturePlayMode</a> mMode;
14000162         
141<a name="l00163"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep2">00163</a>         <a class="code" href="namespaceOgre.html#a426">String</a> mInputFileName;
14200164         
143<a name="l00165"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep3">00165</a>         <span class="keywordtype">bool</span> mUpdateEveryFrame;
14400166         
145<a name="l00167"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep5">00167</a>         <span class="keywordtype">int</span> mFramesPerSecond,
14600168             mTechniqueLevel,
14700169             mPassLevel,
14800170             mStateLevel;
14900171         <span class="comment">//------------------------------------------------------------------//</span>
15000172
15100173     <span class="keyword">protected</span>:
152<a name="l00176"></a><a class="code" href="classOgre_1_1ExternalTextureSource.html#Ogre_1_1ExternalTextureSourcep8">00176</a>         <a class="code" href="namespaceOgre.html#a426">String</a> mDictionaryName;
15300177     };
15400178 }
15500179
15600180 <span class="preprocessor">#endif</span>
157</pre></div><hr>
158<p>
159Copyright &copy; 2000-2005 by The OGRE Team<br />
160<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
161This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
162                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
163                <Work rdf:about="">
164                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
165        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
166                </Work>
167                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
168
169Last modified Sun Feb 12 12:59:44 2006
170</p>
171</body>
172</html>
Note: See TracBrowser for help on using the repository browser.