]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/PropertyInterpolator.hxx
Update doxgen config and some comments.
[simgear.git] / simgear / props / PropertyInterpolator.hxx
index 7936acbb46434342f4ba209d09169d4cd81f6b33..b3bd6f8c4631c42f64e94666ae6034af1c64e232 100644 (file)
@@ -47,7 +47,7 @@ namespace simgear
        * Resets animation timer to zero and prepares for interpolation to new
        * target value.
        */
-      void reset(const SGPropertyNode* target);
+      void reset(const SGPropertyNode& target);
 
       /**
        * Set easing function to be used for interpolation.
@@ -63,27 +63,10 @@ namespace simgear
        *         else time is negative indicating the remaining time until
        *         finished)
        */
-      double update(SGPropertyNode* prop, double dt);
+      double update(SGPropertyNode& prop, double dt);
 
       const std::string& getType() const    { return _type; }
 
-      /**
-       * Create new animation for given property.
-       *
-       * @param prop    Property to be animated
-       * @param target  Property containing target value
-       */
-      template<class Derived>
-      static PropertyInterpolator* create(const SGPropertyNode* target)
-      {
-        assert(target);
-
-        PropertyInterpolator* interp = new Derived;
-        interp->reset(target);
-
-        return interp;
-      }
-
     protected:
       friend class PropertyInterpolationMgr;
 
@@ -95,9 +78,9 @@ namespace simgear
 
       PropertyInterpolator();
 
-      virtual void setTarget(const SGPropertyNode* target) = 0;
-      virtual void init(const SGPropertyNode* prop) = 0;
-      virtual void write(SGPropertyNode* prop, double t) = 0;
+      virtual void setTarget(const SGPropertyNode& target) = 0;
+      virtual void init(const SGPropertyNode& prop) = 0;
+      virtual void write(SGPropertyNode& prop, double t) = 0;
   };
 
   class NumericInterpolator:
@@ -107,9 +90,9 @@ namespace simgear
       double _end,
              _diff;
 
-      virtual void setTarget(const SGPropertyNode* target);
-      virtual void init(const SGPropertyNode* prop);
-      virtual void write(SGPropertyNode* prop, double t);
+      virtual void setTarget(const SGPropertyNode& target);
+      virtual void init(const SGPropertyNode& prop);
+      virtual void write(SGPropertyNode& prop, double t);
   };
 
 } // namespace simgear