using System.Collections.ObjectModel; using System.Windows.Media; using Correlator.Model; using Correlator.Util; namespace Correlator.DataService { public interface IApplicationDataService { ObservableCollection<PipeMaterialModel> GetPipeMaterial(); ObservableCollection<MaterialVelocity> GetVelocityCollection(string materialName); void DeleteVelocity(MaterialVelocity velocity); void InsertVelocity(string materialName, string minDiameter, string maxDiameter, string soundSpeed); void UpdateVelocity(MaterialVelocity velocity, string minDiameter, string maxDiameter, string soundSpeed); /// <summary> /// 根据管材和管径大小获取声速 /// </summary> /// <param name="material"></param> /// <param name="pipeDiameter"></param> /// <returns></returns> int GetSoundVelocity(string material, int pipeDiameter); AudioVisualizer GetAudioVisualizer(int waveDataSize); /// <summary> /// 获取 HSV 中所有的基础颜色 (饱和度和明度均为最大值) /// </summary> /// <returns>所有的 HSV 基础颜色(共 256 * 6 个, 并且随着索引增加, 颜色也会渐变)</returns> Color[] GetAllHsvColors(); /// <summary> /// 加载所有工作模式的采样率 /// </summary> /// <returns></returns> ObservableCollection<SampleRateModel> GetSampleRate(); /// <summary> /// 根据工作模式获取采样率 /// </summary> /// <param name="mode"></param> /// <returns></returns> int GetSampleRateByWorkMode(int mode); /// <summary> /// 更新采样率 /// </summary> /// <param name="mode"></param> /// <param name="sampleRate"></param> void UpdateSampleRate(int mode, int sampleRate); } }