예제 #1
0
        public DmpModel ToDmp(int index)
        {
            Resolve();

            if (_Desc == null)
            {
                return(null);
            }

            int numCoords = _Desc.Coordinates.GetLength(0) - 1;

            if (numCoords < 0)
            {
                return(null);
            }

            int numRows = (int)_Desc.Coordinates[numCoords, 2] + 1;
            int numCols = (int)_Desc.Coordinates[numCoords, 3] + 1;

            var result = new DmpModel(numRows, numCols)
            {
                Min  = Min,
                Max  = Max,
                MinX = _Desc.MinX,
                MaxX = _Desc.MaxX,
                MinY = _Desc.MinY,
                MaxY = _Desc.MaxY,
            };

            var current = _Data[index];

            for (int i = 0; i < current.Data.Length; i++)
            {
                double x = _Desc.Coordinates[i, 2];
                double y = _Desc.Coordinates[i, 3];

                result[(int)x, (int)y] = current.Data[i];
            }

            return(result);
        }
예제 #2
0
 public void DisplayModel(UnstructuredModel model)
 {
     Model    = model;
     DmpModel = model.ToDmp();
     dmpRenderControl1.LoadModel(DmpModel);
 }