コード例 #1
0
ファイル: VTKUnstructured.cpp プロジェクト: flbernard/bitpit
/*!  
 *  Reads meta data of VTU file (grid size, data fields, codex, position of data within file).
 *  Calls setDimension.
 */
void VTKUnstructuredGrid::readMetaData( ){

    std::fstream str;
    std::string line, temp;

    std::fstream::pos_type        position;

    str.open( fh.getPath( ), std::ios::in ) ;

    getline( str, line);
    while( ! bitpit::utils::keywordInString( line, "<VTKFile")){
        getline(str, line);
    };

    if( bitpit::utils::getAfterKeyword( line, "header_type", '\"', temp) ){
        setHeaderType( temp) ;
    };

    while( ! bitpit::utils::keywordInString( line, "<Piece")){
        getline(str, line);
    };

    bitpit::utils::getAfterKeyword( line, "NumberOfPoints", '\"', temp) ;
    bitpit::utils::convertString( temp, nr_points );

    bitpit::utils::getAfterKeyword( line, "NumberOfCells", '\"', temp) ;
    bitpit::utils::convertString( temp, nr_cells );


    position = str.tellg() ;
    readDataHeader( str ) ;


    for( auto &field : geometry ){ 
        str.seekg( position) ;
        if( ! readDataArray( str, *field ) ) {
            std::cout << field->getName() << " DataArray not found" << std::endl ;
        };
    };


    str.close() ;

    if( homogeneousType == VTKElementType::UNDEFINED) {
        setDimensions( nr_cells, nr_points, calcSizeConnectivity() ) ;
    } else {
        setDimensions( nr_cells, nr_points ) ;
    };


    return ;
};
コード例 #2
0
ファイル: VTKRectilinear.cpp プロジェクト: flbernard/bitpit
/*!  
 *  Reads meta data of VTR file (grid size, data fields, codex, position of data within file).
 *  Calls setDimension.
 */
void VTKRectilinearGrid::readMetaData( ){

    std::fstream str;
    std::string line, temp;

    std::fstream::pos_type        position;
    std::array<int,6>             extensions ;


    str.open( fh.getPath( ), std::ios::in ) ;

    getline( str, line);
    while( ! bitpit::utils::keywordInString( line, "<VTKFile")){
        getline(str, line);
    };

    if( bitpit::utils::getAfterKeyword( line, "header_type", '\"', temp) ){
        setHeaderType( temp) ;
    };

    while( ! bitpit::utils::keywordInString( line, "<Piece")){
        getline(str, line);
    };

    bitpit::utils::getAfterKeyword( line, "Extent", '\"', temp) ;
    bitpit::utils::convertString( temp, extensions );

    local_index[0][0] = extensions[0] ;
    local_index[0][1] = extensions[1] ;
    local_index[1][0] = extensions[2] ;
    local_index[1][1] = extensions[3] ;
    local_index[2][0] = extensions[4] ;
    local_index[2][1] = extensions[5] ;

    position = str.tellg() ;

    readDataHeader( str ) ;

    for( auto &field : geometry ){ //int i=0; i<geometry.size(); ++i){
        str.seekg( position) ;
        if( ! readDataArray( str, *field ) ) {
            std::cout << field->getName() << " DataArray not found" << std::endl ;
        };
    };


    setDimensions( local_index[0][0], local_index[0][1], local_index[1][0], local_index[1][1], local_index[2][0], local_index[2][1] ) ;
    str.close() ; 

    return ;

};
コード例 #3
0
IMAGE* readRGB(char *fileName, bool printInfo) {
    if(printInfo) printf("Reading File...\n");
    FileHeader fileHeader;
    BMPHeader bmpHeader;

    FILE *fhandle = fopen(fileName,"rb");
    readFileHeader(fhandle, &fileHeader, printInfo);
    readDataHeader(fhandle, &bmpHeader, printInfo);
    IMAGE *image = readRaster(fhandle, &fileHeader, &bmpHeader, printInfo);
    fclose(fhandle);

    return image;
}
コード例 #4
0
IMAGE* readGrey(char *fileName, bool printInfo) {
    if(printInfo) printf("Reading File...\n");
    FileHeader fileHeader;
    BMPHeader bmpHeader;

    FILE *fhandle = fopen(fileName,"rb");
    readFileHeader(fhandle, &fileHeader, printInfo);
    readDataHeader(fhandle, &bmpHeader, printInfo);

    IMAGE *image;
    if(bmpHeader.bitCount == 8) image = readRaster(fhandle, &fileHeader, &bmpHeader, printInfo);
    else image = readLuminance(fhandle, &fileHeader, &bmpHeader, printInfo);
    fclose(fhandle);

    return image;
}
コード例 #5
0
ファイル: list.c プロジェクト: kgeorgiou/wavengine
PUBLIC int list(char *filename) {

	FILE *fp;

	// Open wav file
	if ((fp = fopen(filename, "rb")) == NULL ) {
		printf("Error: Unable to open file %s\n", filename);
		return EXIT_FAILURE;
	}

	RIFFHEADER *riff_header;
	FMTHEADER *fmt_header;
	DATAHEADER *data_header;

	/**
	 * Read headers
	 */
	if(readRiffHeader(fp, &riff_header) == EXIT_FAILURE) {
		return EXIT_FAILURE;
	}
	if(readFmtHeader(fp, &fmt_header) == EXIT_FAILURE) {
		return EXIT_FAILURE;
	}
	if(readDataHeader(fp, &data_header) == EXIT_FAILURE) {
		return EXIT_FAILURE;
	}

	printf("\nFile: %s\n", filename);
	printf("--------------------\n");
	printf("RIFF_CHUNK_HEADER\n");
	printf("=================\n");
	printf("chunkID: %.*s\n", sizeof(riff_header->id), riff_header->id);
	printf("chunkSize: %d\n", riff_header->size);
	printf("format: %.*s\n", sizeof(riff_header->format), riff_header->format);
	printf("\n");
	printf("FMT_SUBCHUNK_HEADER\n");
	printf("===================\n");
	printf("subChunk1ID: %.*s\n", sizeof(fmt_header->id), fmt_header->id);
	printf("subChunk1Size: %d\n", fmt_header->size);
	printf("audioFormat: %hu\n", fmt_header->audioFormat);
	printf("numChannels: %hu\n", fmt_header->numChannels);
	printf("sampleRate: %d\n", fmt_header->sampleRate);
	printf("byteRate: %d\n", fmt_header->byteRate);
	printf("blockAlign: %hu\n", fmt_header->blockAlign);
	printf("bitsPerSample: %hu\n", fmt_header->bitsPerSample);
	printf("\n");
	printf("DATA_SUBCHUNK_HEADER\n");
	printf("====================\n");
	printf("subChunk2ID: %.*s\n", sizeof(data_header->id), data_header->id);
	printf("subChunk2Size: %d\n\n", data_header->size);

	/**
	 * Free resources
	 */
	free(riff_header);
	free(fmt_header);
	free(data_header);

	fclose(fp);

	return EXIT_SUCCESS;
}