]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLADataElement.cxx
math: Move lerp function into SGMisc.
[simgear.git] / simgear / hla / HLADataElement.cxx
index b7da888412e647aaca5eb0d0e5a1051ebd8a3d34..0794f152311f1239d958daa7b751bad16256c5d7 100644 (file)
@@ -131,6 +131,51 @@ HLADataElement::~HLADataElement()
 {
 }
 
+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)
 {
@@ -198,4 +243,10 @@ HLADataElement::toStringPathPair(const std::string& s)
     return StringPathPair(attribute, path);
 }
 
+void
+HLADataElement::_setStamp(HLADataElement::Stamp* stamp)
+{
+    _stamp = stamp;
+}
+
 }