Classes | Namespaces | Typedefs | Functions

typeinst.h File Reference

#include "aesop-base/aesop-base.h"
#include "datahash/datahash.h"
#include "datahash/datahash_util.h"
#include "geometry/placement.h"
#include "story/story.h"
Include dependency graph for typeinst.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aesop::ComponentData
 a base class that components can use to provide rich implementations More...
class  aesop::Instance
 A concrete instantiation of an object at a given place. More...
class  aesop::TypeComponentLoader
 Clients of this library need to provide component loaders for anything that they want loaded. More...

Namespaces

namespace  aesop

Typedefs

typedef std::vector< smart_ptr
< Instance > > 
aesop::vec_instance_t
 vector of instances
typedef void(* aesop::instance_iteration_fn )(IN smart_ptr< Instance > &instance, IN void *context)
 a typedef to support iteration of instances.

Functions

void aesop::initializeTypeInstanceLibrary (IN smart_ptr< story::Story > &story)
 Must initialize the type instance library at the beginning of time!
void aesop::registerTypeComponentLoader (IN smart_ptr< aesop::TypeComponentLoader > &tcl)
 Static method for registering type component loaders.
void aesop::loadInstances (IO std::istream &stream, OUT vec_instance_t &instances)
 Load Instance objects from the given stream.
const char * aesop::getKeyWithOverrides (IN const char *keyName, IN const Datahash *instanceData, IN const Datahash *typeData, IN const Datahash *modelData, IN eDatahash_Flag flag)
 handy utility method for type component loaders: given the three raw data hashes (instance data, type data, and model data) get the value from the appropriate override source (instance, then type, then model)