+ _objectClass->_removeInstance(*this, tag);
+}
+
+void
+HLAObjectInstance::_reflectAttributeValues(const HLAIndexList& indexList, const RTIData& tag)
+{
+ if (_reflectCallback.valid()) {
+ _reflectCallback->reflectAttributeValues(*this, indexList, tag);
+ } else if (_attributeCallback.valid()) {
+ reflectAttributeValues(indexList, tag);
+
+ RTIIndexDataPairList dataPairList;
+ for (HLAIndexList::const_iterator i = indexList.begin(); i != indexList.end(); ++i) {
+ dataPairList.push_back(RTIIndexDataPair());
+ dataPairList.back().first = *i;
+ getAttributeData(*i, dataPairList.back().second);
+ }
+ _attributeCallback->reflectAttributeValues(*this, dataPairList, tag);
+ } else {
+ reflectAttributeValues(indexList, tag);
+ }
+}
+
+void
+HLAObjectInstance::_reflectAttributeValues(const HLAIndexList& indexList, const SGTimeStamp& timeStamp, const RTIData& tag)
+{
+ if (_reflectCallback.valid()) {
+ _reflectCallback->reflectAttributeValues(*this, indexList, timeStamp, tag);
+ } else if (_attributeCallback.valid()) {
+ reflectAttributeValues(indexList, timeStamp, tag);
+
+ RTIIndexDataPairList dataPairList;
+ for (HLAIndexList::const_iterator i = indexList.begin(); i != indexList.end(); ++i) {
+ dataPairList.push_back(RTIIndexDataPair());
+ dataPairList.back().first = *i;
+ getAttributeData(*i, dataPairList.back().second);
+ }
+ _attributeCallback->reflectAttributeValues(*this, dataPairList, timeStamp, tag);
+ } else {
+ reflectAttributeValues(indexList, timeStamp, tag);
+ }