Esempio n. 1
0
double* Signal::ReadFile(const wchar_t* name)
{
        wcscpy(EcgFileName, name);

        if (!IsFileValid(name)) 
                return 0;

        if (IsBinFile) {
                if (!ReadDatFile()) 
                        return 0;
        } else {
                if (!ReadTxtFile()) { //read text file
                        if (!ReadMitbihFile()) //read mit-bih file
                                return 0;
                }
        }

        return GetData();
}
Esempio n. 2
0
void LoadPlayData( void )
{
    int i;
    char str[200];
    
    appendToLogfile("LoadPlayData: Started.", INFO);
     
	if ( !ReadDatFile() )   // If we can't find/read the data file, create an empty one.
	{
        appendToLogfile("LoadPlayData: Call to ReadDatFile returned FALSE.", ERR);
		
        numberOfPlayedFiles = 1;
		
        playedFiles[0] = TAP_MemAlloc( sizeof (*playedFiles[0]));
        playedFiles[0]->startCluster = 0;   // Store the disk start cluster.
        playedFiles[0]->currentBlock = 0;   // Store the current block position.
        playedFiles[0]->totalBlock   = 1;   // Store the total block size. Set to 1 to ensure no division by 0 errors.
        strcpy(playedFiles[0]->name,"Placeholder for last played file.rec");        // Store the file name.
        
        playedFiles[1] = TAP_MemAlloc( sizeof (*playedFiles[1]));
        playedFiles[1]->startCluster = 12345678;   // Store the disk start cluster.
        playedFiles[1]->currentBlock = 9876543;   // Store the current block position.
        playedFiles[1]->totalBlock   = 9999999;   // Store the total block size.
        strcpy(playedFiles[1]->name,"This is a dummy filename.rec");        // Store the file name.

        appendToLogfile("LoadPlayData: Calling SaveDataToFile for new file.", ERR);
		SaveDatToFile();
	}
	playbackInfoTick = TAP_GetTick();		// Set timer to indicate when we retrieved the playback information.
	playinfoChanged  = FALSE;               // We've just loaded the data, so it hasn't changed yet.

/*
    TAP_Print("\r\n from loading numberOfPlayedFiles=%d \r\n",numberOfPlayedFiles);
    for (i = 1; i<=numberOfPlayedFiles; i ++)
    {
         TAP_Print("%d<< %d<< %d<<\r\n", playedFiles[i]->startCluster, playedFiles[i]->currentBlock, playedFiles[i]->totalBlock); 
         TAP_Print("%s<<\r\n", playedFiles[i]->name); 
    }
*/
    appendToLogfile("LoadPlayData: Finished.", INFO);

}
Esempio n. 3
0
//------------------------------------------------------------------------------
// bool ReadFile(const wxString &filename, Integer& degree, Integer& order,
//               Real &mu, Real &radius, bool readCoeff, Real cbar[][361],
//               Real sbar[][DEG_DIM], Real dcbar[][DRF_DIM], Real dsbar[][DRF_DIM],
//               Integer maxDegree, Integer maxOrder, Integer maxDriftDegree = 0)
//------------------------------------------------------------------------------
bool GravityFile::ReadFile(const wxString &filename, Integer& degree,
                           Integer& order, Real &mu, Real &radius,
                           bool readCoeff, Real cbar[][361], Real sbar[][DEG_DIM],
                           Real dcbar[][DRF_DIM], Real dsbar[][DRF_DIM],
                           Integer maxDegree, Integer maxOrder, Integer maxDriftDegree)
{
   GmatFM::GravityFileType gft = GetFileType(filename);

   switch (gft)
   {
   case GmatFM::GFT_COF:
      return ReadCofFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar,
                         maxDegree, maxOrder, maxDriftDegree);
   case GmatFM::GFT_DAT:
      return ReadDatFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar,
                         dcbar, dsbar, maxDegree, maxOrder, maxDriftDegree);
   case GmatFM::GFT_GRV:
      return ReadGrvFile(filename, degree, order, mu, radius, readCoeff, cbar, sbar,
                         maxDegree, maxOrder, maxDriftDegree);
   default:
      return false;
   }
}
Esempio n. 4
0
int Look_txt()
{
	TCHAR filter[] =     TEXT("Ghemical MD results File (*.txt)\0*.txt\0")
						 TEXT("All Files (*.*)\0*.*\0");
	TCHAR fpath[1024];
	TCHAR filename[1024];

	sprintf(filename, "\0");
	{
		DWORD nFilterIndex;

		vector<string> names;
		vector<string> *pnames = &names;
		vector<vector<double> > vectors;
		vectors.reserve(2000000);

		while (OpenFileDlg(0, filter, fpath, nFilterIndex) == S_OK)
		{		
			ReadDatFile(NULL, fpath, filename, &vectors, pnames);
			pnames = NULL;

			printf("\nfilename %s\n\n", filename);

			int cols = names.size();
			int rows = vectors.size();
			
#if WRITE_LOCKED_FORCES
			int cMom = 4 - 1;
			int cVx = 5 - 1;
			int cFxup = 14 - 1;
			int cFxdw = 17 - 1;

			int cVxup = 8 - 1;
			int cVxdw = 11 - 1;
#endif
#if WRITE_WORKED_FORCES
			int cMom = 4 - 1;

			int cVx = 5 - 1;
			int cVxup = 14 - 1;
			int cVxdw = 17 - 1;

			int cVx_wk_up = 8 - 1;
			int cVx_wk_dw = 11 - 1;

			int cFx_wk_up = 20 - 1;
			int cFx_wk_dw = 23 - 1;

#endif

			vector<double> means(cols, 0.0);


			printf("vectors.size() = %d\n",rows);
			printf("names.size() = %d\n", cols);

			for (vector<vector<double> >::iterator it = vectors.begin();
			it != vectors.end(); it++)
			{
				for (int c = 0; c < cols; c++)
				{
					means[c] += (*it).operator [](c);
				}
			}

			for (int c = 0; c < cols; c++)
			{
				means[c] /= rows;
				printf("mean(%s) = %f\n", names[c].c_str(), means[c]);
			}

#if WRITE_LOCKED_FORCES || WRITE_WORKED_FORCES
			int r0 = 0;

			cout << "enter r0\n";
			cin >> r0;
#endif

#if WRITE_LOCKED_FORCES
			vector<double> dF(rows-r0);
			for (int r = r0; r < rows; r++)
			{
				dF[r-r0] = vectors[r][cFxup] - vectors[r][cFxdw];
			}

			Statistika (dF, "dF");

			vector<double> Mom(rows-r0);
			for (r = r0; r < rows; r++)
			{
				Mom[r-r0] = vectors[r][cMom];
			}

			Statistika (Mom, "Mom");

			vector<double> dV(rows-r0);
			for (r = r0; r < rows; r++)
			{
				dV[r-r0] = vectors[r][cVxup] - vectors[r][cVxdw];
			}

			Statistika (dV, "dV");

			vector<double> Vx(rows-r0);
			for (r = r0; r < rows; r++)
			{
				Vx[r-r0] = vectors[r][cVx];
			}

			Statistika (Vx, "Vx");
#endif
#if WRITE_WORKED_FORCES
			vector<double> dF_wk(rows-r0);
			for (int r = r0; r < rows; r++)
			{
				dF_wk[r-r0] = vectors[r][cFx_wk_up] - vectors[r][cFx_wk_dw];
			}

			Statistika (dF_wk, "dF_wk");


			vector<double> dV_wk(rows-r0);
			for (r = r0; r < rows; r++)
			{
				dV_wk[r-r0] = vectors[r][cVx_wk_up] - vectors[r][cVx_wk_dw];
			}

			Statistika (dV_wk, "dV_wk");

			//if (!worked[n1])
			vector<double> Mom(rows-r0);
			for (r = r0; r < rows; r++)
			{
				Mom[r-r0] = vectors[r][cMom];
			}

			Statistika (Mom, "Mom");

			vector<double> dV(rows-r0);
			for (r = r0; r < rows; r++)
			{
				dV[r-r0] = vectors[r][cVxup] - vectors[r][cVxdw];
			}

			Statistika (dV, "dV");

			vector<double> Vx(rows-r0);
			for (r = r0; r < rows; r++)
			{
				Vx[r-r0] = vectors[r][cVx];
			}

			Statistika (Vx, "Vx");
#endif
		}
	}
	/*else
	{
		DWORD nFilterIndex;
		if (SaveFileDlg(0, filename, filter, nFilterIndex) == S_OK)
		{
			SetDlgItemText(ref->hDlg,IDC_EDIT_TRAJFILE2, filename);
		}	
	}*/
	
	printf("Hello World!\n");
	return 0;

}