4.1.3.1.4 : La fonction principale du programme


Maintenant, implémentons la fonctions principale :

1
int main(int argc, char** argv){


On créé notre parseur d'argument avec la fonction createOptionParser définie plus tôt :

1
2
	OptionParser parser = createOptionParser();
	parser.parseArgument(argc, argv);


On récupère les arguments qui ont été passés au programme (les valeurs par défauts sont gérées automatiquement) :

1
2
3
4
5
6
7
8
9
10
11
12
13
	const OptionMode & defaultMode = parser.getDefaultMode();
	float killRate(0.062f), feedRate(0.03f), dt(1.0f);
	size_t nbImage(100lu), nbRow(1080lu), nbCol(1920lu), nbExtraStep(1lu);
	defaultMode.getValue(killRate, "killrate");
	defaultMode.getValue(feedRate, "feedrate");
	defaultMode.getValue(nbImage, "nbimage");
	defaultMode.getValue(nbExtraStep, "nbextrastep");
	defaultMode.getValue(nbRow, "nbrow");
	defaultMode.getValue(nbCol, "nbcol");
	defaultMode.getValue(dt, "deltat");
	
	std::string outputFile("");
	defaultMode.getValue(outputFile, "output");


On appelle notre fonction générale :

1
	bool b(simulateImage(nbRow, nbCol, nbImage, nbExtraStep, killRate, feedRate, dt, outputFile));


On retourne 0 en cas de sucès et -1 en cas d'erreur :

1
	return b - 1;


On finit la fonction principale :

1
}