]> git.mxchange.org Git - flightgear.git/blobdiff - src/Autopilot/digitalfilter.hxx
Interim windows build fix
[flightgear.git] / src / Autopilot / digitalfilter.hxx
index d9b0ac48d8d9500d7ca0af7ca941437e87cd3000..956faaba290dbe74c8937a0d7f5d6a559c1cd572 100644 (file)
 
 namespace FGXMLAutopilot {
 
-/**
- *
- *
- */
-class DigitalFilterImplementation : public SGReferenced {
-protected:
-  virtual bool configure( const std::string & nodeName, SGPropertyNode_ptr configNode) = 0;
-public:
-  virtual void   initialize( double output ) {}
-  virtual double compute( double dt, double input ) = 0;
-  bool configure( SGPropertyNode_ptr configNode );
-};
-
 /**
  * brief@ DigitalFilter - a selection of digital filters
  *
  */
 class DigitalFilter : public AnalogComponent
 {
-private:
-    SGSharedPtr<DigitalFilterImplementation> _implementation;
+  private:
+    SGSharedPtr<class DigitalFilterImplementation> _implementation;
 
     enum InitializeTo {
       INITIALIZE_OUTPUT,
@@ -59,9 +46,11 @@ private:
       INITIALIZE_NONE
     };
 
-protected:
-    bool configure( const std::string & nodeName, SGPropertyNode_ptr configNode);
-    void update( bool firstTime, double dt);
+  protected:
+    virtual bool configure( SGPropertyNode& cfg_node,
+                            const std::string& cfg_name,
+                            SGPropertyNode& prop_root );
+    virtual void update( bool firstTime, double dt);
 
     InputValueList _Tf;
     InputValueList _samples;
@@ -71,7 +60,10 @@ protected:
 
 public:
     DigitalFilter();
-    ~DigitalFilter() {}
+    ~DigitalFilter();
+
+    virtual bool configure( SGPropertyNode& prop_root,
+                            SGPropertyNode& cfg );
 
 };