Sirikata
|
CSVObjectFactory generates objects from an input CSV file. More...
#include <CSVObjectFactory.hpp>
Classes | |
struct | ObjectConnectInfo |
Public Types | |
typedef std::vector< String > | StringList |
Public Member Functions | |
CSVObjectFactory (ObjectHostContext *ctx, ObjectHost *oh, const SpaceID &space, const std::list< String > &search_paths, const String &filename, int32 max_objects, int32 connect_rate) | |
virtual | ~CSVObjectFactory () |
virtual void | generate (const String ×tamp="current") |
Generate objects for the scene and connect them to the space. | |
Static Public Member Functions | |
static CSVObjectFactory::StringList | sepCommas (String toSep) |
Private Member Functions | |
void | connectObjects () |
Private Attributes | |
ObjectHostContext * | mContext |
ObjectHost * | mOH |
SpaceID | mSpace |
String | mFilename |
int32 | mMaxObjects |
std::queue< ObjectConnectInfo > | mIncompleteObjects |
int32 | mConnectRate |
CSVObjectFactory generates objects from an input CSV file.
typedef std::vector<String> Sirikata::CSVObjectFactory::StringList |
Sirikata::CSVObjectFactory::CSVObjectFactory | ( | ObjectHostContext * | ctx, |
ObjectHost * | oh, | ||
const SpaceID & | space, | ||
const std::list< String > & | search_paths, | ||
const String & | filename, | ||
int32 | max_objects, | ||
int32 | connect_rate | ||
) |
References Sirikata::Logging::error, mFilename, and SILOG.
virtual Sirikata::CSVObjectFactory::~CSVObjectFactory | ( | ) | [inline, virtual] |
void Sirikata::CSVObjectFactory::connectObjects | ( | ) | [private] |
References Sirikata::CSVObjectFactory::ObjectConnectInfo::bounds, Sirikata::CSVObjectFactory::ObjectConnectInfo::loc, Sirikata::Context::mainStrand, mConnectRate, mContext, Sirikata::CSVObjectFactory::ObjectConnectInfo::mesh, mIncompleteObjects, mSpace, Sirikata::CSVObjectFactory::ObjectConnectInfo::object, Sirikata::CSVObjectFactory::ObjectConnectInfo::physics, Sirikata::Network::IOStrand::post(), Sirikata::CSVObjectFactory::ObjectConnectInfo::query, and Sirikata::Context::stopped().
Referenced by generate().
void Sirikata::CSVObjectFactory::generate | ( | const String & | timestamp = "current" | ) | [virtual] |
Generate objects for the scene and connect them to the space.
Implements Sirikata::ObjectFactory.
References Sirikata::CSVObjectFactory::ObjectConnectInfo::bounds, connectObjects(), Sirikata::ObjectHost::createObject(), Sirikata::Logging::detailed, line, Sirikata::CSVObjectFactory::ObjectConnectInfo::loc, Sirikata::CSVObjectFactory::ObjectConnectInfo::mesh, mFilename, mIncompleteObjects, mMaxObjects, mOH, obj, Sirikata::CSVObjectFactory::ObjectConnectInfo::object, Sirikata::CSVObjectFactory::ObjectConnectInfo::physics, Sirikata::CSVObjectFactory::ObjectConnectInfo::query, sepCommas(), and SILOG.
CSVObjectFactory::StringList Sirikata::CSVObjectFactory::sepCommas | ( | String | toSep | ) | [static] |
a | string that may have multiple commas |
input: a,b returns: <a,b> input: b returns: input: "a,b",c returns: <"a,b",c>
(note: "somethign,a",
The vector is ordered so that the lower the index the earlier the string appeared on the line.
Referenced by generate().
int32 Sirikata::CSVObjectFactory::mConnectRate [private] |
Referenced by connectObjects().
Referenced by connectObjects().
String Sirikata::CSVObjectFactory::mFilename [private] |
Referenced by CSVObjectFactory(), and generate().
std::queue<ObjectConnectInfo> Sirikata::CSVObjectFactory::mIncompleteObjects [private] |
Referenced by connectObjects(), and generate().
int32 Sirikata::CSVObjectFactory::mMaxObjects [private] |
Referenced by generate().
ObjectHost* Sirikata::CSVObjectFactory::mOH [private] |
Referenced by generate().
SpaceID Sirikata::CSVObjectFactory::mSpace [private] |
Referenced by connectObjects().