Maintain a diff list of changes that have happened to a World. More...
#include <world_diff.h>
Public Types | |
using | const_iterator = std::map< std::string, World::Action >::const_iterator |
Public Member Functions | |
const_iterator | begin () const |
void | clearChanges () |
Clear the internally maintained vector of changes. More... | |
const_iterator | end () const |
const_iterator | find (const std::string &id) const |
const std::map< std::string, World::Action > & | getChanges () const |
Return all the changes that have been recorded. More... | |
void | reset () |
Turn off recording and erase all previously recorded changes. More... | |
void | reset (const WorldPtr &world) |
Set which world to record. Erases all previously recorded changes. More... | |
void | set (const std::string &id, World::Action val) |
void | setWorld (const WorldPtr &world) |
Set which world to record. Records all objects in old world (if any) as DESTROYED and all objects in new world as CREATED and ADD_SHAPE. More... | |
size_t | size () const |
WorldDiff () | |
Constructor. More... | |
WorldDiff (const WorldPtr &world) | |
Constructor. More... | |
WorldDiff (WorldDiff &other) | |
copy constructor. More... | |
~WorldDiff () | |
Private Member Functions | |
void | notify (const World::ObjectConstPtr &, World::Action) |
Notification function. More... | |
Private Attributes | |
std::map< std::string, World::Action > | changes_ |
World::ObserverHandle | observer_handle_ |
WorldWeakPtr | world_ |
Maintain a diff list of changes that have happened to a World.
Definition at line 79 of file world_diff.h.
using collision_detection::WorldDiff::const_iterator = std::map<std::string, World::Action>::const_iterator |
Definition at line 111 of file world_diff.h.
collision_detection::WorldDiff::WorldDiff | ( | ) |
Constructor.
Definition at line 81 of file world_diff.cpp.
collision_detection::WorldDiff::WorldDiff | ( | const WorldPtr & | world | ) |
Constructor.
Definition at line 85 of file world_diff.cpp.
collision_detection::WorldDiff::WorldDiff | ( | WorldDiff & | other | ) |
copy constructor.
Definition at line 91 of file world_diff.cpp.
collision_detection::WorldDiff::~WorldDiff | ( | ) |
Definition at line 74 of file world_diff.cpp.
|
inline |
iterator pointing to first change
Definition at line 113 of file world_diff.h.
void collision_detection::WorldDiff::clearChanges | ( | ) |
Clear the internally maintained vector of changes.
Definition at line 144 of file world_diff.cpp.
|
inline |
iterator pointing to end of changes
Definition at line 118 of file world_diff.h.
|
inline |
find changes for a named object
Definition at line 128 of file world_diff.h.
|
inline |
Return all the changes that have been recorded.
Definition at line 106 of file world_diff.h.
|
private |
Notification function.
Definition at line 149 of file world_diff.cpp.
void collision_detection::WorldDiff::reset | ( | ) |
Turn off recording and erase all previously recorded changes.
Definition at line 104 of file world_diff.cpp.
void collision_detection::WorldDiff::reset | ( | const WorldPtr & | world | ) |
Set which world to record. Erases all previously recorded changes.
Definition at line 115 of file world_diff.cpp.
|
inline |
set the entry for an id
Definition at line 133 of file world_diff.h.
void collision_detection::WorldDiff::setWorld | ( | const WorldPtr & | world | ) |
Set which world to record. Records all objects in old world (if any) as DESTROYED and all objects in new world as CREATED and ADD_SHAPE.
Definition at line 128 of file world_diff.cpp.
|
inline |
number of changes stored
Definition at line 123 of file world_diff.h.
|
private |
keep changes in a map so they can be coalesced
Definition at line 149 of file world_diff.h.
|
private |
Definition at line 152 of file world_diff.h.
|
private |
Definition at line 155 of file world_diff.h.