X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FRTIObjectInstance.cxx;h=da0de3ef291dfb55f3ff8b6e3355295d4d33adb6;hb=da6b395008a9b22c8e1ca1a1fcbf21d688a5a185;hp=7454414621cd4d5d18efdc56aa382a3d61fb60a6;hpb=ce71b8c1cf761742ab88975442f4037b5e460114;p=simgear.git diff --git a/simgear/hla/RTIObjectInstance.cxx b/simgear/hla/RTIObjectInstance.cxx index 74544146..da0de3ef 100644 --- a/simgear/hla/RTIObjectInstance.cxx +++ b/simgear/hla/RTIObjectInstance.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2009 - 2010 Mathias Froehlich - Mathias.Froehlich@web.de +// Copyright (C) 2009 - 2012 Mathias Froehlich - Mathias.Froehlich@web.de // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -15,6 +15,12 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + #include "RTIObjectInstance.hxx" #include "RTIObjectClass.hxx" #include "HLAObjectInstance.hxx" @@ -22,8 +28,7 @@ namespace simgear { RTIObjectInstance::RTIObjectInstance(HLAObjectInstance* hlaObjectInstance) : - _hlaObjectInstance(hlaObjectInstance), - _pendingAttributeUpdateRequest(false) + _objectInstance(hlaObjectInstance) { } @@ -37,54 +42,29 @@ RTIObjectInstance::getNumAttributes() const return getObjectClass()->getNumAttributes(); } -unsigned -RTIObjectInstance::getAttributeIndex(const std::string& name) const -{ - return getObjectClass()->getAttributeIndex(name); -} - -std::string -RTIObjectInstance::getAttributeName(unsigned index) const -{ - return getObjectClass()->getAttributeName(index); -} - void RTIObjectInstance::removeInstance(const RTIData& tag) { - SGSharedPtr hlaObjectInstance = _hlaObjectInstance.lock(); - if (!hlaObjectInstance.valid()) + if (!_objectInstance) return; - hlaObjectInstance->removeInstance(tag); + _objectInstance->_removeInstance(tag); } void -RTIObjectInstance::reflectAttributeValues(const RTIIndexDataPairList& dataPairList, const RTIData& tag) +RTIObjectInstance::reflectAttributeValues(const HLAIndexList& indexList, const RTIData& tag) { - for (RTIIndexDataPairList::const_iterator i = dataPairList.begin(); - i != dataPairList.end(); ++i) { - reflectAttributeValue(i->first, i->second); - } - - SGSharedPtr hlaObjectInstance = _hlaObjectInstance.lock(); - if (!hlaObjectInstance.valid()) + if (!_objectInstance) return; - hlaObjectInstance->reflectAttributeValues(dataPairList, tag); + _objectInstance->_reflectAttributeValues(indexList, tag); } void -RTIObjectInstance::reflectAttributeValues(const RTIIndexDataPairList& dataPairList, +RTIObjectInstance::reflectAttributeValues(const HLAIndexList& indexList, const SGTimeStamp& timeStamp, const RTIData& tag) { - for (RTIIndexDataPairList::const_iterator i = dataPairList.begin(); - i != dataPairList.end(); ++i) { - reflectAttributeValue(i->first, i->second); - } - - SGSharedPtr hlaObjectInstance = _hlaObjectInstance.lock(); - if (!hlaObjectInstance.valid()) + if (!_objectInstance) return; - hlaObjectInstance->reflectAttributeValues(dataPairList, timeStamp, tag); + _objectInstance->_reflectAttributeValues(indexList, timeStamp, tag); } }