ed
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ed::world_model::TransformCrawler Class Reference

The TransformCrawler class. More...

#include <transform_crawler.h>

Classes

struct  Node
 

Public Member Functions

const EntityConstPtrentity () const
 
bool hasNext () const
 
bool next ()
 
const geo::Pose3Dtransform () const
 
 TransformCrawler (const WorldModel &wm, const UUID &start_id, const Time &time)
 

Private Member Functions

void pushChildren (const Entity &e, const geo::Pose3D &transform)
 

Private Attributes

std::queue< Nodequeue_
 
Time time_
 
std::set< Idxvisited_
 
const WorldModelwm_
 

Detailed Description

The TransformCrawler class.

Starting with the given entity ID, this class crawls the world model transformation graph in a breadth-first manner. Each node (world model entity) is only visited once. For each visited entity, the transformation from the root entity (i.e., the given entity) is calculated.

Definition at line 23 of file transform_crawler.h.

Constructor & Destructor Documentation

◆ TransformCrawler()

ed::world_model::TransformCrawler::TransformCrawler ( const WorldModel wm,
const UUID start_id,
const Time time 
)

Definition at line 14 of file transform_crawler.cpp.

Member Function Documentation

◆ entity()

const EntityConstPtr & ed::world_model::TransformCrawler::entity ( ) const

Definition at line 28 of file transform_crawler.cpp.

◆ hasNext()

bool ed::world_model::TransformCrawler::hasNext ( ) const
inline

Definition at line 40 of file transform_crawler.h.

◆ next()

bool ed::world_model::TransformCrawler::next ( )

Definition at line 35 of file transform_crawler.cpp.

◆ pushChildren()

void ed::world_model::TransformCrawler::pushChildren ( const Entity e,
const geo::Pose3D transform 
)
private

Definition at line 53 of file transform_crawler.cpp.

◆ transform()

const geo::Pose3D& ed::world_model::TransformCrawler::transform ( ) const
inline

Definition at line 42 of file transform_crawler.h.

Member Data Documentation

◆ queue_

std::queue<Node> ed::world_model::TransformCrawler::queue_
private

Definition at line 54 of file transform_crawler.h.

◆ time_

Time ed::world_model::TransformCrawler::time_
private

Definition at line 50 of file transform_crawler.h.

◆ visited_

std::set<Idx> ed::world_model::TransformCrawler::visited_
private

Definition at line 52 of file transform_crawler.h.

◆ wm_

const WorldModel& ed::world_model::TransformCrawler::wm_
private

Definition at line 48 of file transform_crawler.h.


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