/// <summary> /// 显示并返回多个插值线段 /// </summary> /// <param name="pDataRecords">数据记录</param> /// <param name="dblProp">差值参数</param> /// <returns>插值线段</returns> public static List <CPolyline> DisplayInterpolations(CDataRecords pDataRecords, double dblProp) { if (dblProp < 0 || dblProp > 1) { MessageBox.Show("请输入正确参数!"); return(null); } List <List <CPoint> > CResultPtLtLt = pDataRecords.ParameterResult.CResultPtLtLt; List <CPolyline> cpllt = new List <CPolyline>(); for (int i = 0; i < CResultPtLtLt.Count; i++) { CPolyline cpl = CGeoFunc.GetTargetcpl(CResultPtLtLt[i], dblProp); cpllt.Add(cpl); } // 清除绘画痕迹 IMapControl4 m_mapControl = pDataRecords.ParameterInitialize.m_mapControl; IGraphicsContainer pGra = m_mapControl.Map as IGraphicsContainer; pGra.DeleteAllElements(); //m_mapControl.ActiveView.Refresh(); //由于在下一步“ViewPolyline”中有刷新的命令,此语句可省略 ViewPolylines(m_mapControl, cpllt); //显示生成的线段 return(cpllt); }
/// <summary> /// 显示并返回单个插值线段 /// </summary> /// <param name="pDataRecords">数据记录</param> /// <param name="dblProp">差值参数</param> /// <returns>插值线段</returns> public static List <CPolyline> GetAndSaveInterpolation(CDataRecords pDataRecords, double dblProp) { if (dblProp < 0 || dblProp > 1) { MessageBox.Show("the parameter t is not acceptable!"); return(null); } CMorphingBaseCpl pMorphingBaseCpl = pDataRecords.ParameterResult.pMorphingBaseCpl; List <CPolyline> pInterpolatedCPlLt = pMorphingBaseCpl.GenerateInterpolatedCplLt(dblProp); CParameterInitialize pParameterInitialize = pDataRecords.ParameterInitialize; CHelpFunc.SaveCPlLt(pInterpolatedCPlLt, pParameterInitialize.strSaveFolderName + "____" + dblProp.ToString(), pParameterInitialize.pWorkspace, pParameterInitialize.m_mapControl); return(pInterpolatedCPlLt); }
/// <summary> /// 显示并返回单个插值线段 /// </summary> /// <param name="pDataRecords">数据记录</param> /// <param name="dblProp">差值参数</param> /// <returns>插值线段</returns> public static CPolyline DisplayInterpolation(CDataRecords pDataRecords, double dblProp) { if (dblProp < 0 || dblProp > 1) { MessageBox.Show("请输入正确参数!"); return(null); } List <CPoint> CResultPtLt = pDataRecords.ParameterResult.CResultPtLt; CPolyline cpl = CGeoFunc.GetTargetcpl(CResultPtLt, dblProp); cpl.SetPolyline(); // 清除绘画痕迹 IMapControl4 m_mapControl = pDataRecords.ParameterInitialize.m_mapControl; IGraphicsContainer pGra = m_mapControl.Map as IGraphicsContainer; pGra.DeleteAllElements(); //m_mapControl.ActiveView.Refresh(); //由于在下一步“ViewPolyline”中有刷新的命令,此语句可省略 ViewPolyline(m_mapControl, cpl); //显示生成的线段 return(cpl); }