Esempio n. 1
0
bool AnyModelsSystem::canLoad(Transfer::DenseDataPtr data) {
    for(SystemsMap::iterator it = mModelsSystems.begin(); it != mModelsSystems.end(); it++) {
        ModelsSystem* ms = it->second;
        if (ms->canLoad(data)) return true;
    }
    return false;
}
Esempio n. 2
0
bool AnyModelsSystem::canLoad(std::tr1::shared_ptr<const Transfer::DenseData> data) {
    for(SystemsMap::iterator it = mModelsSystems.begin(); it != mModelsSystems.end(); it++) {
        ModelsSystem* ms = it->second;
        if (ms->canLoad(data)) return true;
    }
    return false;
}
Esempio n. 3
0
bool AnyModelsSystem::convertVisual(const Mesh::VisualPtr& visual, const String& format, const String& filename) {
    SystemsMap::iterator it = mModelsSystems.find(format);
    if (it == mModelsSystems.end()) {
        SILOG(AnyModelsSystem,error,"AnyModelsSystem couldn't find format " << format << " during mesh conversion.");
        return false;
    }
    ModelsSystem* ms = it->second;
    return ms->convertVisual(visual, "", filename);
}
Esempio n. 4
0
FilterDataPtr SaveFilter::apply(FilterDataPtr input) {
    assert(input->single());

    ModelsSystem* parser = ModelsSystemFactory::getSingleton().getConstructor("any")("");
    VisualPtr vis = input->get();
    bool success = parser->convertVisual(vis, mFormat, mFilename);
    if (!success) {
        std::cout << "Error saving mesh." << std::endl;
        return FilterDataPtr();
    }
    return input;
}
Esempio n. 5
0
Mesh::MeshdataPtr AnyModelsSystem::load(const Transfer::URI& uri, const Transfer::Fingerprint& fp,
    std::tr1::shared_ptr<const Transfer::DenseData> data) {
    Mesh::MeshdataPtr result;
    for(SystemsMap::iterator it = mModelsSystems.begin(); it != mModelsSystems.end(); it++) {
        ModelsSystem* ms = it->second;
        if (ms->canLoad(data)) {
            result = ms->load(uri, fp, data);
            if (result) return result;
        }
    }
    return result;
}
Esempio n. 6
0
Mesh::VisualPtr AnyModelsSystem::load(const Transfer::RemoteFileMetadata& metadata, const Transfer::Fingerprint& fp,
    Transfer::DenseDataPtr data) {
    Mesh::VisualPtr result;
    for(SystemsMap::iterator it = mModelsSystems.begin(); it != mModelsSystems.end(); it++) {
        ModelsSystem* ms = it->second;
        if (ms->canLoad(data)) {
            result = ms->load(metadata, fp, data);
            if (result) return result;
        }
    }
    SILOG(AnyModelsSystem,error,"Couldn't find parser for " << metadata.getURI());
    return result;
}