ed
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ed::WorldModel Class Reference

#include <world_model.h>

Classes

class  EntityIterator
 

Public Types

typedef EntityIterator const_iterator
 

Public Member Functions

const_iterator begin () const
 
bool calculateTransform (const UUID &source, const UUID &target, const Time &time, geo::Pose3D &tf) const
 
const_iterator end () const
 
const std::vector< EntityConstPtr > & entities () const
 Warning: the return vector may return null-pointers. More...
 
const std::vector< unsigned long > & entity_collision_revisions () const
 
const std::vector< unsigned long > & entity_revisions () const
 
const std::vector< unsigned long > & entity_shape_revisions () const
 
const std::vector< unsigned long > & entity_visual_revisions () const
 
const std::vector< unsigned long > & entity_volumes_revisions () const
 
bool findEntityIdx (const UUID &id, Idx &idx) const
 
EntityConstPtr getEntity (const ed::UUID &id) const
 
const PropertyKeyDBEntrygetPropertyInfo (const std::string &name) const
 
size_t numEntities () const
 
const std::vector< RelationConstPtr > & relations () const
 Warning: the return vector may return null-pointers. More...
 
void removeEntity (const UUID &id)
 
unsigned long revision () const
 
void setEntity (const UUID &id, const EntityConstPtr &e)
 
void setRelation (Idx parent, Idx child, const RelationConstPtr &r)
 
void update (const UpdateRequest &req)
 
 WorldModel (const PropertyKeyDB *prop_key_db=nullptr)
 

Private Member Functions

Idx addNewEntity (const EntityConstPtr &e)
 
Idx addRelation (const RelationConstPtr &r)
 
EntityPtr getOrAddEntity (const UUID &id, std::map< UUID, EntityPtr > &new_entities)
 

Private Attributes

std::vector< EntityConstPtrentities_
 
std::vector< unsigned long > entity_collision_revisions_
 
std::queue< Idxentity_empty_spots_
 
std::map< UUID, Idxentity_map_
 
std::vector< unsigned long > entity_revisions_
 
std::vector< unsigned long > entity_visual_revisions_
 
std::vector< unsigned long > entity_volumes_revisions_
 
const PropertyKeyDBproperty_info_db_
 
std::vector< RelationConstPtrrelations_
 
unsigned long revision_
 

Detailed Description

Definition at line 21 of file world_model.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 64 of file world_model.h.

Constructor & Destructor Documentation

◆ WorldModel()

ed::WorldModel::WorldModel ( const PropertyKeyDB prop_key_db = nullptr)

Definition at line 17 of file world_model.cpp.

Member Function Documentation

◆ addNewEntity()

Idx ed::WorldModel::addNewEntity ( const EntityConstPtr e)
private

Definition at line 463 of file world_model.cpp.

◆ addRelation()

Idx ed::WorldModel::addRelation ( const RelationConstPtr r)
private

Definition at line 364 of file world_model.cpp.

◆ begin()

const_iterator ed::WorldModel::begin ( ) const
inline

Definition at line 68 of file world_model.h.

◆ calculateTransform()

bool ed::WorldModel::calculateTransform ( const UUID source,
const UUID target,
const Time time,
geo::Pose3D tf 
) const

Definition at line 246 of file world_model.cpp.

◆ end()

const_iterator ed::WorldModel::end ( ) const
inline

Definition at line 70 of file world_model.h.

◆ entities()

const std::vector<EntityConstPtr>& ed::WorldModel::entities ( ) const
inline

Warning: the return vector may return null-pointers.

Definition at line 96 of file world_model.h.

◆ entity_collision_revisions()

const std::vector<unsigned long>& ed::WorldModel::entity_collision_revisions ( ) const
inline

Definition at line 110 of file world_model.h.

◆ entity_revisions()

const std::vector<unsigned long>& ed::WorldModel::entity_revisions ( ) const
inline

Definition at line 103 of file world_model.h.

◆ entity_shape_revisions()

const std::vector<unsigned long>& ed::WorldModel::entity_shape_revisions ( ) const
inline

Definition at line 106 of file world_model.h.

◆ entity_visual_revisions()

const std::vector<unsigned long>& ed::WorldModel::entity_visual_revisions ( ) const
inline

Definition at line 108 of file world_model.h.

◆ entity_volumes_revisions()

const std::vector<unsigned long>& ed::WorldModel::entity_volumes_revisions ( ) const
inline

Definition at line 112 of file world_model.h.

◆ findEntityIdx()

bool ed::WorldModel::findEntityIdx ( const UUID id,
Idx idx 
) const

Definition at line 444 of file world_model.cpp.

◆ getEntity()

EntityConstPtr ed::WorldModel::getEntity ( const ed::UUID id) const
inline

Definition at line 76 of file world_model.h.

◆ getOrAddEntity()

EntityPtr ed::WorldModel::getOrAddEntity ( const UUID id,
std::map< UUID, EntityPtr > &  new_entities 
)
private

Definition at line 405 of file world_model.cpp.

◆ getPropertyInfo()

const PropertyKeyDBEntry * ed::WorldModel::getPropertyInfo ( const std::string name) const

Definition at line 488 of file world_model.cpp.

◆ numEntities()

size_t ed::WorldModel::numEntities ( ) const
inline

Definition at line 85 of file world_model.h.

◆ relations()

const std::vector<RelationConstPtr>& ed::WorldModel::relations ( ) const
inline

Warning: the return vector may return null-pointers.

Definition at line 99 of file world_model.h.

◆ removeEntity()

void ed::WorldModel::removeEntity ( const UUID id)

Definition at line 388 of file world_model.cpp.

◆ revision()

unsigned long ed::WorldModel::revision ( ) const
inline

Definition at line 101 of file world_model.h.

◆ setEntity()

void ed::WorldModel::setEntity ( const UUID id,
const EntityConstPtr e 
)

Definition at line 373 of file world_model.cpp.

◆ setRelation()

void ed::WorldModel::setRelation ( Idx  parent,
Idx  child,
const RelationConstPtr r 
)

Definition at line 325 of file world_model.cpp.

◆ update()

void ed::WorldModel::update ( const UpdateRequest req)

Definition at line 23 of file world_model.cpp.

Member Data Documentation

◆ entities_

std::vector<EntityConstPtr> ed::WorldModel::entities_
private

Definition at line 122 of file world_model.h.

◆ entity_collision_revisions_

std::vector<unsigned long> ed::WorldModel::entity_collision_revisions_
private

Definition at line 128 of file world_model.h.

◆ entity_empty_spots_

std::queue<Idx> ed::WorldModel::entity_empty_spots_
private

Definition at line 132 of file world_model.h.

◆ entity_map_

std::map<UUID, Idx> ed::WorldModel::entity_map_
private

Definition at line 120 of file world_model.h.

◆ entity_revisions_

std::vector<unsigned long> ed::WorldModel::entity_revisions_
private

Definition at line 124 of file world_model.h.

◆ entity_visual_revisions_

std::vector<unsigned long> ed::WorldModel::entity_visual_revisions_
private

Definition at line 126 of file world_model.h.

◆ entity_volumes_revisions_

std::vector<unsigned long> ed::WorldModel::entity_volumes_revisions_
private

Definition at line 130 of file world_model.h.

◆ property_info_db_

const PropertyKeyDB* ed::WorldModel::property_info_db_
private

Definition at line 136 of file world_model.h.

◆ relations_

std::vector<RelationConstPtr> ed::WorldModel::relations_
private

Definition at line 134 of file world_model.h.

◆ revision_

unsigned long ed::WorldModel::revision_
private

Definition at line 118 of file world_model.h.


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