Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > c200d180bc1063a7706e0da42a546b51 > files > 87

atlascpp-devel-0.6.1-7.fc12.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Atlas-C++: RootEntity.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
<h1>RootEntity.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// This file may be redistributed and modified only under the terms of</span>
<a name="l00002"></a>00002 <span class="comment">// the GNU Lesser General Public License (See COPYING for details).</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright 2000-2001 Stefanus Du Toit and Aloril.</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright 2001-2005 Alistair Riddoch.</span>
<a name="l00005"></a>00005 <span class="comment">// Automatically generated using gen_cpp.py.</span>
<a name="l00006"></a>00006 
<a name="l00007"></a>00007 <span class="preprocessor">#ifndef ATLAS_OBJECTS_ENTITY_ROOTENTITY_H</span>
<a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define ATLAS_OBJECTS_ENTITY_ROOTENTITY_H</span>
<a name="l00009"></a>00009 <span class="preprocessor"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;Atlas/Objects/Root.h&gt;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;Atlas/Objects/SmartPtr.h&gt;</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="keyword">namespace </span>Atlas { <span class="keyword">namespace </span>Objects { <span class="keyword">namespace </span>Entity { 
<a name="l00014"></a>00014 
<a name="l00021"></a>00021 <span class="keyword">class </span>RootEntityData;
<a name="l00022"></a>00022 <span class="keyword">typedef</span> SmartPtr&lt;RootEntityData&gt; RootEntity;
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> ROOT_ENTITY_NO = 2;
<a name="l00025"></a>00025 
<a name="l00028"></a>00028 
<a name="l00030"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html">00030</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> : <span class="keyword">public</span> <a class="code" href="class_atlas_1_1_objects_1_1_root_data.html" title="All objects inherit from this.">RootData</a>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">protected</span>:
<a name="l00034"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1b5bcb5e61fc40860f93aae403e72401">00034</a>     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1b5bcb5e61fc40860f93aae403e72401" title="Construct a RootEntityData class definition.">RootEntityData</a>(<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *defaults = NULL) : 
<a name="l00035"></a>00035         <a class="code" href="class_atlas_1_1_objects_1_1_root_data.html" title="All objects inherit from this.">RootData</a>((<a class="code" href="class_atlas_1_1_objects_1_1_root_data.html" title="All objects inherit from this.">RootData</a>*)defaults)
<a name="l00036"></a>00036     {
<a name="l00037"></a>00037         m_class_no = ROOT_ENTITY_NO;
<a name="l00038"></a>00038     }
<a name="l00040"></a>00040     <span class="keyword">virtual</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2d1e99213ef8bc0ef47d5d8f34eecb9b" title="Default destructor.">~RootEntityData</a>();
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00044"></a>00044     <span class="keyword">virtual</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> * <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#de0014628ee2c4aef56d88ee7fcd4153" title="Copy this object.">copy</a>() <span class="keyword">const</span>;
<a name="l00045"></a>00045 
<a name="l00047"></a>00047     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ca2ebc1c3952142590265a39b7f03956" title="Is this instance of some class?">instanceOf</a>(<span class="keywordtype">int</span> classNo) <span class="keyword">const</span>;
<a name="l00048"></a>00048 
<a name="l00051"></a>00051     <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#5a9d61c85255750e59ac26c91efdd8d9" title="Retrieve the attribute &amp;quot;name&amp;quot;.">copyAttr</a>(<span class="keyword">const</span> std::string&amp; name, <a class="code" href="class_atlas_1_1_message_1_1_element.html" title="Multi-type container.">Atlas::Message::Element</a> &amp; attr) <span class="keyword">const</span>;
<a name="l00053"></a>00053     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#97c794ec33a324216acf862bd1530bd9" title="Set the attribute &amp;quot;name&amp;quot; to the value given by&amp;quot;attr&amp;quot;.">setAttr</a>(<span class="keyword">const</span> std::string&amp; name,
<a name="l00054"></a>00054                          <span class="keyword">const</span> <a class="code" href="class_atlas_1_1_message_1_1_element.html" title="Multi-type container.">Atlas::Message::Element</a>&amp; attr);
<a name="l00056"></a>00056     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#a55aea0390e716504166fe34f3705174" title="Remove the attribute &amp;quot;name&amp;quot;. This will not work for static attributes.">removeAttr</a>(<span class="keyword">const</span> std::string&amp; name);
<a name="l00057"></a>00057 
<a name="l00059"></a>00059     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0f088cfa79965afd777ea44aacd9ff4c" title="Send the contents of this object to a Bridge.">sendContents</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a> &amp; b) <span class="keyword">const</span>;
<a name="l00060"></a>00060 
<a name="l00062"></a>00062     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#f8d54934867fa288fe854f59cfa4edf9" title="Write this object to an existing Element.">addToMessage</a>(Atlas::Message::MapType &amp;) <span class="keyword">const</span>;
<a name="l00063"></a>00063 
<a name="l00065"></a>00065     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3eba1194c08f79ccfbde1fa0738dd84d" title="Set the &amp;quot;loc&amp;quot; attribute.">setLoc</a>(<span class="keyword">const</span> std::string&amp; val);
<a name="l00067"></a>00067     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e1cba9f09e39b21c89b087511d38828d" title="Set the &amp;quot;pos&amp;quot; attribute.">setPos</a>(<span class="keyword">const</span> std::vector&lt;double&gt;&amp; val);
<a name="l00069"></a>00069     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#7e15dc57a95e8bbb55c2257f5a0a27f2" title="Set the &amp;quot;pos&amp;quot; attribute AsList.">setPosAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val);
<a name="l00071"></a>00071     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#da58231bf75d61e1d314ec77f49b9c58" title="Set the &amp;quot;velocity&amp;quot; attribute.">setVelocity</a>(<span class="keyword">const</span> std::vector&lt;double&gt;&amp; val);
<a name="l00073"></a>00073     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#9b4af59ca158bc18c0725398e120192c" title="Set the &amp;quot;velocity&amp;quot; attribute AsList.">setVelocityAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val);
<a name="l00075"></a>00075     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#d9269de85ae24e26fd00321d891aad43" title="Set the &amp;quot;contains&amp;quot; attribute.">setContains</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; val);
<a name="l00077"></a>00077     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3e9e1ab255e10d5d7711e4821f945789" title="Set the &amp;quot;contains&amp;quot; attribute AsList.">setContainsAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val);
<a name="l00079"></a>00079     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#892cc6c2535ed02ff9162c65a6e21ca8" title="Set the &amp;quot;stamp_contains&amp;quot; attribute.">setStampContains</a>(<span class="keywordtype">double</span> val);
<a name="l00080"></a>00080 
<a name="l00082"></a>00082     <span class="keyword">inline</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b5bdbaf90c485089cf31e41ba83673f3" title="Retrieve the &amp;quot;loc&amp;quot; attribute.">getLoc</a>() <span class="keyword">const</span>;
<a name="l00084"></a>00084     <span class="keyword">inline</span> std::string&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#eddd4203393ab93822b6ed73865c5068" title="Retrieve the &amp;quot;loc&amp;quot; attribute as a non-const reference.">modifyLoc</a>();
<a name="l00086"></a>00086     <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1ffba3237980e1bf63f673d1ba1ef1e0" title="Retrieve the &amp;quot;pos&amp;quot; attribute.">getPos</a>() <span class="keyword">const</span>;
<a name="l00088"></a>00088     <span class="keyword">inline</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ca5221e507665d66b4dce20807de311e" title="Retrieve the &amp;quot;pos&amp;quot; attribute as a non-const reference.">modifyPos</a>();
<a name="l00090"></a>00090     <span class="keyword">inline</span> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#6c115bd39edb2b97aa65daf3137311fe" title="Retrieve the &amp;quot;pos&amp;quot; attribute AsList.">getPosAsList</a>() <span class="keyword">const</span>;
<a name="l00092"></a>00092     <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#86e581c267ac48f9313df5ced9fdf36e" title="Retrieve the &amp;quot;velocity&amp;quot; attribute.">getVelocity</a>() <span class="keyword">const</span>;
<a name="l00094"></a>00094     <span class="keyword">inline</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#57f4ce28cf8bb5d01bc37478ca58483f" title="Retrieve the &amp;quot;velocity&amp;quot; attribute as a non-const reference.">modifyVelocity</a>();
<a name="l00096"></a>00096     <span class="keyword">inline</span> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#8a83fd68a009857b9dab65c9080a88b2" title="Retrieve the &amp;quot;velocity&amp;quot; attribute AsList.">getVelocityAsList</a>() <span class="keyword">const</span>;
<a name="l00098"></a>00098     <span class="keyword">inline</span> <span class="keyword">const</span> std::list&lt;std::string&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b10dafe662e4af0bf6a3f565de38bb8f" title="Retrieve the &amp;quot;contains&amp;quot; attribute.">getContains</a>() <span class="keyword">const</span>;
<a name="l00100"></a>00100     <span class="keyword">inline</span> std::list&lt;std::string&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cb422a4b6ac8fa2eef109f045d2c4b0c" title="Retrieve the &amp;quot;contains&amp;quot; attribute as a non-const reference.">modifyContains</a>();
<a name="l00102"></a>00102     <span class="keyword">inline</span> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#dec6934c7175c207510b945b15a38756" title="Retrieve the &amp;quot;contains&amp;quot; attribute AsList.">getContainsAsList</a>() <span class="keyword">const</span>;
<a name="l00104"></a>00104     <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#01ade7634e0964b396aaabdab38ff3d1" title="Retrieve the &amp;quot;stamp_contains&amp;quot; attribute.">getStampContains</a>() <span class="keyword">const</span>;
<a name="l00106"></a>00106     <span class="keyword">inline</span> <span class="keywordtype">double</span>&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#edd8addcaf8bb9588b349f55355db05f" title="Retrieve the &amp;quot;stamp_contains&amp;quot; attribute as a non-const reference.">modifyStampContains</a>();
<a name="l00107"></a>00107 
<a name="l00109"></a>00109     <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cd6230d1eb93e88aed39bd2fc4812a6d" title="Is &amp;quot;loc&amp;quot; value default?">isDefaultLoc</a>() <span class="keyword">const</span>;
<a name="l00111"></a>00111     <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0071a0680b873d0b5163fe219957990b" title="Is &amp;quot;pos&amp;quot; value default?">isDefaultPos</a>() <span class="keyword">const</span>;
<a name="l00113"></a>00113     <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#37c226909904a811f5e27d0376e6c98b" title="Is &amp;quot;velocity&amp;quot; value default?">isDefaultVelocity</a>() <span class="keyword">const</span>;
<a name="l00115"></a>00115     <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#824ced7e9b45f369a1a3bdb14fd6f726" title="Is &amp;quot;contains&amp;quot; value default?">isDefaultContains</a>() <span class="keyword">const</span>;
<a name="l00117"></a>00117     <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#613ce45e9051a9d365948e3434411a2a" title="Is &amp;quot;stamp_contains&amp;quot; value default?">isDefaultStampContains</a>() <span class="keyword">const</span>;
<a name="l00118"></a>00118 
<a name="l00119"></a>00119 <span class="keyword">protected</span>:
<a name="l00121"></a>00121     <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#637a2343312be3f28e484b14925c3834" title="Find the class which contains the attribute &amp;quot;name&amp;quot;.">getAttrClass</a>(<span class="keyword">const</span> std::string&amp; name)<span class="keyword">const</span>;
<a name="l00123"></a>00123     <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#475f580c5708cc21ac28dbaab5df18bb" title="Find the flag for the attribute &amp;quot;name&amp;quot;.">getAttrFlag</a>(<span class="keyword">const</span> std::string&amp; name)<span class="keyword">const</span>;
<a name="l00125"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2">00125</a>     std::string <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2" title="Reference object for coordinates (location).">attr_loc</a>;
<a name="l00127"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77">00127</a>     std::vector&lt;double&gt; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>;
<a name="l00129"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80">00129</a>     std::vector&lt;double&gt; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>;
<a name="l00131"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566">00131</a>     std::list&lt;std::string&gt; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>;
<a name="l00133"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4">00133</a>     <span class="keywordtype">double</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4" title="Last time any object that uses this as reference recursively has been modified.">attr_stamp_contains</a>;
<a name="l00134"></a>00134 
<a name="l00136"></a>00136     <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#633f4793ade8b8c3a55a36360ca68368" title="Send the &amp;quot;loc&amp;quot; attribute to an Atlas::Bridge.">sendLoc</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a>&amp;) <span class="keyword">const</span>;
<a name="l00138"></a>00138     <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2f0d03331e323aafc0c8d1485cb8ddca" title="Send the &amp;quot;pos&amp;quot; attribute to an Atlas::Bridge.">sendPos</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a>&amp;) <span class="keyword">const</span>;
<a name="l00140"></a>00140     <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3393ff753e6689d883cad59d5d1df6e0" title="Send the &amp;quot;velocity&amp;quot; attribute to an Atlas::Bridge.">sendVelocity</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a>&amp;) <span class="keyword">const</span>;
<a name="l00142"></a>00142     <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fc337b823198a85a965ce8380c22c4ea" title="Send the &amp;quot;contains&amp;quot; attribute to an Atlas::Bridge.">sendContains</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a>&amp;) <span class="keyword">const</span>;
<a name="l00144"></a>00144     <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#82d1832b1e63f467b2f04ea57d19bfae" title="Send the &amp;quot;stamp_contains&amp;quot; attribute to an Atlas::Bridge.">sendStampContains</a>(<a class="code" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a>&amp;) <span class="keyword">const</span>;
<a name="l00145"></a>00145 
<a name="l00146"></a>00146     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#98ccccf03a2406a98c1609c623d526e3" title="Iterate over the attributes of this instance.">iterate</a>(<span class="keywordtype">int</span>&amp; current_class, std::string&amp; attr) <span class="keyword">const</span>;
<a name="l00147"></a>00147 
<a name="l00148"></a>00148     <span class="comment">//freelist related things</span>
<a name="l00149"></a>00149 <span class="keyword">public</span>:
<a name="l00150"></a>00150     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#681f771dba7ff3a0594f14e710b7cf13" title="Allocate a new instance of this class, using an existing instance if available.">alloc</a>();
<a name="l00151"></a>00151     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#637c4c3af819f630fc16050d86714511" title="Free an instance of this class, returning it to the memory pool.">free</a>();
<a name="l00152"></a>00152 
<a name="l00157"></a>00157     <span class="keyword">virtual</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#5d1db521bf328f7ba6004067124ba572" title="Get the reference object that contains the default values for attributes of instances...">getDefaultObject</a>();
<a name="l00158"></a>00158 
<a name="l00163"></a>00163     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#83b1b523bef3d6f35cdc2e523e3605aa" title="Get the reference object that contains the default values for attributes of instances...">getDefaultObjectInstance</a>();
<a name="l00164"></a>00164 <span class="keyword">private</span>:
<a name="l00165"></a>00165     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *defaults_RootEntityData;
<a name="l00166"></a>00166     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a> *begin_RootEntityData;
<a name="l00167"></a>00167 
<a name="l00168"></a>00168     <span class="keyword">static</span> std::map&lt;std::string, int&gt; * attr_flags_RootEntityData;
<a name="l00169"></a>00169 };
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 <span class="comment">//</span>
<a name="l00172"></a>00172 <span class="comment">// Attribute name strings follow.</span>
<a name="l00173"></a>00173 <span class="comment">//</span>
<a name="l00174"></a>00174 
<a name="l00175"></a>00175 <span class="keyword">extern</span> <span class="keyword">const</span> std::string LOC_ATTR;
<a name="l00176"></a>00176 <span class="keyword">extern</span> <span class="keyword">const</span> std::string POS_ATTR;
<a name="l00177"></a>00177 <span class="keyword">extern</span> <span class="keyword">const</span> std::string VELOCITY_ATTR;
<a name="l00178"></a>00178 <span class="keyword">extern</span> <span class="keyword">const</span> std::string CONTAINS_ATTR;
<a name="l00179"></a>00179 <span class="keyword">extern</span> <span class="keyword">const</span> std::string STAMP_CONTAINS_ATTR;
<a name="l00180"></a>00180 
<a name="l00181"></a>00181 <span class="comment">//</span>
<a name="l00182"></a>00182 <span class="comment">// Inlined member functions follow.</span>
<a name="l00183"></a>00183 <span class="comment">//</span>
<a name="l00184"></a>00184 
<a name="l00185"></a>00185 <span class="keyword">const</span> <span class="keywordtype">int</span> LOC_FLAG = 1 &lt;&lt; 6;
<a name="l00186"></a>00186 
<a name="l00187"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3eba1194c08f79ccfbde1fa0738dd84d">00187</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3eba1194c08f79ccfbde1fa0738dd84d" title="Set the &amp;quot;loc&amp;quot; attribute.">RootEntityData::setLoc</a>(<span class="keyword">const</span> std::string&amp; val)
<a name="l00188"></a>00188 {
<a name="l00189"></a>00189     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2" title="Reference object for coordinates (location).">attr_loc</a> = val;
<a name="l00190"></a>00190     m_attrFlags |= LOC_FLAG;
<a name="l00191"></a>00191 }
<a name="l00192"></a>00192 
<a name="l00193"></a>00193 <span class="keyword">const</span> <span class="keywordtype">int</span> POS_FLAG = 1 &lt;&lt; 7;
<a name="l00194"></a>00194 
<a name="l00195"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e1cba9f09e39b21c89b087511d38828d">00195</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e1cba9f09e39b21c89b087511d38828d" title="Set the &amp;quot;pos&amp;quot; attribute.">RootEntityData::setPos</a>(<span class="keyword">const</span> std::vector&lt;double&gt;&amp; val)
<a name="l00196"></a>00196 {
<a name="l00197"></a>00197     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a> = val;
<a name="l00198"></a>00198     m_attrFlags |= POS_FLAG;
<a name="l00199"></a>00199 }
<a name="l00200"></a>00200 
<a name="l00201"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#7e15dc57a95e8bbb55c2257f5a0a27f2">00201</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#7e15dc57a95e8bbb55c2257f5a0a27f2" title="Set the &amp;quot;pos&amp;quot; attribute AsList.">RootEntityData::setPosAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val)
<a name="l00202"></a>00202 {
<a name="l00203"></a>00203     m_attrFlags |= POS_FLAG;
<a name="l00204"></a>00204     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>.resize(0);
<a name="l00205"></a>00205     <span class="keywordflow">for</span>(Atlas::Message::ListType::const_iterator I = val.begin();
<a name="l00206"></a>00206         I != val.end();
<a name="l00207"></a>00207         I++)
<a name="l00208"></a>00208     {
<a name="l00209"></a>00209         <span class="keywordflow">if</span>((*I).isNum()) {
<a name="l00210"></a>00210             <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>.push_back((*I).asNum());
<a name="l00211"></a>00211         }
<a name="l00212"></a>00212     }
<a name="l00213"></a>00213 }
<a name="l00214"></a>00214 
<a name="l00215"></a>00215 <span class="keyword">const</span> <span class="keywordtype">int</span> VELOCITY_FLAG = 1 &lt;&lt; 8;
<a name="l00216"></a>00216 
<a name="l00217"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#da58231bf75d61e1d314ec77f49b9c58">00217</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#da58231bf75d61e1d314ec77f49b9c58" title="Set the &amp;quot;velocity&amp;quot; attribute.">RootEntityData::setVelocity</a>(<span class="keyword">const</span> std::vector&lt;double&gt;&amp; val)
<a name="l00218"></a>00218 {
<a name="l00219"></a>00219     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a> = val;
<a name="l00220"></a>00220     m_attrFlags |= VELOCITY_FLAG;
<a name="l00221"></a>00221 }
<a name="l00222"></a>00222 
<a name="l00223"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#9b4af59ca158bc18c0725398e120192c">00223</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#9b4af59ca158bc18c0725398e120192c" title="Set the &amp;quot;velocity&amp;quot; attribute AsList.">RootEntityData::setVelocityAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val)
<a name="l00224"></a>00224 {
<a name="l00225"></a>00225     m_attrFlags |= VELOCITY_FLAG;
<a name="l00226"></a>00226     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>.resize(0);
<a name="l00227"></a>00227     <span class="keywordflow">for</span>(Atlas::Message::ListType::const_iterator I = val.begin();
<a name="l00228"></a>00228         I != val.end();
<a name="l00229"></a>00229         I++)
<a name="l00230"></a>00230     {
<a name="l00231"></a>00231         <span class="keywordflow">if</span>((*I).isNum()) {
<a name="l00232"></a>00232             <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>.push_back((*I).asNum());
<a name="l00233"></a>00233         }
<a name="l00234"></a>00234     }
<a name="l00235"></a>00235 }
<a name="l00236"></a>00236 
<a name="l00237"></a>00237 <span class="keyword">const</span> <span class="keywordtype">int</span> CONTAINS_FLAG = 1 &lt;&lt; 9;
<a name="l00238"></a>00238 
<a name="l00239"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#d9269de85ae24e26fd00321d891aad43">00239</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#d9269de85ae24e26fd00321d891aad43" title="Set the &amp;quot;contains&amp;quot; attribute.">RootEntityData::setContains</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; val)
<a name="l00240"></a>00240 {
<a name="l00241"></a>00241     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a> = val;
<a name="l00242"></a>00242     m_attrFlags |= CONTAINS_FLAG;
<a name="l00243"></a>00243 }
<a name="l00244"></a>00244 
<a name="l00245"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3e9e1ab255e10d5d7711e4821f945789">00245</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3e9e1ab255e10d5d7711e4821f945789" title="Set the &amp;quot;contains&amp;quot; attribute AsList.">RootEntityData::setContainsAsList</a>(<span class="keyword">const</span> Atlas::Message::ListType&amp; val)
<a name="l00246"></a>00246 {
<a name="l00247"></a>00247     m_attrFlags |= CONTAINS_FLAG;
<a name="l00248"></a>00248     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>.resize(0);
<a name="l00249"></a>00249     <span class="keywordflow">for</span>(Atlas::Message::ListType::const_iterator I = val.begin();
<a name="l00250"></a>00250         I != val.end();
<a name="l00251"></a>00251         I++)
<a name="l00252"></a>00252     {
<a name="l00253"></a>00253         <span class="keywordflow">if</span>((*I).isString()) {
<a name="l00254"></a>00254             <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>.push_back((*I).asString());
<a name="l00255"></a>00255         }
<a name="l00256"></a>00256     }
<a name="l00257"></a>00257 }
<a name="l00258"></a>00258 
<a name="l00259"></a>00259 <span class="keyword">const</span> <span class="keywordtype">int</span> STAMP_CONTAINS_FLAG = 1 &lt;&lt; 10;
<a name="l00260"></a>00260 
<a name="l00261"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#892cc6c2535ed02ff9162c65a6e21ca8">00261</a> <span class="keywordtype">void</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#892cc6c2535ed02ff9162c65a6e21ca8" title="Set the &amp;quot;stamp_contains&amp;quot; attribute.">RootEntityData::setStampContains</a>(<span class="keywordtype">double</span> val)
<a name="l00262"></a>00262 {
<a name="l00263"></a>00263     <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4" title="Last time any object that uses this as reference recursively has been modified.">attr_stamp_contains</a> = val;
<a name="l00264"></a>00264     m_attrFlags |= STAMP_CONTAINS_FLAG;
<a name="l00265"></a>00265 }
<a name="l00266"></a>00266 
<a name="l00267"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b5bdbaf90c485089cf31e41ba83673f3">00267</a> <span class="keyword">const</span> std::string&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b5bdbaf90c485089cf31e41ba83673f3" title="Retrieve the &amp;quot;loc&amp;quot; attribute.">RootEntityData::getLoc</a>()<span class="keyword"> const</span>
<a name="l00268"></a>00268 <span class="keyword"></span>{
<a name="l00269"></a>00269     <span class="keywordflow">if</span>(m_attrFlags &amp; LOC_FLAG)
<a name="l00270"></a>00270         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2" title="Reference object for coordinates (location).">attr_loc</a>;
<a name="l00271"></a>00271     <span class="keywordflow">else</span>
<a name="l00272"></a>00272         <span class="keywordflow">return</span> ((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;attr_loc;
<a name="l00273"></a>00273 }
<a name="l00274"></a>00274 
<a name="l00275"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#eddd4203393ab93822b6ed73865c5068">00275</a> std::string&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#eddd4203393ab93822b6ed73865c5068" title="Retrieve the &amp;quot;loc&amp;quot; attribute as a non-const reference.">RootEntityData::modifyLoc</a>()
<a name="l00276"></a>00276 {
<a name="l00277"></a>00277     <span class="keywordflow">if</span>(!(m_attrFlags &amp; LOC_FLAG))
<a name="l00278"></a>00278         <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#3eba1194c08f79ccfbde1fa0738dd84d" title="Set the &amp;quot;loc&amp;quot; attribute.">setLoc</a>(((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2" title="Reference object for coordinates (location).">attr_loc</a>);
<a name="l00279"></a>00279     <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#2fafb4947fe3d070458d4ec442eaebd2" title="Reference object for coordinates (location).">attr_loc</a>;
<a name="l00280"></a>00280 }
<a name="l00281"></a>00281 
<a name="l00282"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1ffba3237980e1bf63f673d1ba1ef1e0">00282</a> <span class="keyword">const</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1ffba3237980e1bf63f673d1ba1ef1e0" title="Retrieve the &amp;quot;pos&amp;quot; attribute.">RootEntityData::getPos</a>()<span class="keyword"> const</span>
<a name="l00283"></a>00283 <span class="keyword"></span>{
<a name="l00284"></a>00284     <span class="keywordflow">if</span>(m_attrFlags &amp; POS_FLAG)
<a name="l00285"></a>00285         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>;
<a name="l00286"></a>00286     <span class="keywordflow">else</span>
<a name="l00287"></a>00287         <span class="keywordflow">return</span> ((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;attr_pos;
<a name="l00288"></a>00288 }
<a name="l00289"></a>00289 
<a name="l00290"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ca5221e507665d66b4dce20807de311e">00290</a> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ca5221e507665d66b4dce20807de311e" title="Retrieve the &amp;quot;pos&amp;quot; attribute as a non-const reference.">RootEntityData::modifyPos</a>()
<a name="l00291"></a>00291 {
<a name="l00292"></a>00292     <span class="keywordflow">if</span>(!(m_attrFlags &amp; POS_FLAG))
<a name="l00293"></a>00293         <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e1cba9f09e39b21c89b087511d38828d" title="Set the &amp;quot;pos&amp;quot; attribute.">setPos</a>(((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>);
<a name="l00294"></a>00294     <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#e004dcf824e2e15d1c5a06add51d8e77" title="Position coordinates, usually world is 3D.">attr_pos</a>;
<a name="l00295"></a>00295 }
<a name="l00296"></a>00296 
<a name="l00297"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#6c115bd39edb2b97aa65daf3137311fe">00297</a> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#6c115bd39edb2b97aa65daf3137311fe" title="Retrieve the &amp;quot;pos&amp;quot; attribute AsList.">RootEntityData::getPosAsList</a>()<span class="keyword"> const</span>
<a name="l00298"></a>00298 <span class="keyword"></span>{
<a name="l00299"></a>00299     <span class="keyword">const</span> std::vector&lt;double&gt;&amp; lst_in = <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#1ffba3237980e1bf63f673d1ba1ef1e0" title="Retrieve the &amp;quot;pos&amp;quot; attribute.">getPos</a>();
<a name="l00300"></a>00300     Atlas::Message::ListType lst_out;
<a name="l00301"></a>00301     <span class="keywordflow">for</span>(std::vector&lt;double&gt;::const_iterator I = lst_in.begin();
<a name="l00302"></a>00302         I != lst_in.end();
<a name="l00303"></a>00303         I++)
<a name="l00304"></a>00304     {
<a name="l00305"></a>00305         lst_out.push_back(*I);
<a name="l00306"></a>00306     }
<a name="l00307"></a>00307     <span class="keywordflow">return</span> lst_out;
<a name="l00308"></a>00308 }
<a name="l00309"></a>00309 
<a name="l00310"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#86e581c267ac48f9313df5ced9fdf36e">00310</a> <span class="keyword">const</span> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#86e581c267ac48f9313df5ced9fdf36e" title="Retrieve the &amp;quot;velocity&amp;quot; attribute.">RootEntityData::getVelocity</a>()<span class="keyword"> const</span>
<a name="l00311"></a>00311 <span class="keyword"></span>{
<a name="l00312"></a>00312     <span class="keywordflow">if</span>(m_attrFlags &amp; VELOCITY_FLAG)
<a name="l00313"></a>00313         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>;
<a name="l00314"></a>00314     <span class="keywordflow">else</span>
<a name="l00315"></a>00315         <span class="keywordflow">return</span> ((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;attr_velocity;
<a name="l00316"></a>00316 }
<a name="l00317"></a>00317 
<a name="l00318"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#57f4ce28cf8bb5d01bc37478ca58483f">00318</a> std::vector&lt;double&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#57f4ce28cf8bb5d01bc37478ca58483f" title="Retrieve the &amp;quot;velocity&amp;quot; attribute as a non-const reference.">RootEntityData::modifyVelocity</a>()
<a name="l00319"></a>00319 {
<a name="l00320"></a>00320     <span class="keywordflow">if</span>(!(m_attrFlags &amp; VELOCITY_FLAG))
<a name="l00321"></a>00321         <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#da58231bf75d61e1d314ec77f49b9c58" title="Set the &amp;quot;velocity&amp;quot; attribute.">setVelocity</a>(((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>);
<a name="l00322"></a>00322     <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#ff6073c9f4a93c79f234c13496680f80" title="Velocity object is moving, usually world is 3D.">attr_velocity</a>;
<a name="l00323"></a>00323 }
<a name="l00324"></a>00324 
<a name="l00325"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#8a83fd68a009857b9dab65c9080a88b2">00325</a> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#8a83fd68a009857b9dab65c9080a88b2" title="Retrieve the &amp;quot;velocity&amp;quot; attribute AsList.">RootEntityData::getVelocityAsList</a>()<span class="keyword"> const</span>
<a name="l00326"></a>00326 <span class="keyword"></span>{
<a name="l00327"></a>00327     <span class="keyword">const</span> std::vector&lt;double&gt;&amp; lst_in = <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#86e581c267ac48f9313df5ced9fdf36e" title="Retrieve the &amp;quot;velocity&amp;quot; attribute.">getVelocity</a>();
<a name="l00328"></a>00328     Atlas::Message::ListType lst_out;
<a name="l00329"></a>00329     <span class="keywordflow">for</span>(std::vector&lt;double&gt;::const_iterator I = lst_in.begin();
<a name="l00330"></a>00330         I != lst_in.end();
<a name="l00331"></a>00331         I++)
<a name="l00332"></a>00332     {
<a name="l00333"></a>00333         lst_out.push_back(*I);
<a name="l00334"></a>00334     }
<a name="l00335"></a>00335     <span class="keywordflow">return</span> lst_out;
<a name="l00336"></a>00336 }
<a name="l00337"></a>00337 
<a name="l00338"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b10dafe662e4af0bf6a3f565de38bb8f">00338</a> <span class="keyword">const</span> std::list&lt;std::string&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b10dafe662e4af0bf6a3f565de38bb8f" title="Retrieve the &amp;quot;contains&amp;quot; attribute.">RootEntityData::getContains</a>()<span class="keyword"> const</span>
<a name="l00339"></a>00339 <span class="keyword"></span>{
<a name="l00340"></a>00340     <span class="keywordflow">if</span>(m_attrFlags &amp; CONTAINS_FLAG)
<a name="l00341"></a>00341         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>;
<a name="l00342"></a>00342     <span class="keywordflow">else</span>
<a name="l00343"></a>00343         <span class="keywordflow">return</span> ((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;attr_contains;
<a name="l00344"></a>00344 }
<a name="l00345"></a>00345 
<a name="l00346"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cb422a4b6ac8fa2eef109f045d2c4b0c">00346</a> std::list&lt;std::string&gt;&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cb422a4b6ac8fa2eef109f045d2c4b0c" title="Retrieve the &amp;quot;contains&amp;quot; attribute as a non-const reference.">RootEntityData::modifyContains</a>()
<a name="l00347"></a>00347 {
<a name="l00348"></a>00348     <span class="keywordflow">if</span>(!(m_attrFlags &amp; CONTAINS_FLAG))
<a name="l00349"></a>00349         <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#d9269de85ae24e26fd00321d891aad43" title="Set the &amp;quot;contains&amp;quot; attribute.">setContains</a>(((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>);
<a name="l00350"></a>00350     <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0a7906cca0cbeea00770e02f77992566" title="List of objects that use this object as reference system (usually same as what this...">attr_contains</a>;
<a name="l00351"></a>00351 }
<a name="l00352"></a>00352 
<a name="l00353"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#dec6934c7175c207510b945b15a38756">00353</a> <span class="keyword">const</span> Atlas::Message::ListType <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#dec6934c7175c207510b945b15a38756" title="Retrieve the &amp;quot;contains&amp;quot; attribute AsList.">RootEntityData::getContainsAsList</a>()<span class="keyword"> const</span>
<a name="l00354"></a>00354 <span class="keyword"></span>{
<a name="l00355"></a>00355     <span class="keyword">const</span> std::list&lt;std::string&gt;&amp; lst_in = <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#b10dafe662e4af0bf6a3f565de38bb8f" title="Retrieve the &amp;quot;contains&amp;quot; attribute.">getContains</a>();
<a name="l00356"></a>00356     Atlas::Message::ListType lst_out;
<a name="l00357"></a>00357     <span class="keywordflow">for</span>(std::list&lt;std::string&gt;::const_iterator I = lst_in.begin();
<a name="l00358"></a>00358         I != lst_in.end();
<a name="l00359"></a>00359         I++)
<a name="l00360"></a>00360     {
<a name="l00361"></a>00361         lst_out.push_back(std::string(*I));
<a name="l00362"></a>00362     }
<a name="l00363"></a>00363     <span class="keywordflow">return</span> lst_out;
<a name="l00364"></a>00364 }
<a name="l00365"></a>00365 
<a name="l00366"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#01ade7634e0964b396aaabdab38ff3d1">00366</a> <span class="keywordtype">double</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#01ade7634e0964b396aaabdab38ff3d1" title="Retrieve the &amp;quot;stamp_contains&amp;quot; attribute.">RootEntityData::getStampContains</a>()<span class="keyword"> const</span>
<a name="l00367"></a>00367 <span class="keyword"></span>{
<a name="l00368"></a>00368     <span class="keywordflow">if</span>(m_attrFlags &amp; STAMP_CONTAINS_FLAG)
<a name="l00369"></a>00369         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4" title="Last time any object that uses this as reference recursively has been modified.">attr_stamp_contains</a>;
<a name="l00370"></a>00370     <span class="keywordflow">else</span>
<a name="l00371"></a>00371         <span class="keywordflow">return</span> ((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;attr_stamp_contains;
<a name="l00372"></a>00372 }
<a name="l00373"></a>00373 
<a name="l00374"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#edd8addcaf8bb9588b349f55355db05f">00374</a> <span class="keywordtype">double</span>&amp; <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#edd8addcaf8bb9588b349f55355db05f" title="Retrieve the &amp;quot;stamp_contains&amp;quot; attribute as a non-const reference.">RootEntityData::modifyStampContains</a>()
<a name="l00375"></a>00375 {
<a name="l00376"></a>00376     <span class="keywordflow">if</span>(!(m_attrFlags &amp; STAMP_CONTAINS_FLAG))
<a name="l00377"></a>00377         <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#892cc6c2535ed02ff9162c65a6e21ca8" title="Set the &amp;quot;stamp_contains&amp;quot; attribute.">setStampContains</a>(((<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html" title="Starting point for entity hierarchy.">RootEntityData</a>*)m_defaults)-&gt;<a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4" title="Last time any object that uses this as reference recursively has been modified.">attr_stamp_contains</a>);
<a name="l00378"></a>00378     <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#fee7257dfa7cd025b8d163a9ce6110c4" title="Last time any object that uses this as reference recursively has been modified.">attr_stamp_contains</a>;
<a name="l00379"></a>00379 }
<a name="l00380"></a>00380 
<a name="l00381"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cd6230d1eb93e88aed39bd2fc4812a6d">00381</a> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#cd6230d1eb93e88aed39bd2fc4812a6d" title="Is &amp;quot;loc&amp;quot; value default?">RootEntityData::isDefaultLoc</a>()<span class="keyword"> const</span>
<a name="l00382"></a>00382 <span class="keyword"></span>{
<a name="l00383"></a>00383     <span class="keywordflow">return</span> (m_attrFlags &amp; LOC_FLAG) == 0;
<a name="l00384"></a>00384 }
<a name="l00385"></a>00385 
<a name="l00386"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0071a0680b873d0b5163fe219957990b">00386</a> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#0071a0680b873d0b5163fe219957990b" title="Is &amp;quot;pos&amp;quot; value default?">RootEntityData::isDefaultPos</a>()<span class="keyword"> const</span>
<a name="l00387"></a>00387 <span class="keyword"></span>{
<a name="l00388"></a>00388     <span class="keywordflow">return</span> (m_attrFlags &amp; POS_FLAG) == 0;
<a name="l00389"></a>00389 }
<a name="l00390"></a>00390 
<a name="l00391"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#37c226909904a811f5e27d0376e6c98b">00391</a> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#37c226909904a811f5e27d0376e6c98b" title="Is &amp;quot;velocity&amp;quot; value default?">RootEntityData::isDefaultVelocity</a>()<span class="keyword"> const</span>
<a name="l00392"></a>00392 <span class="keyword"></span>{
<a name="l00393"></a>00393     <span class="keywordflow">return</span> (m_attrFlags &amp; VELOCITY_FLAG) == 0;
<a name="l00394"></a>00394 }
<a name="l00395"></a>00395 
<a name="l00396"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#824ced7e9b45f369a1a3bdb14fd6f726">00396</a> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#824ced7e9b45f369a1a3bdb14fd6f726" title="Is &amp;quot;contains&amp;quot; value default?">RootEntityData::isDefaultContains</a>()<span class="keyword"> const</span>
<a name="l00397"></a>00397 <span class="keyword"></span>{
<a name="l00398"></a>00398     <span class="keywordflow">return</span> (m_attrFlags &amp; CONTAINS_FLAG) == 0;
<a name="l00399"></a>00399 }
<a name="l00400"></a>00400 
<a name="l00401"></a><a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#613ce45e9051a9d365948e3434411a2a">00401</a> <span class="keywordtype">bool</span> <a class="code" href="class_atlas_1_1_objects_1_1_entity_1_1_root_entity_data.html#613ce45e9051a9d365948e3434411a2a" title="Is &amp;quot;stamp_contains&amp;quot; value default?">RootEntityData::isDefaultStampContains</a>()<span class="keyword"> const</span>
<a name="l00402"></a>00402 <span class="keyword"></span>{
<a name="l00403"></a>00403     <span class="keywordflow">return</span> (m_attrFlags &amp; STAMP_CONTAINS_FLAG) == 0;
<a name="l00404"></a>00404 }
<a name="l00405"></a>00405 
<a name="l00406"></a>00406 
<a name="l00407"></a>00407 } } } <span class="comment">// namespace Atlas::Objects::Entity</span>
<a name="l00408"></a>00408 
<a name="l00409"></a>00409 <span class="preprocessor">#endif // ATLAS_OBJECTS_ENTITY_ROOTENTITY_H</span>
</pre></div></div>
<HR>
<P>Copyright 2000-2004 the respective authors.</P>
<P>This document can be licensed under the terms of the GNU Free Documentation
License or the GNU General Public License and may be freely distributed under
the terms given by one of these licenses.</P>