コード例 #1
0
CC_FILE_ERROR FileIOFilter::SaveToFile(	ccHObject* entities,
										const QString& filename,
										SaveParameters& parameters,
										Shared filter)
{
	if (!entities || filename.isEmpty() || !filter)
		return CC_FERR_BAD_ARGUMENT;

	//if the file name has no extension, we had a default one!
	QString completeFileName(filename);
	if (QFileInfo(filename).suffix().isEmpty())
		completeFileName += QString(".%1").arg(filter->getDefaultExtension());

	CC_FILE_ERROR result = CC_FERR_NO_ERROR;
	try
	{
		result = filter->saveToFile(entities, completeFileName, parameters);
	}
	catch(...)
	{
		ccLog::Warning(QString("[I/O] CC has caught an unhandled exception while saving file '%1'").arg(filename));
		result = CC_FERR_CONSOLE_ERROR;
	}

	if (result == CC_FERR_NO_ERROR)
	{
		ccLog::Print(QString("[I/O] File '%1' saved successfully").arg(filename));
	}
	else
	{
		DisplayErrorMessage(result,"saving",filename);
	}

	return result;
}
コード例 #2
0
ファイル: filenameoption.cpp プロジェクト: alwanderer/gromacs
FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings)
    : MyBase(settings), info_(this), filetype_(settings.filetype_),
      bRead_(settings.bRead_), bWrite_(settings.bWrite_),
      bLibrary_(settings.bLibrary_)
{
    if (settings.defaultBasename_ != NULL)
    {
        if (isRequired())
        {
            setDefaultValue(completeFileName(settings.defaultBasename_,
                                             filetype_, false));
        }
        else
        {
            setDefaultValueIfSet(completeFileName(settings.defaultBasename_,
                                                  filetype_, false));
        }
    }
}
コード例 #3
0
ファイル: filesystem.cpp プロジェクト: Daverball/mkxp
	PHYSFS_File *openReadHandle(const char *filename,
	                            FileSystem::FileType type,
	                            const char **foundExt)
	{
		char found[512];

		if (!completeFileName(filename, type, found, sizeof(found), foundExt))
			throw Exception(Exception::NoFileError, "%s", filename);

		PHYSFS_File *handle = PHYSFS_openRead(found);

		if (!handle)
			throw Exception(Exception::PHYSFSError, "PhysFS: %s", PHYSFS_getLastError());

		return handle;
	}
コード例 #4
0
CC_FILE_ERROR FileIOFilter::SaveToFile(ccHObject* entities, const char* filename, CC_FILE_TYPES fType)
{
    if (!entities || !filename || fType == UNKNOWN_FILE)
        return CC_FERR_BAD_ARGUMENT;

	FileIOFilter* fio = CreateFilter(fType);
	if (!fio)
        return CC_FERR_WRONG_FILE_TYPE;

    //if the file name has no extension, we had a default one!
    QString completeFileName(filename);
	if (QFileInfo(filename).suffix().isEmpty())
        completeFileName += QString(".%1").arg(CC_FILE_TYPE_DEFAULT_EXTENSION[fType]);

    CC_FILE_ERROR result = fio->saveToFile(entities, qPrintable(completeFileName));

    delete fio;
    fio = 0;

    return result;
}
コード例 #5
0
ファイル: FileIOFilter.cpp プロジェクト: vivzqs/trunk
CC_FILE_ERROR FileIOFilter::SaveToFile(ccHObject* entities, const char* filename, CC_FILE_TYPES fType)
{
    if (!entities || !filename || fType == UNKNOWN_FILE)
        return CC_FERR_BAD_ARGUMENT;

    FileIOFilter* fio = NULL;

    switch (fType)
    {
    case BIN:
        fio = new BinFilter();
        break;
    case ASCII:
        fio = new AsciiFilter();
        break;
    case OBJ:
        fio = new ObjFilter();
        break;
    case PLY:
        fio = new PlyFilter();
        break;
    case PN:
        fio = new PNFilter();
        break;
    case PV:
        fio = new PVFilter();
        break;
    case MA:
        fio = new MAFilter();
        break;
    case DM_ASCII:
        fio = new DepthMapFileFilter();
        break;
    case VTK:
        fio = new VTKFilter();
        break;
    case STL:
        fio = new STLFilter();
        break;
    case PCD:
        fio = new PCDFilter();
        break;
#ifdef CC_X3D_SUPPORT
    case X3D:
        fio = new X3DFilter();
        break;
#endif
#ifdef CC_E57_SUPPORT
    case E57:
        fio = new E57Filter();
        break;
#endif
#ifdef CC_PDMS_SUPPORT
    case PDMS:
        fio = new PDMSFilter();
        break;
#endif
#ifdef CC_LAS_SUPPORT
    case LAS:
        fio = new LASFilter();
        break;
#endif
    case POV:
        //TODO
        //fio = new PovFilter();
        break;
    case SOI:
    case ICM:
    case BUNDLER:
    case UNKNOWN_FILE:
    case FILE_TYPES_COUNT:
        //nothing to do
        break;
    }

    if (!fio)
        return CC_FERR_WRONG_FILE_TYPE;

    //if the file name has no extension, we had a default one!
    QString completeFileName(filename);
    if (QFileInfo(filename).suffix().isEmpty())
        completeFileName += QString(".%1").arg(CC_FILE_TYPE_DEFAULT_EXTENSION[fType]);

    CC_FILE_ERROR result = fio->saveToFile(entities, qPrintable(completeFileName));

    delete fio;
    fio=0;

    return result;
}
コード例 #6
0
ファイル: filenameoption.cpp プロジェクト: alwanderer/gromacs
void FileNameOptionStorage::convertValue(const std::string &value)
{
    bool bInput = isInputFile() || isInputOutputFile();
    addValue(completeFileName(value, filetype_, bInput));
}