29 #ifndef HECTOR_POSE_ESTIMATION_SYSTEM_H 30 #define HECTOR_POSE_ESTIMATION_SYSTEM_H 42 template <
class ConcreteModel>
class System_;
47 System(
const std::string& name);
73 virtual bool update(
double dt);
89 template <
class ConcreteModel>
97 System_(
const std::string& name =
"system")
104 System_(Model *model,
const std::string& name)
118 virtual Model *
getModel()
const {
return model_.get(); }
120 virtual Filter *
filter()
const {
return predictor_ ? predictor_->base() : 0; }
132 template <
class ConcreteModel>
135 return boost::make_shared<System_<ConcreteModel> >(model, name);
140 #include "system.inl" 142 #endif // HECTOR_POSE_ESTIMATION_SYSTEM_H System(const std::string &name)
virtual void setName(const std::string &name)
virtual Filter::Predictor_< Model > * predictor() const
virtual bool update(double dt)
virtual void reset(State &state)
virtual void setFilter(Filter *filter)=0
virtual const std::string & getName() const
static boost::shared_ptr< System_< ConcreteModel > > create(ConcreteModel *model, const std::string &name="system")
boost::shared_ptr< Filter::Predictor_< Model > > predictor_
System_(const std::string &name="system")
System_(Model *model, const std::string &name)
virtual void reset(State &state)
ParameterList & add(const std::string &key, T &value, const T &default_value)
virtual Filter * filter() const =0
virtual SystemStatus getStatusFlags() const
virtual void getPrior(State &state) const
virtual Filter::Predictor * predictor() const =0
virtual bool init(PoseEstimation &estimator, State &state)
virtual ParameterList & parameters()
traits::Input< ConcreteModel >::Type InputType
virtual bool active(const State &state)
virtual SystemModel * getModel() const
traits::Input< ConcreteModel >::Vector InputVector
unsigned int SystemStatus
virtual bool prepareUpdate(State &state, double dt)
boost::shared_ptr< Model > model_
ParameterList parameters_
virtual bool prepareUpdate(State &state, double dt)
virtual void afterUpdate(State &state)
virtual void afterUpdate(State &state)
virtual Model * getModel() const
SystemStatus status_flags_
virtual Filter * filter() const
virtual bool limitState(State &state)
virtual bool updateImpl(double dt)=0
virtual const ParameterList & parameters() const