+bool
+HLADataElement::setDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end, HLADataElement* dataElement)
+{
+ return false;
+}
+
+HLADataElement*
+HLADataElement::getDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end)
+{
+ if (begin != end)
+ return 0;
+ return this;
+}
+
+const HLADataElement*
+HLADataElement::getDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end) const
+{
+ if (begin != end)
+ return 0;
+ return this;
+}
+
+void
+HLADataElement::setTimeStamp(const SGTimeStamp& timeStamp)
+{
+ if (!_stamp.valid())
+ return;
+ _stamp->setTimeStamp(timeStamp);
+}
+
+void
+HLADataElement::setTimeStampValid(bool timeStampValid)
+{
+ if (!_stamp.valid())
+ return;
+ _stamp->setTimeStampValid(timeStampValid);
+}
+
+double
+HLADataElement::getTimeDifference(const SGTimeStamp& timeStamp) const
+{
+ if (!_stamp.valid())
+ return 0;
+ if (!_stamp->getTimeStampValid())
+ return 0;
+ return (timeStamp - _stamp->getTimeStamp()).toSecs();
+}
+
+void
+HLADataElement::createStamp()
+{
+ _setStamp(new Stamp);
+ setDirty(true);
+}
+
+void
+HLADataElement::attachStamp(HLADataElement& dataElement)
+{
+ _setStamp(dataElement._getStamp());
+}
+
+void
+HLADataElement::clearStamp()
+{
+ _setStamp(0);
+}
+
+void
+HLADataElement::accept(HLADataElementVisitor& visitor)
+{
+ visitor.apply(*this);
+}
+
+void
+HLADataElement::accept(HLAConstDataElementVisitor& visitor) const
+{
+ visitor.apply(*this);
+}
+