ed
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ed::PluginContainer Class Reference

#include <plugin_container.h>

Public Member Functions

void addDelta (const UpdateRequestConstPtr &delta)
 
void clearUpdateRequest ()
 
void configure (InitData &init, bool reconfigure)
 
ed::LoopUsageStatusgetLoopUsageStatus ()
 
bool isRunning () const
 
PluginPtr loadPlugin (const std::string &plugin_name, const std::string &plugin_type, InitData &init)
 
double loopFrequency () const
 
const std::stringname () const
 
PluginPtr plugin () const
 
 PluginContainer (const ed::TFBufferConstPtr &tf_buffer_)
 
void requestStop ()
 
void runThreaded ()
 
void setLoopFrequency (double freq)
 
void setWorld (const WorldModelConstPtr &world)
 
UpdateRequestConstPtr updateRequest () const
 
virtual ~PluginContainer ()
 

Protected Member Functions

void run ()
 
bool step ()
 

Protected Attributes

pluginlib::ClassLoader< ed::Plugin > * class_loader_
 
double cycle_duration_
 
bool is_running_
 
double loop_frequency_
 
double loop_frequency_max_
 
double loop_frequency_min_
 
std::unique_ptr< ed::LoopUsageStatusloop_usage_status_
 
boost::mutex mutex_update_request_
 
boost::mutex mutex_world_
 
std::string name_
 
PluginPtr plugin_
 
bool request_stop_
 
bool step_finished_
 
double t_last_update_
 
TFBufferConstPtr tf_buffer_
 
ed::shared_ptr< boost::thread > thread_
 
UpdateRequestPtr update_request_
 
WorldModelConstPtr world_current_
 
std::vector< UpdateRequestConstPtrworld_deltas_
 
WorldModelConstPtr world_new_
 

Detailed Description

Definition at line 25 of file plugin_container.h.

Constructor & Destructor Documentation

◆ PluginContainer()

ed::PluginContainer::PluginContainer ( const ed::TFBufferConstPtr tf_buffer_)

Definition at line 16 of file plugin_container.cpp.

◆ ~PluginContainer()

ed::PluginContainer::~PluginContainer ( )
virtual

Definition at line 25 of file plugin_container.cpp.

Member Function Documentation

◆ addDelta()

void ed::PluginContainer::addDelta ( const UpdateRequestConstPtr delta)
inline

Definition at line 68 of file plugin_container.h.

◆ clearUpdateRequest()

void ed::PluginContainer::clearUpdateRequest ( )
inline

Definition at line 52 of file plugin_container.h.

◆ configure()

void ed::PluginContainer::configure ( InitData init,
bool  reconfigure 
)

Definition at line 76 of file plugin_container.cpp.

◆ getLoopUsageStatus()

ed::LoopUsageStatus& ed::PluginContainer::getLoopUsageStatus ( )
inline

Definition at line 76 of file plugin_container.h.

◆ isRunning()

bool ed::PluginContainer::isRunning ( ) const
inline

Definition at line 74 of file plugin_container.h.

◆ loadPlugin()

PluginPtr ed::PluginContainer::loadPlugin ( const std::string plugin_name,
const std::string plugin_type,
InitData init 
)

Definition at line 39 of file plugin_container.cpp.

◆ loopFrequency()

double ed::PluginContainer::loopFrequency ( ) const
inline

Definition at line 66 of file plugin_container.h.

◆ name()

const std::string& ed::PluginContainer::name ( ) const
inline

Definition at line 44 of file plugin_container.h.

◆ plugin()

PluginPtr ed::PluginContainer::plugin ( ) const
inline

Definition at line 36 of file plugin_container.h.

◆ requestStop()

void ed::PluginContainer::requestStop ( )

Definition at line 205 of file plugin_container.cpp.

◆ run()

void ed::PluginContainer::run ( )
protected

Definition at line 129 of file plugin_container.cpp.

◆ runThreaded()

void ed::PluginContainer::runThreaded ( )

Definition at line 121 of file plugin_container.cpp.

◆ setLoopFrequency()

void ed::PluginContainer::setLoopFrequency ( double  freq)
inline

Definition at line 64 of file plugin_container.h.

◆ setWorld()

void ed::PluginContainer::setWorld ( const WorldModelConstPtr world)
inline

Definition at line 58 of file plugin_container.h.

◆ step()

bool ed::PluginContainer::step ( )
protected

Definition at line 153 of file plugin_container.cpp.

◆ updateRequest()

UpdateRequestConstPtr ed::PluginContainer::updateRequest ( ) const
inline

Definition at line 46 of file plugin_container.h.

Member Data Documentation

◆ class_loader_

pluginlib::ClassLoader<ed::Plugin>* ed::PluginContainer::class_loader_
protected

Definition at line 80 of file plugin_container.h.

◆ cycle_duration_

double ed::PluginContainer::cycle_duration_
protected

Definition at line 91 of file plugin_container.h.

◆ is_running_

bool ed::PluginContainer::is_running_
protected

Definition at line 88 of file plugin_container.h.

◆ loop_frequency_

double ed::PluginContainer::loop_frequency_
protected

Definition at line 93 of file plugin_container.h.

◆ loop_frequency_max_

double ed::PluginContainer::loop_frequency_max_
protected

Definition at line 95 of file plugin_container.h.

◆ loop_frequency_min_

double ed::PluginContainer::loop_frequency_min_
protected

Definition at line 96 of file plugin_container.h.

◆ loop_usage_status_

std::unique_ptr<ed::LoopUsageStatus> ed::PluginContainer::loop_usage_status_
protected

Definition at line 116 of file plugin_container.h.

◆ mutex_update_request_

boost::mutex ed::PluginContainer::mutex_update_request_
mutableprotected

Definition at line 98 of file plugin_container.h.

◆ mutex_world_

boost::mutex ed::PluginContainer::mutex_world_
mutableprotected

Definition at line 108 of file plugin_container.h.

◆ name_

std::string ed::PluginContainer::name_
protected

Definition at line 84 of file plugin_container.h.

◆ plugin_

PluginPtr ed::PluginContainer::plugin_
protected

Definition at line 82 of file plugin_container.h.

◆ request_stop_

bool ed::PluginContainer::request_stop_
protected

Definition at line 86 of file plugin_container.h.

◆ step_finished_

bool ed::PluginContainer::step_finished_
protected

Definition at line 104 of file plugin_container.h.

◆ t_last_update_

double ed::PluginContainer::t_last_update_
protected

Definition at line 106 of file plugin_container.h.

◆ tf_buffer_

TFBufferConstPtr ed::PluginContainer::tf_buffer_
protected

Definition at line 114 of file plugin_container.h.

◆ thread_

ed::shared_ptr<boost::thread> ed::PluginContainer::thread_
protected

Definition at line 102 of file plugin_container.h.

◆ update_request_

UpdateRequestPtr ed::PluginContainer::update_request_
protected

Definition at line 100 of file plugin_container.h.

◆ world_current_

WorldModelConstPtr ed::PluginContainer::world_current_
protected

Definition at line 112 of file plugin_container.h.

◆ world_deltas_

std::vector<UpdateRequestConstPtr> ed::PluginContainer::world_deltas_
protected

Definition at line 124 of file plugin_container.h.

◆ world_new_

WorldModelConstPtr ed::PluginContainer::world_new_
protected

Definition at line 110 of file plugin_container.h.


The documentation for this class was generated from the following files: