<html> <head> <title>OgreEntity.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>OgreEntity.h</h1><a href="OgreEntity_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> 00002 <span class="comment">-----------------------------------------------------------------------------</span> 00003 <span class="comment">This source file is part of OGRE</span> 00004 <span class="comment"> (Object-oriented Graphics Rendering Engine)</span> 00005 <span class="comment">For the latest info, see http://ogre.sourceforge.net/</span> 00006 <span class="comment"></span> 00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span> 00008 <span class="comment">Also see acknowledgements in Readme.html</span> 00009 <span class="comment"></span> 00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span> 00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span> 00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span> 00013 <span class="comment">version.</span> 00014 <span class="comment"></span> 00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span> 00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span> 00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span> 00018 <span class="comment"></span> 00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span> 00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span> 00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span> 00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span> 00023 <span class="comment">-----------------------------------------------------------------------------</span> 00024 <span class="comment">*/</span> 00025 <span class="preprocessor">#ifndef __Entity_H__</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define __Entity_H__</span> 00027 <span class="preprocessor"></span> 00028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span> 00029 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span> 00030 00031 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span> 00032 <span class="preprocessor">#include "<a class="code" href="OgreMovableObject_8h.html">OgreMovableObject.h</a>"</span> 00033 <span class="preprocessor">#include "<a class="code" href="OgreAnimationState_8h.html">OgreAnimationState.h</a>"</span> 00034 <span class="preprocessor">#include "<a class="code" href="OgreQuaternion_8h.html">OgreQuaternion.h</a>"</span> 00035 <span class="preprocessor">#include "<a class="code" href="OgreVector3_8h.html">OgreVector3.h</a>"</span> 00036 <span class="preprocessor">#include "<a class="code" href="OgreHardwareBufferManager_8h.html">OgreHardwareBufferManager.h</a>"</span> 00037 <span class="preprocessor">#include "<a class="code" href="OgreMesh_8h.html">OgreMesh.h</a>"</span> 00038 00039 <span class="keyword">namespace </span>Ogre { <a name="l00071"></a><a class="code" href="classOgre_1_1Entity.html">00071</a> <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> Entity: <span class="keyword">public</span> <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a> 00072 { 00073 <span class="comment">// Allow SceneManager full access</span> <a name="l00074"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityn0">00074</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>; <a name="l00075"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityn1">00075</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>; 00076 <span class="keyword">public</span>: <a name="l00077"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw0">00077</a> <span class="keyword">typedef</span> std::set<Entity*> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw0">EntitySet</a>; 00078 00079 <span class="keyword">protected</span>: 00080 00083 Entity(); 00086 Entity( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name, <a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a>& mesh, <a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>* creator); 00087 <a name="l00090"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp0">00090</a> <a class="code" href="namespaceOgre.html#a426">String</a> mName; 00091 <a name="l00094"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp1">00094</a> <a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a> mMesh; 00095 <a name="l00098"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx0">00098</a> <span class="keyword">typedef</span> std::vector<SubEntity*> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx0">SubEntityList</a>; <a name="l00099"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp2">00099</a> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx0">SubEntityList</a> mSubEntityList; 00100 <a name="l00104"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp3">00104</a> <a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>* mCreatorSceneManager; 00105 00106 <a name="l00108"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp4">00108</a> <a class="code" href="namespaceOgre.html#a0">AnimationStateSet</a>* mAnimationState; 00109 <a name="l00111"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityt0">00111</a> <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a426">String</a> msMovableType; 00112 00113 <a name="l00115"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp5">00115</a> <a class="code" href="classOgre_1_1TempBlendedBufferInfo.html">TempBlendedBufferInfo</a> mTempBlendedBuffer; <a name="l00117"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp6">00117</a> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* mSharedBlendedVertexData; 00118 00121 <span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* findBlendedVertexData(<span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* orig); 00124 <a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>* findSubEntityForVertexData(<span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* orig); 00125 00128 <span class="keywordtype">void</span> extractTempBufferInfo(<a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* sourceData, <a class="code" href="classOgre_1_1TempBlendedBufferInfo.html">TempBlendedBufferInfo</a>* info); 00130 <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* cloneVertexDataRemoveBlendInfo(<span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* source); 00132 <span class="keywordtype">void</span> prepareTempBlendBuffers(<span class="keywordtype">void</span>); 00133 <a name="l00135"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp7">00135</a> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> *mBoneMatrices; <a name="l00136"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp8">00136</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mNumBoneMatrices; <a name="l00138"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp9">00138</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mFrameAnimationLastUpdated; 00139 00141 <span class="keywordtype">void</span> updateAnimation(<span class="keywordtype">void</span>); 00142 <a name="l00146"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp10">00146</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *mFrameBonesLastUpdated; 00147 <a name="l00153"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp11">00153</a> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw0">EntitySet</a>* mSharedSkeletonEntities; 00154 00156 <span class="keywordtype">void</span> cacheBoneMatrices(<span class="keywordtype">void</span>); 00157 <a name="l00159"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp12">00159</a> <span class="keywordtype">bool</span> mDisplaySkeleton; <a name="l00161"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp13">00161</a> <span class="keywordtype">bool</span> mHardwareSkinning; <a name="l00163"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp14">00163</a> <span class="keywordtype">bool</span> mVertexProgramInUse; 00164 00165 <a name="l00167"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp15">00167</a> <a class="code" href="namespaceOgre.html#a422">ushort</a> mMeshLodIndex; 00168 <a name="l00170"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp16">00170</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mMeshLodFactorInv; <a name="l00172"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp17">00172</a> <a class="code" href="namespaceOgre.html#a422">ushort</a> mMinMeshLodIndex; <a name="l00174"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp18">00174</a> <a class="code" href="namespaceOgre.html#a422">ushort</a> mMaxMeshLodIndex; 00175 <a name="l00177"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp19">00177</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mMaterialLodFactorInv; <a name="l00179"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp20">00179</a> <a class="code" href="namespaceOgre.html#a422">ushort</a> mMinMaterialLodIndex; <a name="l00181"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp21">00181</a> <a class="code" href="namespaceOgre.html#a422">ushort</a> mMaxMaterialLodIndex; 00182 <a name="l00184"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp22">00184</a> <span class="keywordtype">bool</span> mUsingManualLOD; <a name="l00190"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx1">00190</a> <span class="keyword">typedef</span> std::vector<Entity*> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx1">LODEntityList</a>; <a name="l00191"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp23">00191</a> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx1">LODEntityList</a> mLodEntityList; 00192 <a name="l00195"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp24">00195</a> <a class="code" href="classOgre_1_1SkeletonInstance.html">SkeletonInstance</a>* mSkeletonInstance; 00196 00198 <span class="keywordtype">void</span> buildSubEntityList(<a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a>& mesh, <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityx0">SubEntityList</a>* sublist); 00199 00201 <span class="keywordtype">void</span> attachObjectImpl(<a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a> *pMovable, <a class="code" href="classOgre_1_1TagPoint.html">TagPoint</a> *pAttachingPoint); 00202 00204 <span class="keywordtype">void</span> detachObjectImpl(<a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* pObject); 00205 00207 <span class="keywordtype">void</span> detachAllObjectsImpl(<span class="keywordtype">void</span>); 00208 00210 <span class="keywordtype">void</span> reevaluateVertexProcessing(<span class="keywordtype">void</span>); 00211 00212 <span class="keyword">public</span>: <a name="l00214"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw1">00214</a> <span class="keyword">typedef</span> std::map<String, MovableObject*> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw1">ChildObjectList</a>; 00215 <span class="keyword">protected</span>: <a name="l00216"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp25">00216</a> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw1">ChildObjectList</a> mChildObjectList; 00217 00218 <a name="l00220"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp26">00220</a> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> *mFullBoundingBox; 00221 <a name="l00222"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp27">00222</a> <span class="keywordtype">bool</span> mNormaliseNormals; 00223 <a name="l00224"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityp28">00224</a> ShadowRenderableList mShadowRenderables; 00225 <a name="l00227"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html">00227</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> EntityShadowRenderable : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ShadowRenderable.html">ShadowRenderable</a> 00228 { 00229 <span class="keyword">protected</span>: <a name="l00230"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep0">00230</a> Entity* mParent; 00231 <span class="comment">// Shared link to position buffer</span> <a name="l00232"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep1">00232</a> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> mPositionBuffer; 00233 <span class="comment">// Shared link to w-coord buffer (optional)</span> <a name="l00234"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep2">00234</a> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> mWBuffer; 00235 <span class="comment">// Link to original vertex data</span> <a name="l00236"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep3">00236</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* mOriginalVertexData; 00237 <span class="comment">// Original position buffer source binding</span> <a name="l00238"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep4">00238</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mOriginalPosBufferBinding; <a name="l00240"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablep5">00240</a> <a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>* mSubEntity; 00241 00242 00243 <span class="keyword">public</span>: 00244 EntityShadowRenderable(Entity* parent, 00245 <a class="code" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>* indexBuffer, <span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* vertexData, 00246 <span class="keywordtype">bool</span> createSeparateLightCap, <a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>* subent, <span class="keywordtype">bool</span> isLightCap = <span class="keyword">false</span>); 00247 ~EntityShadowRenderable(); 00249 <span class="keywordtype">void</span> getWorldTransforms(<a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>* xform) <span class="keyword">const</span>; 00251 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>& getWorldOrientation(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00253 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>& getWorldPosition(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00254"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablea5">00254</a> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> getPositionBuffer(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mPositionBuffer; } <a name="l00255"></a><a class="code" href="classOgre_1_1Entity_1_1EntityShadowRenderable.html#Ogre_1_1Entity_1_1EntityShadowRenderablea6">00255</a> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> getWBuffer(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mWBuffer; } 00257 <span class="keywordtype">void</span> rebindPositionBuffer(<span class="keywordtype">void</span>); 00259 <span class="keywordtype">bool</span> isVisible(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00260 00261 }; 00262 <span class="keyword">public</span>: 00265 ~Entity(); 00266 00269 <a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a>& getMesh(<span class="keywordtype">void</span>); 00270 00273 <a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>* getSubEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index); 00274 00278 <a class="code" href="classOgre_1_1SubEntity.html">SubEntity</a>* getSubEntity( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name ); 00279 00282 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getNumSubEntities(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00283 00293 Entity* clone( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& newName ); 00294 00303 <span class="keywordtype">void</span> setMaterialName(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00304 00307 <span class="keywordtype">void</span> _notifyCurrentCamera(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam); 00308 00310 <span class="keywordtype">void</span> setRenderQueueGroup(RenderQueueGroupID queueID); 00311 00314 <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>& getBoundingBox(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00315 00317 <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> getChildObjectsBoundingBox(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00318 00321 <span class="keywordtype">void</span> _updateRenderQueue(<a class="code" href="classOgre_1_1RenderQueue.html">RenderQueue</a>* queue); 00322 00324 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& getName(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00325 00327 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& getMovableType(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00328 00335 <a class="code" href="classOgre_1_1AnimationState.html">AnimationState</a>* getAnimationState(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00342 <a class="code" href="namespaceOgre.html#a0">AnimationStateSet</a>* getAllAnimationStates(<span class="keywordtype">void</span>); 00343 00346 <span class="keywordtype">void</span> setDisplaySkeleton(<span class="keywordtype">bool</span> display); 00347 00348 00375 <span class="keywordtype">void</span> setMeshLodBias(<a class="code" href="namespaceOgre.html#a420">Real</a> factor, <a class="code" href="namespaceOgre.html#a422">ushort</a> maxDetailIndex = 0, <a class="code" href="namespaceOgre.html#a422">ushort</a> minDetailIndex = 99); 00376 00403 <span class="keywordtype">void</span> setMaterialLodBias(<a class="code" href="namespaceOgre.html#a420">Real</a> factor, <a class="code" href="namespaceOgre.html#a422">ushort</a> maxDetailIndex = 0, <a class="code" href="namespaceOgre.html#a422">ushort</a> minDetailIndex = 99); 00404 00406 <span class="keywordtype">void</span> setRenderDetail(SceneDetailLevel renderDetail); 00407 00418 <span class="keywordtype">void</span> attachObjectToBone(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &boneName, <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a> *pMovable, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> &offsetOrientation = Quaternion::IDENTITY, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &offsetPosition = Vector3::ZERO); 00419 00421 <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* detachObjectFromBone(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &movableName); 00422 00429 <span class="keywordtype">void</span> detachObjectFromBone(<a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* obj); 00430 00432 <span class="keywordtype">void</span> detachAllObjectsFromBone(<span class="keywordtype">void</span>); 00433 <a name="l00434"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw2">00434</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<ChildObjectList></a> <a class="code" href="classOgre_1_1MapIterator.html">ChildObjectListIterator</a>; 00436 <a class="code" href="classOgre_1_1MapIterator.html">ChildObjectListIterator</a> getAttachedObjectIterator(<span class="keywordtype">void</span>); 00438 <a class="code" href="namespaceOgre.html#a420">Real</a> getBoundingRadius(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00447"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya26">00447</a> <span class="keywordtype">void</span> setNormaliseNormals(<span class="keywordtype">bool</span> normalise) { mNormaliseNormals = normalise; } 00448 <a name="l00450"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya27">00450</a> <span class="keywordtype">bool</span> getNormaliseNormals(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> mNormaliseNormals; } 00451 00452 00454 <a class="code" href="classOgre_1_1EdgeData.html">EdgeData</a>* getEdgeList(<span class="keywordtype">void</span>); 00456 ShadowRenderableListIterator getShadowVolumeRenderableIterator( 00457 ShadowTechnique shadowTechnique, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* light, 00458 <a class="code" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>* indexBuffer, 00459 <span class="keywordtype">bool</span> extrudeVertices, <a class="code" href="namespaceOgre.html#a420">Real</a> extrusionDistance, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags = 0 ); 00460 <a name="l00462"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya30">00462</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>* _getBoneMatrices(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mBoneMatrices;} <a name="l00464"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya31">00464</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> _getNumBoneMatrices(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mNumBoneMatrices; } <a name="l00466"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya32">00466</a> <span class="keywordtype">bool</span> hasSkeleton(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mSkeletonInstance != 0; } <a name="l00468"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya33">00468</a> <a class="code" href="classOgre_1_1SkeletonInstance.html">SkeletonInstance</a>* getSkeleton(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mSkeletonInstance; } <a name="l00478"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya34">00478</a> <span class="keywordtype">bool</span> isHardwareSkinningEnabled(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mHardwareSkinning; } 00479 00481 <span class="keywordtype">void</span> _notifyAttached(<a class="code" href="classOgre_1_1Node.html">Node</a>* parent, <span class="keywordtype">bool</span> isTagPoint = <span class="keyword">false</span>); 00482 00487 <span class="keywordtype">void</span> shareSkeletonInstanceWith(Entity* entity); 00488 00489 00492 <span class="keywordtype">void</span> Entity::stopSharingSkeletonInstance(); 00493 00494 <a name="l00498"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya38">00498</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> sharesSkeletonInstance()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mSharedSkeletonEntities != NULL; } 00499 <a name="l00504"></a><a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entitya39">00504</a> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Entity.html#Ogre_1_1Entityw0">EntitySet</a>* getSkeletonInstanceSharingSet()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mSharedSkeletonEntities; } 00505 00513 <span class="keywordtype">void</span> _updateAnimation(<span class="keywordtype">void</span>); 00514 00518 <span class="keyword">const</span> <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* _getSharedBlendedVertexData(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00519 00520 00521 00522 }; 00523 00524 } <span class="comment">// namespace</span> 00525 00526 <span class="preprocessor">#endif</span> </pre></div><p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:19:05 2005 </p> </body> </html>