Sirikata
|
#include <ColladaSystem.hpp>
Public Member Functions | |
virtual | ~ColladaSystem () |
virtual bool | canLoad (Transfer::DenseDataPtr data) |
Check if this ModelsSystem will be able to parse the data. | |
virtual Mesh::VisualPtr | load (const Transfer::RemoteFileMetadata &metadata, const Transfer::Fingerprint &fp, Transfer::DenseDataPtr data) |
Load a mesh into a Visual object. | |
virtual Mesh::VisualPtr | load (Transfer::DenseDataPtr data) |
virtual bool | convertVisual (const Mesh::VisualPtr &visual, const String &format, std::ostream &vout) |
Convert a Visual to the format for this ModelsSystem. | |
virtual bool | convertVisual (const Mesh::VisualPtr &visual, const String &format, const String &filename) |
Convert a Visual to the format for this ModelsSystem. | |
Static Public Member Functions | |
static ColladaSystem * | create (String const &options) |
Private Types | |
typedef std::set < ColladaDocumentPtr > | DocumentSet |
Private Member Functions | |
ColladaSystem () | |
ColladaSystem (ColladaSystem const &) | |
ColladaSystem & | operator= (ColladaSystem const &) |
bool | initialize (String const &options) |
void | addHeaderData (const Transfer::RemoteFileMetadata &metadata, Mesh::MeshdataPtr mesh) |
Private Attributes | |
DocumentSet | mDocuments |
typedef std::set< ColladaDocumentPtr > Sirikata::Models::ColladaSystem::DocumentSet [private] |
Sirikata::Models::ColladaSystem::~ColladaSystem | ( | ) | [virtual] |
References Sirikata::Logging::insane.
Sirikata::Models::ColladaSystem::ColladaSystem | ( | ) | [private] |
References Sirikata::Logging::insane.
Sirikata::Models::ColladaSystem::ColladaSystem | ( | ColladaSystem const & | ) | [private] |
void Sirikata::Models::ColladaSystem::addHeaderData | ( | const Transfer::RemoteFileMetadata & | metadata, |
Mesh::MeshdataPtr | mesh | ||
) | [private] |
References Sirikata::Mesh::ProgressiveMipmapArchive::archiveHash, Sirikata::SHA256::convertFromHex(), Sirikata::Logging::detailed, Sirikata::Transfer::RemoteFileMetadata::getHeaders(), Sirikata::Transfer::RemoteFileMetadata::getURI(), Sirikata::Mesh::ProgressiveMipmapLevel::height, Sirikata::Mesh::ProgressiveMipmapLevel::length, Sirikata::Mesh::ProgressiveMipmapArchive::mipmaps, Sirikata::Mesh::ProgressiveMipmapArchive::name, Sirikata::Mesh::ProgressiveMipmapLevel::offset, Sirikata::uint32_lexical_cast(), Sirikata::Logging::warn, and Sirikata::Mesh::ProgressiveMipmapLevel::width.
Referenced by load().
bool Sirikata::Models::ColladaSystem::canLoad | ( | Transfer::DenseDataPtr | data | ) | [virtual] |
Check if this ModelsSystem will be able to parse the data.
This doesn't guarantee successful parsing: generally it only checks for magic numbers to see if it is likely a supported format.
Implements Sirikata::ModelsSystem.
Referenced by load().
bool Sirikata::Models::ColladaSystem::convertVisual | ( | const Mesh::VisualPtr & | visual, |
const String & | format, | ||
std::ostream & | vout | ||
) | [virtual] |
Convert a Visual to the format for this ModelsSystem.
visual | the Visual to save to disk |
format | format hint (may or may not be used by plugin) |
vout | an output stream to write the visual's data to |
Implements Sirikata::ModelsSystem.
References Sirikata::Path::DIR_TEMP, Sirikata::Logging::error, Sirikata::Path::Get(), and Sirikata::Path::GetTempFilename().
bool Sirikata::Models::ColladaSystem::convertVisual | ( | const Mesh::VisualPtr & | visual, |
const String & | format, | ||
const String & | filename | ||
) | [virtual] |
Convert a Visual to the format for this ModelsSystem.
visual | the Visual to save to disk |
format | format hint (may or may not be used by plugin) |
filename | the file to save the serialized mesh to |
Implements Sirikata::ModelsSystem.
References Sirikata::meshdataToCollada().
ColladaSystem * Sirikata::Models::ColladaSystem::create | ( | String const & | options | ) | [static] |
References initialize(), and Sirikata::Logging::insane.
Referenced by init().
bool Sirikata::Models::ColladaSystem::initialize | ( | String const & | options | ) | [private] |
References Sirikata::OptionSet::getOptions(), Sirikata::Logging::insane, and Sirikata::OptionSet::parse().
Referenced by create().
Mesh::VisualPtr Sirikata::Models::ColladaSystem::load | ( | Transfer::DenseDataPtr | data | ) | [virtual] |
Mesh::VisualPtr Sirikata::Models::ColladaSystem::load | ( | const Transfer::RemoteFileMetadata & | metadata, |
const Transfer::Fingerprint & | fp, | ||
Transfer::DenseDataPtr | data | ||
) | [virtual] |
Load a mesh into a Visual object.
Implements Sirikata::ModelsSystem.
References addHeaderData(), canLoad(), and Sirikata::Transfer::RemoteFileMetadata::getURI().
ColladaSystem& Sirikata::Models::ColladaSystem::operator= | ( | ColladaSystem const & | ) | [private] |