Provides the top-level filtering for navigation messages. A single instance of this class should be created for each navigation message structure to be processed. Desired filters are added via addFilter() in the desired order of precedence. Navigation messages are validated using the validate() method.
Definition at line 170 of file NavFilterMgr.hpp.
#include <NavFilterMgr.hpp>
Public Types | |
typedef std::list< NavFilter * > | FilterList |
A list of navigation data filters. More... | |
typedef std::set< NavFilter * > | FilterSet |
A set of unique filter pointers. More... | |
Public Member Functions | |
void | addFilter (NavFilter *filt) |
virtual NavFilter::NavMsgList | finalize () |
NavFilterMgr () | |
Do-nothing default constructor. More... | |
unsigned | processingDepth () const noexcept |
NavFilter::NavMsgList | validate (NavFilterKey *msgBits) |
Public Attributes | |
FilterSet | rejected |
Private Attributes | |
FilterList | filters |
The collection of navigation message filters to apply. More... | |
typedef std::list<NavFilter*> gnsstk::NavFilterMgr::FilterList |
A list of navigation data filters.
Definition at line 174 of file NavFilterMgr.hpp.
typedef std::set<NavFilter*> gnsstk::NavFilterMgr::FilterSet |
A set of unique filter pointers.
Definition at line 176 of file NavFilterMgr.hpp.
gnsstk::NavFilterMgr::NavFilterMgr | ( | ) |
Do-nothing default constructor.
Definition at line 44 of file NavFilterMgr.cpp.
void gnsstk::NavFilterMgr::addFilter | ( | NavFilter * | filt | ) |
Add a desired navigation message data filter to the list. Filters are expected to be for the same type of navigation message data, but this is not enforced.
[in] | filt | The filter to be added. |
Definition at line 50 of file NavFilterMgr.cpp.
|
virtual |
Flush the stored data for all known filters. This method should be called by the user after all data has been added to the filter manager via validate().
Definition at line 78 of file NavFilterMgr.cpp.
|
noexcept |
Gets the effective buffer size in epochs required for maintaining subframe data, given the filters that have been added using addFilter(). This is the sum of NavFilter::processingDepth() return values +1.
The method can be used as in this example:
Definition at line 123 of file NavFilterMgr.cpp.
NavFilter::NavMsgList gnsstk::NavFilterMgr::validate | ( | NavFilterKey * | msgBits | ) |
Validate a single navigation message.
[in] | msgBits | The navigation message to validate/filter. This should not be a NavFilterKey pointer but rather should be a child class specific to the type of navigation message data being processed. Behavior is undefined if msgBits is not the expected type. |
Definition at line 57 of file NavFilterMgr.cpp.
|
private |
The collection of navigation message filters to apply.
Definition at line 237 of file NavFilterMgr.hpp.
FilterSet gnsstk::NavFilterMgr::rejected |
This set contains any filters with rejected data after a validate() or finalize() call. The set will be cleared at the beginning of the validate() or finalize() call so that only filters with rejected data from the most recent call will be present in the set. The rejected data itself can be accessed via the NavFilter::rejected data member.
Definition at line 233 of file NavFilterMgr.hpp.