#!/usr/bin/perl

use lib 'c:/Programs/Perl/lib';
use lib 'd:/Programs/Perl/lib';

use strict;
#use warnings;
use File::Path;
use File::Basename;

use ProgVars;
use Deps;
use Utils;
use Crystal::CIF;
use Crystal::Crystal;
use Crystal::RietanFP;

my $CIFFile    = $ARGV[0];
my $InsFile    = $ARGV[1];
my $StartAngle =   5.0;
my $EndAngle   = 150.0;


sub terminate
{
	my $ret = 0;
	if(scalar @_ > 0) {
		$ret = $_[0];
	}
	print("\nPress ENTER to terminate>> ");
	<STDIN>;
	exi();
}


&SimulateByRietan($CIFFile, $InsFile, $StartAngle, $EndAngle);
terminate();


sub SimulateByRietan
{
	my ($CIFFile, $InsFile, $StartAngle, $EndAngle) = @_;

	print "<H1>Simulate XRD profile by Rietan-FP</H1>\n";
	my ($drive, $directory, $filename, $ext, $lastdir, $filebody) = Deps::SplitFilePath($CIFFile);
	my $SampleName = "'$filebody'";

	my $CIF = new CIF;
	unless($CIF->Read($CIFFile)) {
		print "aError: Can not read [$CIFFile].\n";
		return 0;
	}
	my $Crystal = $CIF->GetCCrystal();
	$Crystal->ExpandCoordinates();

	print "$InsFile was deleted.\n" if(unlink($InsFile));

	my $RietanFP = new RietanFP();
	$RietanFP->SetSampleName($SampleName);
	if($RietanFP->SaveInsFile($Crystal, $InsFile, 0, 0, 1, $StartAngle, $EndAngle) <= 0) {
		print "Error: Can not make ($InsFile).\n";
		return -1;
	}

#	my (@Files) = $RietanFP->Execute($InsFile);
#	for(my $i = 0 ; $i < @Files ; $i++) {
#		print "Files[$i]: $Files[$i]\n";
#	}

}

