using SKMC.Api.Recipe.Config;
using SKMC.Api.Recipe.Model;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace SKMC.Api.Recipe
{
///
/// 流程数据及对象缓存器
///
public abstract class RecipeCacher
{
public ObservableCollection RecipeProfiles { get; set; }
///
/// 流程参数配置集(基础开关型)
///
public ObservableCollection RecipePublicSwitchParams { get; set; }
///
/// 流程参数配置集(基础数值型)
///
public ObservableCollection RecipePublicValueParams { get; set; }
///
/// 流程参数配置集(内部开关型)
///
public ObservableCollection RecipePrivateSwitchParams { get; set; }
///
/// 流程参数配置集(内部数值型)
///
public ObservableCollection RecipePrivateValueParams { get; set; }
///
/// 速度配置集
///
public ObservableCollection RecipeSpeeds { get; set; }
///
/// 点位配置集
///
public ObservableCollection RecipePointGroups { get; set; }
///
/// 获取流程参数对象
///
///
///
public abstract RecipeParam GetRecipeParam(string paramCode);
///
/// 获取流程参数配置(根据数据库配置加载)
///
///
///
///
public abstract T GetRecipeParamValue(string paramCode);
///
/// 获取流程点位
///
///
///
public abstract RecipePoint GetRecipePoint(string code);
///
/// 获取流程点位的轴位置数值
///
/// 点位码
/// 点位中多个轴位置的序号, 默认为第一个
///
public abstract double GetRecipePointVal(string code, int index = 0);
///
/// 获取流程点位的轴位置数值
///
/// 点位对象
/// 点位中多个轴位置的序号, 默认为第一个
///
public abstract double GetRecipePointVal(RecipePoint processPoint, int index = 0);
///
/// 获取速度配置对象
///
/// 速度码
///
public abstract RecipeSpeed GetRecipeSpeed(string code);
}
}