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,
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;
public:
DigitalFilter();
- ~DigitalFilter() {}
+ ~DigitalFilter();
+
+ virtual bool configure( SGPropertyNode& prop_root,
+ SGPropertyNode& cfg );
};