/* MOD_V2.0
* Copyright (c) 2012 OpenDA Association
* All rights reserved.
*
* This file is part of OpenDA.
*
* OpenDA is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* OpenDA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with OpenDA. If not, see .
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenMI.Standard2.TimeSpace;
namespace OpenDA.DotNet.OpenMI.Bridge
{
///
/// For additional support for OpenMI models, this interface provides some additional methods for better/more complete support of your OpenMI model in OpenDA
///
public interface ITimeSpaceComponentExtensions:ITimeSpaceComponent
{
///
/// There seems no proper support to get the cuttent time of a Model in the OpenMI2 standard. But some vendors some extension
///
///
ITime currentTime();
///
/// For easy observation handling a model can provide some additional exhange items especially for model predictions at observation locations
///
///
IList getAdditionalExchangeItem();
///
/// OpenMI does not know about localization. In this method, the user can implement localization for OpenMI models in this method
///
///
///
///
///
double [][] getLocalization(string ExchangeItemID, OpenDA.DotNet.Interfaces.IObservationDescriptions observationDescriptions, double distance);
///
/// OpenMI does not know about observations but the model does
///
///
/// Model state interpolated to the observations
double[] getObservedValues(OpenDA.DotNet.Interfaces.IObservationDescriptions observationDescriptions);
// TEMPORARY - NEED A BETTER WAY!
IList CreateModelIndicesHashTable(OpenDA.DotNet.Interfaces.IObservationDescriptions observationDescriptions);
double[] ModelValuesAtProvidedIndices(OpenDA.DotNet.Interfaces.IObservationDescriptions observationDescriptions,
IList indices);
}
}