示例#1
0
void MapObject::loadFromBackup(mobj_backup_t* backup)
{
	// Check type match
	if (backup->type != type)
	{
		wxLogMessage("loadFromBackup: Mobj type mismatch, %d != %d", type, backup->type);
		return;
	}
	// Check id match
	if (backup->id != id)
	{
		wxLogMessage("loadFromBackup: Mobj id mismatch, %d != %d", id, backup->id);
		return;
	}

	// Load general properties from list
	properties.clear();
	backup->properties.copyTo(properties);

	// Object-specific properties
	readBackup(backup);

	// Update modified time
	setModified();
}
示例#2
0
int main() {
	//_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF);
	//omp_set_num_threads(numThreads);
	printf("start\n");

	printf("random initialize\n");
	srand(time(NULL));

	bool startNew = true;

	if (startNew) {
		printf("open input\n");
		FILE* inputFile = fopen("../input/input.dat", "r");
		printf("read input\n");
		Simulation simulation = readInput(inputFile);
		printf("close input\n");
		fclose(inputFile);

		printf("simulate\n");
		simulation.simulate();
		printf("end\n");
	} else {
		printf("reading backup\n");

		FILE* backupGeneralFile = fopen("./backup/general.dat", "r");
		FILE* backupEfieldFile = fopen("./backup/Efield.dat", "r");
		FILE* backupBfieldFile = fopen("./backup/Bfield.dat", "r");
		FILE* backupParticlesFile = fopen("./backup/particles.dat", "r");

		Simulation simulation = readBackup(backupGeneralFile, backupEfieldFile, backupBfieldFile, backupParticlesFile);

		fclose(backupGeneralFile);
		fclose(backupEfieldFile);
		fclose(backupBfieldFile);
		fclose(backupParticlesFile);

		printf("simulate\n");
		simulation.simulate();
		printf("end\n");
	}
}