Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 04e5d8c10ae76748689b4e7f48e0fa33 > files > 630

libogre5-devel-1.0.0-1mdk.i586.rpm

<html>
<head>
<title>OgreNode.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&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>
<h1>OgreNode.h</h1><a href="OgreNode_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://www.ogre3d.org/</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 _Node_H__</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define _Node_H__</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
00029 
00030 <span class="preprocessor">#include "<a class="code" href="OgreMatrix3_8h.html">OgreMatrix3.h</a>"</span>
00031 <span class="preprocessor">#include "<a class="code" href="OgreMatrix4_8h.html">OgreMatrix4.h</a>"</span>
00032 <span class="preprocessor">#include "<a class="code" href="OgreQuaternion_8h.html">OgreQuaternion.h</a>"</span>
00033 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span>
00034 <span class="preprocessor">#include "<a class="code" href="OgreRenderable_8h.html">OgreRenderable.h</a>"</span>
00035 <span class="preprocessor">#include "<a class="code" href="OgreIteratorWrappers_8h.html">OgreIteratorWrappers.h</a>"</span>
00036 
00037 <span class="keyword">namespace </span>Ogre {
00038 
00039 
<a name="l00050"></a><a class="code" href="classOgre_1_1Node.html">00050</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> Node : <span class="keyword">public</span> <a class="code" href="classOgre_1_1Renderable.html">Renderable</a>
00051     {
00052     <span class="keyword">public</span>:
<a name="l00055"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointw5">00055</a>         <span class="keyword">enum</span> TransformSpace
00056         {
00058             TS_LOCAL,
00060             TS_PARENT,
00062             TS_WORLD
00063         };
<a name="l00064"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointw0">00064</a>         <span class="keyword">typedef</span> HashMap&lt;String, Node*&gt; <a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointw0">ChildNodeMap</a>;
<a name="l00065"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointw1">00065</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator&lt;ChildNodeMap&gt;</a> <a class="code" href="classOgre_1_1MapIterator.html">ChildNodeIterator</a>;
00066 
00067     <span class="keyword">protected</span>:
<a name="l00069"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp4">00069</a>         Node* mParent;
<a name="l00071"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp5">00071</a>         <a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointw0">ChildNodeMap</a> mChildren;
00072 
<a name="l00073"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointx0">00073</a>         <span class="keyword">typedef</span> std::set&lt;Node*&gt; <a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointx0">ChildUpdateSet</a>;
<a name="l00075"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp6">00075</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointx0">ChildUpdateSet</a> mChildrenToUpdate;
<a name="l00077"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp7">00077</a>         <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mNeedParentUpdate;
<a name="l00079"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp8">00079</a>         <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mNeedChildUpdate;
<a name="l00081"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp9">00081</a>         <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mParentNotified ;
00082 
<a name="l00084"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp10">00084</a>         <a class="code" href="namespaceOgre.html#a426">String</a> mName;
00085 
<a name="l00087"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointt0">00087</a>         <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> msNextGeneratedNameExt;
00088 
<a name="l00090"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp11">00090</a>         <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mOrientation;
00091 
<a name="l00093"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp12">00093</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mPosition;
00094 
<a name="l00096"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp13">00096</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mScale;
00097 
<a name="l00099"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp14">00099</a>         <span class="keywordtype">bool</span> mInheritScale;
00100 
<a name="l00102"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp15">00102</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1MaterialPtr.html">MaterialPtr</a> mpMaterial;
00103 
00105         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setParent(Node* parent);
00106 
<a name="l00114"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp16">00114</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mDerivedOrientation;
00115 
<a name="l00123"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp17">00123</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mDerivedPosition;
00124 
<a name="l00132"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp18">00132</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mDerivedScale;
00133 
00140         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _updateFromParent(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00141 
00143         <span class="keyword">virtual</span> Node* createChildImpl(<span class="keywordtype">void</span>) = 0;
00144 
00146         <span class="keyword">virtual</span> Node* createChildImpl(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name) = 0;
00147 
00154         <span class="keywordtype">void</span> makeTransform(
00155             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; position, 
00156             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale, 
00157             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>&amp; orientation, 
00158             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; destMatrix ) <span class="keyword">const</span>;
00159 
00165         <span class="keywordtype">void</span> makeInverseTransform(
00166             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; position, 
00167             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale, 
00168             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>&amp; orientation, 
00169             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; destMatrix );
00170 
<a name="l00172"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp19">00172</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mInitialPosition;
<a name="l00174"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp20">00174</a>         <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mInitialOrientation;
<a name="l00176"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp21">00176</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mInitialScale;
00177 
00178         <span class="comment">// Weight of applied animations so far, used for blending</span>
<a name="l00179"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp22">00179</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mAccumAnimWeight;
00180         <span class="comment">// The total weighted translation from the initial state so far</span>
<a name="l00181"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp23">00181</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mTransFromInitial;
00182         <span class="comment">// The total weighted rotation from the initial state so far</span>
<a name="l00183"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp24">00183</a>         <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mRotFromInitial;
00184         <span class="comment">// The total weighted scale from the initial state so far</span>
<a name="l00185"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp25">00185</a>         <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> mScaleFromInitial;
00186 
<a name="l00188"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp26">00188</a>         <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> mCachedTransform;
<a name="l00189"></a><a class="code" href="classOgre_1_1Node.html#Ogre_1_1TagPointp27">00189</a>         <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mCachedTransformOutOfDate;
00190 
00191 
00192     <span class="keyword">public</span>:
00197         Node();
00202         Node(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
00203 
00204         <span class="keyword">virtual</span> ~Node();  
00205 
00207         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getName(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00208 
00211         <span class="keyword">virtual</span> Node* getParent(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00212 
00215         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp; getOrientation() <span class="keyword">const</span>;
00216 
00219         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setOrientation( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>&amp; q );
00220 
00223         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setOrientation( <a class="code" href="namespaceOgre.html#a420">Real</a> w, <a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z);
00224 
00227         <span class="keyword">virtual</span> <span class="keywordtype">void</span> resetOrientation(<span class="keywordtype">void</span>);
00228 
00231         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setPosition(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; pos);
00232 
00235         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setPosition(<a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z);
00236 
00239         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; getPosition(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00240 
00254         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setScale(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale);
00255 
00269         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setScale(<a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z);
00270 
00273         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; getScale(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00274 
00288         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInheritScale(<span class="keywordtype">bool</span> inherit);
00289 
00294         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getInheritScale(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00295 
00305         <span class="keyword">virtual</span> <span class="keywordtype">void</span> scale(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale);
00306 
00316         <span class="keyword">virtual</span> <span class="keywordtype">void</span> scale(<a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z);
00317 
00327         <span class="keyword">virtual</span> <span class="keywordtype">void</span> translate(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; d, TransformSpace relativeTo = TS_PARENT);
00341         <span class="keyword">virtual</span> <span class="keywordtype">void</span> translate(<a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z, TransformSpace relativeTo = TS_PARENT);
00361         <span class="keyword">virtual</span> <span class="keywordtype">void</span> translate(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix3.html">Matrix3</a>&amp; axes, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; move, TransformSpace relativeTo = TS_PARENT);
00381         <span class="keyword">virtual</span> <span class="keywordtype">void</span> translate(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix3.html">Matrix3</a>&amp; axes, <a class="code" href="namespaceOgre.html#a420">Real</a> x, <a class="code" href="namespaceOgre.html#a420">Real</a> y, <a class="code" href="namespaceOgre.html#a420">Real</a> z, TransformSpace relativeTo = TS_PARENT);
00382 
00385         <span class="keyword">virtual</span> <span class="keywordtype">void</span> roll(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; angle, TransformSpace relativeTo = TS_LOCAL);
00386 <span class="preprocessor">#ifndef OGRE_FORCE_ANGLE_TYPES</span>
00387 <span class="preprocessor"></span>        <span class="keyword">inline</span> <span class="keywordtype">void</span> roll(<a class="code" href="namespaceOgre.html#a420">Real</a> degrees, TransformSpace relativeTo = TS_LOCAL) {
00388             roll ( <a class="code" href="classOgre_1_1Angle.html">Angle</a>(degrees), relativeTo );
00389         }
00390 <span class="preprocessor">#endif//OGRE_FORCE_ANGLE_TYPES</span>
00391 <span class="preprocessor"></span>
00394         <span class="keyword">virtual</span> <span class="keywordtype">void</span> pitch(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; angle, TransformSpace relativeTo = TS_LOCAL);
00395 <span class="preprocessor">#ifndef OGRE_FORCE_ANGLE_TYPES</span>
00396 <span class="preprocessor"></span>        <span class="keyword">inline</span> <span class="keywordtype">void</span> pitch(<a class="code" href="namespaceOgre.html#a420">Real</a> degrees, TransformSpace relativeTo = TS_LOCAL) {
00397             pitch ( <a class="code" href="classOgre_1_1Angle.html">Angle</a>(degrees), relativeTo );
00398         }
00399 <span class="preprocessor">#endif//OGRE_FORCE_ANGLE_TYPES</span>
00400 <span class="preprocessor"></span>
00403         <span class="keyword">virtual</span> <span class="keywordtype">void</span> yaw(<span class="keyword">const</span> Radian&amp; angle, TransformSpace relativeTo = TS_LOCAL);
00404 <span class="preprocessor">#ifndef OGRE_FORCE_ANGLE_TYPES</span>
00405 <span class="preprocessor"></span>        <span class="keyword">inline</span> <span class="keywordtype">void</span> yaw(<a class="code" href="namespaceOgre.html#a420">Real</a> degrees, TransformSpace relativeTo = TS_LOCAL) {
00406             yaw ( Angle(degrees), relativeTo );
00407         }
00408 <span class="preprocessor">#endif//OGRE_FORCE_ANGLE_TYPES</span>
00409 <span class="preprocessor"></span>
00412         <span class="keyword">virtual</span> <span class="keywordtype">void</span> rotate(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; axis, <span class="keyword">const</span> Radian&amp; angle, TransformSpace relativeTo = TS_LOCAL);
00413 <span class="preprocessor">#ifndef OGRE_FORCE_ANGLE_TYPES</span>
00414 <span class="preprocessor"></span>        <span class="keyword">inline</span> <span class="keywordtype">void</span> rotate(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; axis, <a class="code" href="namespaceOgre.html#a420">Real</a> degrees, TransformSpace relativeTo = TS_LOCAL) {
00415             rotate ( axis, Angle(degrees), relativeTo );
00416         }
00417 <span class="preprocessor">#endif//OGRE_FORCE_ANGLE_TYPES</span>
00418 <span class="preprocessor"></span>
00421         <span class="keyword">virtual</span> <span class="keywordtype">void</span> rotate(<span class="keyword">const</span> Quaternion&amp; q, TransformSpace relativeTo = TS_LOCAL);
00422 
00425         <span class="keyword">virtual</span> Matrix3 getLocalAxes(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00426 
00433         <span class="keyword">virtual</span> Node* createChild(
00434             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; translate = Vector3::ZERO, 
00435             <span class="keyword">const</span> Quaternion&amp; rotate = Quaternion::IDENTITY );
00436 
00446         <span class="keyword">virtual</span> Node* createChild(<span class="keyword">const</span> String&amp; name, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; translate = Vector3::ZERO, <span class="keyword">const</span> Quaternion&amp; rotate = Quaternion::IDENTITY);
00447 
00451         <span class="keyword">virtual</span> <span class="keywordtype">void</span> addChild(Node* child);
00452 
00455         <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> numChildren(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00456 
00461         <span class="keyword">virtual</span> Node* getChild(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index) <span class="keyword">const</span>;    
00462 
00465         <span class="keyword">virtual</span> Node* getChild(<span class="keyword">const</span> String&amp; name) <span class="keyword">const</span>;
00466 
00477         <span class="keyword">virtual</span> ChildNodeIterator getChildIterator(<span class="keywordtype">void</span>);
00478 
00486         <span class="keyword">virtual</span> Node* removeChild(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
00494         <span class="keyword">virtual</span> Node* removeChild(Node* child);
00495 
00501         <span class="keyword">virtual</span> Node* removeChild(<span class="keyword">const</span> String&amp; name);
00505         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllChildren(<span class="keywordtype">void</span>);
00506 
00509         <span class="keyword">virtual</span> <span class="keyword">const</span> Quaternion &amp; _getDerivedOrientation(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00510 
00513         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; _getDerivedPosition(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00514 
00517         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; _getDerivedScale(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00518 
00528         <span class="keyword">virtual</span> Matrix4 _getFullTransform(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00529 
00542         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _update(<span class="keywordtype">bool</span> updateChildren, <span class="keywordtype">bool</span> parentHasChanged);
00543 
00550         <span class="keyword">const</span> MaterialPtr&amp; getMaterial(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00557         <span class="keywordtype">void</span> getRenderOperation(RenderOperation&amp; op);
00564         <span class="keywordtype">void</span> getWorldTransforms(Matrix4* xform) <span class="keyword">const</span>;
00566         <span class="keyword">const</span> Quaternion&amp; getWorldOrientation(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00568         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; getWorldPosition(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00569 
00580         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInitialState(<span class="keywordtype">void</span>);
00581 
00583         <span class="keyword">virtual</span> <span class="keywordtype">void</span> resetToInitialState(<span class="keywordtype">void</span>);
00584 
00589         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; getInitialPosition(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00590 
00592         <span class="keyword">virtual</span> <span class="keyword">const</span> Quaternion&amp; getInitialOrientation(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00593 
00595         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; getInitialScale(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00596 
00605         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _weightedTransform(<a class="code" href="namespaceOgre.html#a420">Real</a> weight, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; translate, 
00606             <span class="keyword">const</span> Quaternion&amp; rotate, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale);
00607 
00609         <a class="code" href="namespaceOgre.html#a420">Real</a> getSquaredViewDepth(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam) <span class="keyword">const</span>;
00610 
00616         <span class="keyword">virtual</span> <span class="keywordtype">void</span> needUpdate();
00618         <span class="keyword">virtual</span> <span class="keywordtype">void</span> requestUpdate(Node* child);
00620         <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelUpdate(Node* child);
00621 
00623         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>&amp; getLights(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00624 
00625 
00626 
00627     };
00628 
00629 } <span class="comment">//namespace</span>
00630 
00631 <span class="preprocessor">#endif</span>
</pre></div><p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:09 2005
</p>
</body>
</html>