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

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

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreMaterial.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>OgreMaterial.h</h1><a href="OgreMaterial_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 _Material_H__</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define _Material_H__</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
3800029
3900030 <span class="preprocessor">#include "<a class="code" href="OgreResource_8h.html">OgreResource.h</a>"</span>
4000031 <span class="preprocessor">#include "<a class="code" href="OgreIteratorWrappers_8h.html">OgreIteratorWrappers.h</a>"</span>
4100032 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
4200033 <span class="preprocessor">#include "<a class="code" href="OgreColourValue_8h.html">OgreColourValue.h</a>"</span>
4300034 <span class="preprocessor">#include "<a class="code" href="OgreBlendMode_8h.html">OgreBlendMode.h</a>"</span>
4400035
4500036
4600037 <span class="keyword">namespace </span>Ogre {
4700038
4800039     <span class="comment">// Forward declaration</span>
4900040     <span class="keyword">class </span>MaterialPtr;
5000041
51<a name="l00079"></a><a class="code" href="classOgre_1_1Material.html">00079</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> Material : <span class="keyword">public</span> <a class="code" href="classOgre_1_1Resource.html">Resource</a>
5200080     {
53<a name="l00081"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialn0">00081</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>;
54<a name="l00082"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialn1">00082</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1MaterialManager.html">MaterialManager</a>;
5500083
5600084     <span class="keyword">public</span>:
57<a name="l00086"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialw0">00086</a>         <span class="keyword">typedef</span> std::vector&lt;Real&gt; <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialw0">LodDistanceList</a>;
58<a name="l00087"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialw1">00087</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1ConstVectorIterator.html">ConstVectorIterator&lt;LodDistanceList&gt;</a> <a class="code" href="classOgre_1_1ConstVectorIterator.html">LodDistanceIterator</a>;
5900088     <span class="keyword">protected</span>:
6000089
6100090
6200093         <span class="keywordtype">void</span> applyDefaults(<span class="keywordtype">void</span>);
6300094
64<a name="l00095"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx0">00095</a>         <span class="keyword">typedef</span> std::vector&lt;Technique*&gt; <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx0">Techniques</a>;
65<a name="l00096"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp0">00096</a>         <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx0">Techniques</a> mTechniques;
66<a name="l00097"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp1">00097</a>         <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx0">Techniques</a> mSupportedTechniques;
67<a name="l00098"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx1">00098</a>         <span class="keyword">typedef</span> std::map&lt;unsigned short, Technique*&gt; <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx1">BestTechniqueList</a>;
68<a name="l00099"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp2">00099</a>         <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialx1">BestTechniqueList</a> mBestTechniqueList;
6900100
70<a name="l00101"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp3">00101</a>         <a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialw0">LodDistanceList</a> mLodDistances;
71<a name="l00102"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp4">00102</a>         <span class="keywordtype">bool</span> mReceiveShadows;
72<a name="l00103"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp5">00103</a>         <span class="keywordtype">bool</span> mTransparencyCastsShadows;
73<a name="l00105"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialp6">00105</a>         <span class="keywordtype">bool</span> mCompilationRequired;
7400106
7500112         <span class="keywordtype">void</span> fixupBestTechniqueList(<span class="keywordtype">void</span>);
7600113
7700116         <span class="keywordtype">void</span> loadImpl(<span class="keywordtype">void</span>);
7800117
7900122         <span class="keywordtype">void</span> unloadImpl(<span class="keywordtype">void</span>);
80<a name="l00124"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialb4">00124</a>         size_t calculateSize(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } <span class="comment">// TODO </span>
8100125     <span class="keyword">public</span>:
8200126
8300129         Material(<a class="code" href="classOgre_1_1ResourceManager.html">ResourceManager</a>* creator, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <a class="code" href="namespaceOgre.html#a485">ResourceHandle</a> handle,
8400130             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; group, <span class="keywordtype">bool</span> isManual = <span class="keyword">false</span>, <a class="code" href="classOgre_1_1ManualResourceLoader.html">ManualResourceLoader</a>* loader = 0);
8500131
8600132         ~Material();
8700135         Material&amp; operator=( <span class="keyword">const</span> Material&amp; rhs );
8800136
8900140         <span class="keywordtype">bool</span> isTransparent(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
9000141
91<a name="l00155"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala4">00155</a>         <span class="keywordtype">void</span> setReceiveShadows(<span class="keywordtype">bool</span> enabled) { mReceiveShadows = enabled; }
92<a name="l00157"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala5">00157</a>         <span class="keywordtype">bool</span> getReceiveShadows(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mReceiveShadows; }
9300158
94<a name="l00167"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala6">00167</a>         <span class="keywordtype">void</span> setTransparencyCastsShadows(<span class="keywordtype">bool</span> enabled) { mTransparencyCastsShadows = enabled; }
95<a name="l00169"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala7">00169</a>         <span class="keywordtype">bool</span> getTransparencyCastsShadows(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTransparencyCastsShadows; }
9600170
9700185         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* createTechnique(<span class="keywordtype">void</span>);
9800187         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* getTechnique(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
9900189         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getNumTechniques(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
10000191         <span class="keywordtype">void</span> removeTechnique(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);     
10100193         <span class="keywordtype">void</span> removeAllTechniques(<span class="keywordtype">void</span>);
102<a name="l00194"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materialw2">00194</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1VectorIterator.html">VectorIterator&lt;Techniques&gt;</a> <a class="code" href="classOgre_1_1VectorIterator.html">TechniqueIterator</a>;
10300196         <a class="code" href="classOgre_1_1VectorIterator.html">TechniqueIterator</a> getTechniqueIterator(<span class="keywordtype">void</span>);
10400203         <a class="code" href="classOgre_1_1VectorIterator.html">TechniqueIterator</a> getSupportedTechniqueIterator(<span class="keywordtype">void</span>);
10500204         
10600206         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* getSupportedTechnique(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
10700208         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getNumSupportedTechniques(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
10800209
109<a name="l00215"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala17">00215</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getNumLodLevels(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{
11000216             <span class="keywordflow">return</span> static_cast&lt;unsigned short&gt;(mBestTechniqueList.size()); }
11100217
11200229         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* getBestTechnique(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> lodIndex = 0);
11300230
11400231
11500237         <a class="code" href="classOgre_1_1MaterialPtr.html">MaterialPtr</a> clone(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; newName, <span class="keywordtype">bool</span> changeGroup = <span class="keyword">false</span>,
11600238             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; newGroup = StringUtil::BLANK) <span class="keyword">const</span>;
11700239
11800244         <span class="keywordtype">void</span> copyDetailsTo(<a class="code" href="classOgre_1_1MaterialPtr.html">MaterialPtr</a>&amp; mat) <span class="keyword">const</span>;
11900245
12000261         <span class="keywordtype">void</span> compile(<span class="keywordtype">bool</span> autoManageTextureUnits = <span class="keyword">true</span>);
12100262
12200263         <span class="comment">// -------------------------------------------------------------------------------</span>
12300264         <span class="comment">// The following methods are to make migration from previous versions simpler</span>
12400265         <span class="comment">// and to make code easier to write when dealing with simple materials</span>
12500266         <span class="comment">// They set the properties which have been moved to Pass for all Techniques and all Passes</span>
12600267
12700277         <span class="keywordtype">void</span> setAmbient(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue);
12800278
12900288         <span class="keywordtype">void</span> setAmbient(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; ambient);
13000289
13100299         <span class="keywordtype">void</span> setDiffuse(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue, <a class="code" href="namespaceOgre.html#a420">Real</a> alpha);
13200300
13300310         <span class="keywordtype">void</span> setDiffuse(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; diffuse);
13400311
13500321         <span class="keywordtype">void</span> setSpecular(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue, <a class="code" href="namespaceOgre.html#a420">Real</a> alpha);
13600322
13700332         <span class="keywordtype">void</span> setSpecular(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; specular);
13800333
13900343         <span class="keywordtype">void</span> setShininess(<a class="code" href="namespaceOgre.html#a420">Real</a> val);
14000344
14100354         <span class="keywordtype">void</span> setSelfIllumination(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue);
14200355
14300365         <span class="keywordtype">void</span> setSelfIllumination(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; selfIllum);
14400366
14500376         <span class="keywordtype">void</span> setDepthCheckEnabled(<span class="keywordtype">bool</span> enabled);
14600377
14700387         <span class="keywordtype">void</span> setDepthWriteEnabled(<span class="keywordtype">bool</span> enabled);
14800388
14900398         <span class="keywordtype">void</span> setDepthFunction( CompareFunction func );
15000399
15100409         <span class="keywordtype">void</span> setColourWriteEnabled(<span class="keywordtype">bool</span> enabled);
15200410
15300420         <span class="keywordtype">void</span> setCullingMode( CullingMode mode );
15400421
15500431         <span class="keywordtype">void</span> setManualCullingMode( ManualCullingMode mode );
15600432
15700442         <span class="keywordtype">void</span> setLightingEnabled(<span class="keywordtype">bool</span> enabled);
15800443
15900453         <span class="keywordtype">void</span> setShadingMode( ShadeOptions mode );
16000454
16100464         <span class="keywordtype">void</span> setFog(
16200465             <span class="keywordtype">bool</span> overrideScene,
16300466             FogMode mode = FOG_NONE,
16400467             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::White,
16500468             <a class="code" href="namespaceOgre.html#a420">Real</a> expDensity = 0.001, <a class="code" href="namespaceOgre.html#a420">Real</a> linearStart = 0.0, <a class="code" href="namespaceOgre.html#a420">Real</a> linearEnd = 1.0 );
16600469
16700479         <span class="keywordtype">void</span> setDepthBias(<a class="code" href="namespaceOgre.html#a422">ushort</a> bias);
16800480
16900489         <span class="keywordtype">void</span> setTextureFiltering(TextureFilterOptions filterType);
17000498         <span class="keywordtype">void</span> setTextureAnisotropy(<span class="keywordtype">int</span> maxAniso);
17100499
17200509         <span class="keywordtype">void</span> setSceneBlending( <span class="keyword">const</span> SceneBlendType sbt );
17300510
17400520         <span class="keywordtype">void</span> setSceneBlending( <span class="keyword">const</span> SceneBlendFactor sourceFactor, <span class="keyword">const</span> SceneBlendFactor destFactor);
17500521
17600522
17700524         <span class="keywordtype">void</span> _notifyNeedsRecompile(<span class="keywordtype">void</span>);
17800525
17900538         <span class="keywordtype">void</span> setLodLevels(<span class="keyword">const</span> LodDistanceList&amp; lodDistances);
18000546         LodDistanceIterator getLodDistanceIterator(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
18100547
18200549         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getLodIndex(<a class="code" href="namespaceOgre.html#a420">Real</a> d) <span class="keyword">const</span>;
18300551         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getLodIndexSquaredDepth(<a class="code" href="namespaceOgre.html#a420">Real</a> squaredDepth) <span class="keyword">const</span>;
18400552
185<a name="l00555"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala50">00555</a>         <span class="keywordtype">void</span> touch(<span class="keywordtype">void</span>)
18600556         {
18700557             <span class="keywordflow">if</span> (mCompilationRequired)
18800558                 compile();
18900559             <span class="comment">// call superclass</span>
19000560             Resource::touch();
19100561         }
19200562
193<a name="l00566"></a><a class="code" href="classOgre_1_1Material.html#Ogre_1_1Materiala51">00566</a>         <span class="keywordtype">bool</span> getCompilationRequired()<span class="keyword"> const</span>
19400567 <span class="keyword">        </span>{
19500568             <span class="keywordflow">return</span> mCompilationRequired;
19600569         }
19700570
19800571
19900572     };
20000573
201<a name="l00580"></a><a class="code" href="classOgre_1_1MaterialPtr.html">00580</a>     <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> MaterialPtr : <span class="keyword">public</span> <a class="code" href="classOgre_1_1SharedPtr.html">SharedPtr</a>&lt;Material&gt;
20200581     {
20300582     <span class="keyword">public</span>:
204<a name="l00583"></a><a class="code" href="classOgre_1_1MaterialPtr.html#Ogre_1_1MaterialPtra0">00583</a>         MaterialPtr() : <a class="code" href="classOgre_1_1SharedPtr.html">SharedPtr</a>&lt;Material&gt;() {}
205<a name="l00584"></a><a class="code" href="classOgre_1_1MaterialPtr.html#Ogre_1_1MaterialPtra1">00584</a>         <span class="keyword">explicit</span> MaterialPtr(Material* rep) : <a class="code" href="classOgre_1_1SharedPtr.html">SharedPtr</a>&lt;Material&gt;(rep) {}
206<a name="l00585"></a><a class="code" href="classOgre_1_1MaterialPtr.html#Ogre_1_1MaterialPtra2">00585</a>         MaterialPtr(<span class="keyword">const</span> MaterialPtr&amp; r) : <a class="code" href="classOgre_1_1SharedPtr.html">SharedPtr</a>&lt;Material&gt;(r) {}
207<a name="l00586"></a><a class="code" href="classOgre_1_1MaterialPtr.html#Ogre_1_1MaterialPtra3">00586</a>         MaterialPtr(<span class="keyword">const</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; r) : <a class="code" href="classOgre_1_1SharedPtr.html">SharedPtr</a>&lt;Material&gt;()
20800587         {
20900588             <span class="comment">// lock &amp; copy other mutex pointer</span>
21000589             <a class="code" href="OgrePrerequisites_8h.html#a14">OGRE_LOCK_MUTEX</a>(*r.OGRE_AUTO_MUTEX_NAME)
21100590             <a class="code" href="OgrePrerequisites_8h.html#a19">OGRE_COPY_AUTO_SHARED_MUTEX</a>(r.OGRE_AUTO_MUTEX_NAME)
21200591             pRep = static_cast&lt;Material*&gt;(r.<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra12">getPointer</a>());
21300592             pUseCount = r.<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra11">useCountPointer</a>();
21400593             <span class="keywordflow">if</span> (pUseCount)
21500594             {
21600595                 ++(*pUseCount);
21700596             }
21800597         }
21900598
220<a name="l00600"></a><a class="code" href="classOgre_1_1MaterialPtr.html#Ogre_1_1MaterialPtra4">00600</a>         MaterialPtr&amp; operator=(<span class="keyword">const</span> <a class="code" href="classOgre_1_1SharedPtr.html">ResourcePtr</a>&amp; r)
22100601         {
22200602             <span class="keywordflow">if</span> (pRep == static_cast&lt;Material*&gt;(r.<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra12">getPointer</a>()))
22300603                 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
22400604             release();
22500605             <span class="comment">// lock &amp; copy other mutex pointer</span>
22600606             <a class="code" href="OgrePrerequisites_8h.html#a14">OGRE_LOCK_MUTEX</a>(*r.OGRE_AUTO_MUTEX_NAME)
22700607             <a class="code" href="OgrePrerequisites_8h.html#a19">OGRE_COPY_AUTO_SHARED_MUTEX</a>(r.OGRE_AUTO_MUTEX_NAME)
22800608             pRep = static_cast&lt;Material*&gt;(r.<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra12">getPointer</a>());
22900609             pUseCount = r.<a class="code" href="classOgre_1_1SharedPtr.html#Ogre_1_1SharedPtra11">useCountPointer</a>();
23000610             <span class="keywordflow">if</span> (pUseCount)
23100611             {
23200612                 ++(*pUseCount);
23300613             }
23400614             <span class="keywordflow">return</span> *<span class="keyword">this</span>;
23500615         }
23600616     };
23700617
23800618 } <span class="comment">//namespace </span>
23900619
24000620 <span class="preprocessor">#endif</span>
241</pre></div><hr>
242<p>
243Copyright &copy; 2000-2005 by The OGRE Team<br />
244<!--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/>
245This 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/>
246                <!--/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#">
247                <Work rdf:about="">
248                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
249        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
250                </Work>
251                <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> -->
252
253Last modified Sun Feb 12 12:59:47 2006
254</p>
255</body>
256</html>
Note: See TracBrowser for help on using the repository browser.