Beispiel #1
0
int main(int argc, const char *argv[]) {
	FILE* file = fopen(argv[1],"r");
    if (file == NULL) err(-1,"No mesh file !");
	
	output = fopen(argv[2],"w+");
	
	int nCase;
	fscanf(file,"%d \n",&nCase);
	
	int i;
	char** tik = (char**)malloc(sizeof(char*)*4);
	for (i=0; i<4; i++) {
		tik[i] = (char*)malloc(sizeof(char)*4);
	}
	int trash;
	for (i=0; i<nCase; i++) {
		int j;
		for (j=0; j<4; j++) {
			fscanf(file,"%c%c%c%c \n",&tik[0][j], &tik[1][j],&tik[2][j], &tik[3][j]);
			//printf("%c\n",tik[j][0]);
		}
		trash = checkCase(i,tik);
		fscanf(file,"\n");
	}
	
	for (i=0; i<4; i++) {
		free(tik[i]);
	}
	free(tik);
	
	fclose(file);
	fclose(output);
	return 0;
}
Beispiel #2
0
S32 CIniFile::findSection(const string &sectionName) const
{
   for(S32 sectionId = 0; sectionId < sectionNames.size(); ++sectionId)
      if(checkCase(sectionNames[sectionId], sectionName))
         return sectionId;
   return noID;
}
Beispiel #3
0
S32 CIniFile::findKey(S32 const sectionId, const string &keyName) const
{
   if(!sections.size() || sectionId >= sections.size())
      return noID;

   for(S32 keyID = 0; keyID < sections[sectionId].keys.size(); ++keyID)
      if(checkCase(sections[sectionId].keys[keyID], keyName))
         return keyID;

   return noID;
}
Beispiel #4
0
static bool checkFirstChar(const std::wstring& titleW,const std::wstring& word)
{
	if (titleW.size() <= 0) return false;
	if (word.size() <= 2) return false;
	switch (titleW[0])
	{
	case L'あ': 	case L'ア':
		return ( checkCase(word[0],'a') || checkCase(word[0],'u') || checkCase(word[0],'i') || checkCase(word[0],'o') );
	case L'い':		case L'イ':
		return ( checkCase(word[0],'i') || checkCase(word[0],'e') || checkCase(word[0],'y') );
	case L'う':		case L'ウ':
		return ( checkCase(word[0],'u') || checkCase(word[0],'w') || checkCase(word[0],'o') || checkCase(word[0],'v') );
	case L'え':		case L'エ':
		return ( checkCase(word[0],'a') || checkCase(word[0],'m') || checkCase(word[0],'x') || checkCase(word[0],'e') || checkCase(word[0],'f') || checkCase(word[0],'s') || checkCase(word[0],'h') || checkCase(word[0],'l') || checkCase(word[0],'a') );
	case L'お':		case L'オ':
		return ( checkCase(word[0],'o') || checkCase(word[0],'a') );
	case L'か':		case L'カ':
		return ( checkCase(word[0],'k') || checkCase(word[0],'c') );
	case L'き':		case L'キ':
		return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') );
	case L'く':		case L'ク':
		return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') || checkCase(word[0],'q') );
	case L'け':		case L'ケ':
		return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') || checkCase(word[0],'q') );
	case L'こ':		case L'コ':
		return ( checkCase(word[0],'k') || checkCase(word[0],'c') );
	case L'さ':		case L'サ':
		return ( checkCase(word[0],'s') || checkCase(word[0],'c') || checkCase(word[0],'t') );
	case L'し':		case L'シ':
		return ( checkCase(word[0],'s') || checkCase(word[0],'t') || checkCase(word[0],'c') );
	case L'す':		case L'ス':
		return ( checkCase(word[0],'s') || checkCase(word[0],'t')  );
	case L'せ':		case L'セ':
		return ( checkCase(word[0],'s') || checkCase(word[0],'c') );
	case L'そ':		case L'ソ':
		return ( checkCase(word[0],'s') );
	case L'た':		case L'タ':
		return ( checkCase(word[0],'t') );
	case L'ち':		case L'チ':
		return ( checkCase(word[0],'t') || checkCase(word[0],'c') );
	case L'つ':		case L'ツ':
		return ( checkCase(word[0],'t') );
	case L'て':		case L'テ':
		return ( checkCase(word[0],'t') );
	case L'と':		case L'ト':
		return ( checkCase(word[0],'t') );
	case L'な':		case L'ナ':
		return ( checkCase(word[0],'n') || checkCase(word[0],'k') );
	case L'に':		case L'ニ':
		return ( checkCase(word[0],'n') );
	case L'ぬ':		case L'ヌ':
		return ( checkCase(word[0],'n') );
	case L'ね':		case L'ネ':
		return ( checkCase(word[0],'n') );
	case L'の':		case L'ノ':
		return ( checkCase(word[0],'n') );
	case L'は':		case L'ハ':
		return ( checkCase(word[0],'h') );
	case L'ひ':		case L'ヒ':
		return ( checkCase(word[0],'h') );
	case L'ふ':		case L'フ':
		return ( checkCase(word[0],'f') || checkCase(word[0],'p') || checkCase(word[0],'v') );
	case L'へ':		case L'ヘ':
		return ( checkCase(word[0],'h') );
	case L'ほ':		case L'ホ':
		return ( checkCase(word[0],'h') );
	case L'ま':		case L'マ':
		return ( checkCase(word[0],'m') );
	case L'み':		case L'ミ':
		return ( checkCase(word[0],'m') );
	case L'む':		case L'ム':
		return ( checkCase(word[0],'m') );
	case L'め':		case L'メ':
		return ( checkCase(word[0],'m') );
	case L'も':		case L'モ':
		return ( checkCase(word[0],'m') );
	case L'や':		case L'ヤ':
		return ( checkCase(word[0],'y') || checkCase(word[0],'j') );
	case L'ゆ':		case L'ユ':
		return ( checkCase(word[0],'y') || checkCase(word[0],'e') || checkCase(word[0],'j') || checkCase(word[0],'u') );
	case L'よ':		case L'ヨ':
		return ( checkCase(word[0],'y') );
	case L'ら':		case L'ラ':
		return ( checkCase(word[0],'r') || checkCase(word[0],'l') );
	case L'り':		case L'リ':
		return ( checkCase(word[0],'r') || checkCase(word[0],'l') );
	case L'る':		case L'ル':
		return ( checkCase(word[0],'r') || checkCase(word[0],'l') );
	case L'れ':		case L'レ':
		return ( checkCase(word[0],'r') || checkCase(word[0],'l') );
	case L'ろ':		case L'ロ':
		return ( checkCase(word[0],'r') || checkCase(word[0],'l') );
	case L'わ':		case L'ワ':
		return ( checkCase(word[0],'w') || checkCase(word[0],'o') );
	case L'を':		case L'ヲ':
		return ( checkCase(word[0],'w') );
	case L'ん':		case L'ン':
		return ( checkCase(word[0],'n') );
	case L'が':		case L'ガ':
		return ( checkCase(word[0],'g') );
	case L'ぎ':		case L'ギ':
		return ( checkCase(word[0],'g') );
	case L'ぐ':		case L'グ':
		return ( checkCase(word[0],'g') );
	case L'げ':		case L'ゲ':
		return ( checkCase(word[0],'g') );
	case L'ご':		case L'ゴ':
		return ( checkCase(word[0],'g') );
	case L'ざ':		case L'ザ':
		return ( checkCase(word[0],'t')||checkCase(word[0],'z')||checkCase(word[0],'x')||checkCase(word[0],'s') );
	case L'じ':		case L'ジ':
		return ( checkCase(word[0],'g')||checkCase(word[0],'j')||checkCase(word[0],'z')||checkCase(word[0],'t') );
	case L'ず':		case L'ズ':
		return ( checkCase(word[0],'z') );
	case L'ぜ':		case L'ゼ':
		return ( checkCase(word[0],'z') || checkCase(word[0],'j')|| checkCase(word[0],'x') );
	case L'ぞ':		case L'ゾ':
		return ( checkCase(word[0],'z') );
	case L'だ':		case L'ダ':
		return ( checkCase(word[0],'d') );
	case L'ぢ':		case L'ヂ':
		return ( checkCase(word[0],'d') || checkCase(word[0],'j') );
	case L'づ':		case L'ヅ':
		return ( checkCase(word[0],'z')  );
	case L'で':		case L'デ':
		return ( checkCase(word[0],'d')  );
	case L'ど':		case L'ド':
		return ( checkCase(word[0],'d')  );
	case L'ば':		case L'バ':
		return ( checkCase(word[0],'b')  );
	case L'び':		case L'ビ':
		return ( checkCase(word[0],'b') ||  checkCase(word[0],'v')  );
	case L'ぶ':		case L'ブ':
		return ( checkCase(word[0],'b') );
	case L'べ':		case L'ベ':
		return ( checkCase(word[0],'b') ||  checkCase(word[0],'v')  );
	case L'ぼ':		case L'ボ':
		return ( checkCase(word[0],'b')  );
	case L'ぱ':		case L'パ':
		return ( checkCase(word[0],'p')  );
	case L'ぴ':		case L'ピ':
		return ( checkCase(word[0],'p')  );
	case L'ぷ':		case L'プ':
		return ( checkCase(word[0],'p')  );
	case L'ぺ':		case L'ペ':
		return ( checkCase(word[0],'p')  );
	case L'ぽ':		case L'ポ':
		return ( checkCase(word[0],'p')  );
	case L'ヴ':
		return ( checkCase(word[0],'v')  );
	}
	return true;
}
Beispiel #5
0
void specialCaseTests(void) {
	Set empty;
	Set universal;
	int i;
	Set s;
	Set r;
	
	createEmptySet(&empty);
	createEmptySet(&universal);
	createEmptySet(&r);
	for (i = 0; i < maximum_set_size; i += 1) {
	  insertSet(&universal, i);
	}
	checkCase(&subtractFromSet, &universal, &universal, &empty);
	checkCase(&unionInSet, &universal, &universal, &universal);
	checkCase(&intersectFromSet, &universal, &universal, &universal);
	checkCase(&intersectFromSet, &universal, &empty, &empty);
	checkCase(&intersectFromSet, &empty, &universal, &empty);
	checkCase(&unionInSet, &universal, &empty, &universal);
	checkCase(&unionInSet, &empty, &universal, &universal);
	checkCase(&unionInSet, &empty, &empty, &empty);
	checkCase(&subtractFromSet, &empty, &empty, &empty);
	checkCase(&intersectFromSet, &empty, &empty, &empty);
	
	createEmptySet(&s);
	assert(isEmptySet(&s));
	for (i = 0; i < 10; i += 1) {
		insertSet(&s, i);
	}
	assert(s.len == 10);
	for (i = 0; i < 10; i += 1) {
	  assert(isMemberSet(&s, i));
	}
	for (i = 0; i < 10; i += 1) {
	  removeSet(&s, i);
	  removeSet(&s, i);
	  assert(s.len == 9 - i); 
	}
	assert(isEmptySet(&s));
	for (i = 0; i < number_of_tests; i += 1) {
	  randomSet(&s);
	  assert(isSubsetOf(&empty, &s));
	  assert(!isSubsetOf(&s, &empty));
	  assert(isSubsetOf(&s, &universal));
	  assert(!isSubsetOf(&universal, &s));

		checkCase(&intersectFromSet, &empty, &s, &empty);
		checkCase(&intersectFromSet, &s, &empty, &empty);
		checkCase(&intersectFromSet, &universal, &s, &s);
		checkCase(&intersectFromSet, &s, &universal, &s);

		checkCase(&unionInSet, &universal, &s, &universal);
		checkCase(&unionInSet, &s, &universal, &universal);

		checkCase(&subtractFromSet, &s, &empty, &s);
		
		assignSet(&r, &universal);
		subtractFromSet(&r, &s); // r = u - s;
		checkCase(&subtractFromSet, &universal, &r, &s); // (u - (u - s) == s)
		checkCase(&unionInSet, &s, &r, &universal); // s + (u - s) == u
		checkCase(&unionInSet, &r, &s, &universal); // (u - s) + s == u
	}
	printf("The special case tests have been passed\n"); 
	destroySet(&empty);
	destroySet(&universal);
	destroySet(&s);
	destroySet(&r);
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    checkDialog c;
    c.show();

    // shortcuts
    ui->actionOpen->setShortcut(Qt::Key_O | Qt::CTRL);
    ui->actionChange_directory->setShortcut(Qt::Key_D | Qt::CTRL);
    ui->actionClose->setShortcut(Qt::Key_Q | Qt::CTRL);
    ui->actionRun_F5->setShortcut(Qt::Key_F5);
    ui->actionClear_case_F6->setShortcut(Qt::Key_F6);
    ui->actionWrite_input_file_F4->setShortcut(Qt::Key_F4);
    ui->actionCheck->setShortcut(Qt::Key_F7);
    QSignalMapper *signalMapper = new QSignalMapper(this);
    for( int index=0; index < ui->output->count() ; ++index ){
        QShortcut *shortcut  =new QShortcut( QKeySequence(QString("Ctrl+%1").arg( index +1 ) ), this );
        connect( shortcut, SIGNAL(activated() ), signalMapper, SLOT( map() ) );
        signalMapper->setMapping( shortcut, index );
    }
    connect( signalMapper, SIGNAL(mapped( int )),ui->output, SLOT(setCurrentIndex( int )) );


    // Wave theory
    ui->widget_SF->setVisible(false);
    ui->LorP_ComboBox->setVisible(false);
    ui->widget_waveFile->setVisible(false);
    QRect SFwidget_geo = ui->widget_SF->geometry();
    ui->widget_JONSWAP->setGeometry(SFwidget_geo);
    ui->widget_JONSWAP->setVisible(false);
    ui->widget_waveFile->setGeometry(SFwidget_geo);
    ui->widget_customSpectrum->setVisible(false);
    ui->widget_customSpectrum->setGeometry(SFwidget_geo);

    // About
    ui->aboutText_OCW3dGUI->setVisible(false);
    ui->aboutText_OCW3D_publications->setVisible(false);
    ui->aboutText_OCW3DVersion->setVisible(false);

    // Post processing
    ui->readProgressBar->setVisible(false);
    ui->tableWidget->setColumnCount(6);
    ui->tableWidget->setVisible(false);
    ui->SelectOutput->setEnabled(false);
    ui->convert->setEnabled(false);
    ui->morison_widget->setVisible(false);
    ui->eta_widget->setVisible(false);
    QRect Morison_geo = ui->morison_widget->geometry();
    ui->eta_widget->setGeometry(Morison_geo);
    ui->convertStatus->setVisible(false);

    // Custom grid
    ui->geometry_table->setRowCount(2);
    ui->geometry_table->setVerticalHeaderLabels(QString("x [m];d [m]").split(";"));
    ui->customGridWidget->setVisible(false);

    // set labels
    ui->alpha_label->setText(QString((QChar) 0x03B1));
    ui->beta_label->setText(QString((QChar) 0x03B2));
    ui->gamma_label->setText(QString((QChar) 0x03B3));

    connect(ui->waveType,SIGNAL(currentIndexChanged(int)),this,SLOT(on_waveTheoryChanged(int)));
    connect(ui->storeAscii_onOff,SIGNAL(clicked(bool)),this,SLOT(storeASCII(bool)));
    connect(ui->LorP_ComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(on_waveTheoryChanged()));
    connect(ui->nOutFiles,SIGNAL(valueChanged(int)),this,SLOT(on_outputWidgetChanged(int)));
    connect(ui->OpenDirBrowser,SIGNAL(clicked()),this,SLOT(openWorkDirDialog()));
    connect(ui->selectPPfile,SIGNAL(clicked()),this,SLOT(selectPPfile()));
    connect(ui->run,SIGNAL(clicked()),this,SLOT(run()));
    connect(ui->selectGnuplotFile,SIGNAL(clicked()),this,SLOT(openFileDialog()));
    connect(ui->plot,SIGNAL(clicked()),this,SLOT(gnuplot()));
    connect(ui->read_bottom,SIGNAL(clicked()),this,SLOT(readKinematicFile()));
    connect(ui->about_combobox,SIGNAL(currentIndexChanged(int)),this,SLOT(about_changed(int)));
    connect(ui->SelectOutput,SIGNAL(currentIndexChanged(int)),this,SLOT(convertTo_setup(int)));
    connect(ui->convert,SIGNAL(clicked()),this,SLOT(convertTo()));
    connect(ui->showGrid,SIGNAL(clicked()),this,SLOT(showGrid()));
    connect(ui->geometryType,SIGNAL(currentIndexChanged(int)),this,SLOT(geometryType_changed(int)));
    connect(ui->nGridPoints,SIGNAL(valueChanged(int)),this,SLOT(nGridPoints_changed()));
    connect(ui->smooth,SIGNAL(clicked()),this,SLOT(smooth()));
    connect(ui->generateGrid,SIGNAL(clicked()),this,SLOT(generateGrid()));
    connect(ui->selectWaveFile,SIGNAL(clicked()),this,SLOT(selectWaveFile()));
    connect(ui->selectGridFile,SIGNAL(clicked()),this,SLOT(selectGridFile()));
    connect(ui->selectWaveFile_eta,SIGNAL(clicked()),this,SLOT(selectWaveFile_eta()));
    connect(ui->DropDownListOutputType,SIGNAL(currentIndexChanged(int)),this,SLOT(WaveTypeSelected()));
    connect(ui->pushButton_advancedMorison,SIGNAL(clicked()),this,SLOT(advancedMorison()));
    // default
    connect(ui->checkBox_constantWidget,SIGNAL(stateChanged(int)),this,SLOT(constantWidget()));
    connect(ui->checkBox_breakingWidget,SIGNAL(stateChanged(int)),this,SLOT(breakingWidget()));
    connect(ui->checkBox_FD,SIGNAL(stateChanged(int)),this,SLOT(FDWidget()));
    connect(ui->checkBox_precon,SIGNAL(stateChanged(int)),this,SLOT(preconWidget()));

    // ations
    connect(ui->actionClose,SIGNAL(triggered()),this,SLOT(close()));
    connect(ui->actionOpen,SIGNAL(triggered()),this,SLOT(openFile()));
    connect(ui->actionRun_F5,SIGNAL(triggered()),this,SLOT(run()));
    connect(ui->actionClear_case_F6,SIGNAL(triggered()),this,SLOT(clearCase()));
    connect(ui->actionWrite_input_file_F4,SIGNAL(triggered()),this,SLOT(writeInputFile()));
    connect(ui->actionChange_directory,SIGNAL(triggered()),this,SLOT(openWorkDirDialog()));
    connect(ui->actionCheck,SIGNAL(triggered()),this,SLOT(checkCase()));
    ui->workingDir->setText(dir.currentPath());

    // Special versions

#if externalOutputClass
    ui->SelectOutput->addItem("External output");
#endif


}