#include <entityobjectgraphitem.h>
Public Types | |
| enum | EType : uint8_t { Object, File } |
| using | Type = rtti::Object * |
| using | ClonedResourceMap = std::unordered_map< rtti::Object *, std::vector< rtti::Object * > > |
| using | ObjectsByTypeMap = std::unordered_map< rtti::TypeInfo, std::vector< rtti::Object * > > |
Public Member Functions | |
| const std::string | getID () const |
| uint8_t | getType () const |
| bool | getPointees (std::vector< EntityObjectGraphItem > &pointees, utility::ErrorState &errorState) const |
Static Public Member Functions | |
| static const EntityObjectGraphItem | create (rtti::Object *object, const ObjectsByTypeMap &objectsByType, const ClonedResourceMap &clonedResourceMap) |
Public Attributes | |
| EType | mType |
| std::string | mFilename |
| rtti::Object * | mObject = nullptr |
| const ObjectsByTypeMap * | mObjectsByType = nullptr |
| const ClonedResourceMap * | mClonedResourceMap = nullptr |
Item class for ObjectGraph usage. Wraps both an RTTIObject and a File object (by filename). Uses RTTI traversal to scan pointers to other objects and pointers to files.
| using ClonedResourceMap = std::unordered_map<rtti::Object*, std::vector<rtti::Object*> > |
| using ObjectsByTypeMap = std::unordered_map<rtti::TypeInfo, std::vector<rtti::Object*> > |
| using Type = rtti::Object* |
|
strong |
|
static |
Creates a graph item.
| object | Object to wrap in the item that is created. |
| objectsByType | used to track and group objects by type. |
| clonedResourceMap | used to track cloned resources. |
| const std::string getID | ( | ) | const |
| bool getPointees | ( | std::vector< EntityObjectGraphItem > & | pointees, |
| utility::ErrorState & | errorState | ||
| ) | const |
Performs rtti traversal of pointers to both files and objects.
| pointees | Output parameter, contains all objects and files this object points to. |
| errorState | If false is returned, contains information about the error. |
| uint8_t getType | ( | ) | const |
| const ClonedResourceMap* mClonedResourceMap = nullptr |
| std::string mFilename |
| rtti::Object* mObject = nullptr |
| const ObjectsByTypeMap* mObjectsByType = nullptr |
| EType mType |