private void parsePaint()
{
paint.Plottitle = p1.PlotTitle==null?"sample plot":p1.PlotTitle;
//paint.X_Fact = 1;
//paint.Y_Fact = 1;
//paint.Xtitle = "X-axis";
//paint.Ytitle = "Y-axis";
//paint.Mode = p1.ScaleMode;
switch (p1.Command)
{
case "subPlot":
if (p1.Dimensions == 2 || p1.Dimensions==1)
{
int length = 0;
double[] list = new double[p1.Data.GetLength(0) * p1.Data.GetLength(1)];
for (int i = 0; i < p1.Data.GetLength(0); i++)
for (int j = 0; j < p1.Data.GetLength(1); j++)
list[length++]=p1.Data[i, j];
paint.subplot2D(list, p1.PaneNum);
}
if (p1.Dimensions == 3)
{
if (p1.Mode == 1) { paint.subplot3D_terrain(p1.Data,p1.PaneNum); }
else if (p1.Mode == 2) paint.vector3D_sub(p1.Data,p1.PaneNum);
else paint.subplot_3Dto2D(p1.Data,p1.PaneNum);
}
retImage(paint.pmanager.returnEncoderImage());
break;
case "plot":
if (p1.Dimensions == 2 || p1.Dimensions == 1)
{
int length = 0;
double[] list = new double[p1.Data.GetLength(0) * p1.Data.GetLength(1)];
for (int i = 0; i < p1.Data.GetLength(0); i++)
for (int j = 0; j < p1.Data.GetLength(1); j++)
list[length++] = p1.Data[i, j];
paint.Plottitle = p1.PlotTitle;
paint.plot2D(list); // canvas has to be removed
}
if (p1.Dimensions == 3) {
if (p1.Mode == 1) { paint.plot3D_Terrain(p1.Data); }
else if (p1.Mode == 2) paint.vector3D(p1.Data);
else paint.plot3DInto2D(p1.Data);
}
retImage(paint.pmanager.returnEncoderImage());
break;
case "resetPlot": paint.reset(); retImage(paint.pmanager.returnEncoderImage());
break; // the public function is yet to be designed
case "setPlotAxis": paint.X_Fact = p1.X_Fact;
paint.Y_Fact = p1.Y_Fact; retImage(paint.pmanager.returnEncoderImage());
break;
case "setAxisTitle": paint.Xtitle = p1.X_Axis_Title;
paint.Ytitle = p1.Y_Axis_Title;
paint.Ztitle = p1.Z_Axis_Title;
break;
case "setScaleMode": paint.Mode = p1.ScaleMode;
break;
}
//mahes is going to give me the public paint module function to plot the data.
}