using System.Collections.Generic;
using System;
namespace DimrTesting
{
interface IBasicModelInterface
{
DateTime StartTime { get; }
DateTime StopTime { get; }
DateTime CurrentTime { get; }
TimeSpan TimeStep { get; }
///
/// Gets names of all available variables.
///
string[] VariableNames { get; }
///
/// Injects logger into the model so that it can log messages. A callback method.
///
///
/// Initializes model using a given configuration file..
///
///
///
int Initialize(string path);
void Update(double dt = -1);
int Finish();
///
/// Gets variable values.
///
///
///
Array GetValues(string variable);
// ///
// /// Gets variable values by index (flattened nD index).
// ///
// ///
// ///
// ///
// Array GetValues(string variable, int[] index);
// ///
// /// Gets variable values by slice (flattened nD array of Rank x NumberOfValues).
// ///
// ///
// ///
// ///
// ///
// Array GetValues(string variable, int[] start, int[] count);
///
/// Sets variable values.
///
///
///
void SetValues(string variable, Array values);
// ///
// /// Sets variable values by slice (start + count for every dimension).
// ///
// ///
// ///
// ///
// ///
// void SetValues(string variable, int[] start, int[] count, Array values);
// ///
// /// Sets variable values by indices (flattened nD array of Rank x NumberOfValues).
// ///
// ///
// ///
// ///
// void SetValues(string variable, int[] index, Array values);
}
}