SMatPlot Interface

{Defined in UNIT SMatPlot.PAS}


TYPE

plotType=(Checker,Contour,ThreeD,Scatter);

TSurfColors = array[0..maxContNum] of TColor;

TContColors = array[1..maxContNum] of TColor;

TMatrix = ARRAY [1..maxDoubleIndex] of Double;

TMatPtr=^TMatrix;

THeight = ARRAY [1..MaxContNum] of Double;

TSMatPlot=Class(TGraphicControl)

Constructor Create(aOwner:TComponent); override;

Destructor Destroy; override;

Procedure Free;

Procedure Paint; override;

Procedure PaintContour(Canvas:TCanvas);

Procedure PaintChecker(Canvas:TCanvas);

Procedure Paint3D(Canvas:TCanvas);

Procedure PaintScatter(Canvas:TCanvas);

Procedure ShowSample;

Procedure ResizeMat(n,m:Integer);

Procedure FillMat(value:Double);

Procedure SetValue(row,col:Integer;newValue:Double);

Function Value(row,col:Integer):Double;

PROCEDURE Set3DScales (xmin,xmax,ymin,ymax,zmin,zmax : Double);

PROCEDURE SetViewAngles (a,b,c : Double);

PROCEDURE SetSizeAndDistance(size_,distance_ : Double);

Procedure SetContourHeights(height:THeight);

Procedure SetContourColors(colors:TContColors);

Procedure SetContourColor(n:Integer;color:TColor);

Procedure Clear3D;

Procedure RowColFromPix(x,y:Integer; var row,col:Integer);

Procedure Equate(Source:TSMatPlot);

MatPtr:TMatPtr;

autoScaleContour:boolean;

autoScale3D:Boolean;

showGrid:Boolean;

arrows:Boolean;

Published

property solidSurface:Boolean read fSolidSurface write setSolidSurface;

property sufaceColor:TColor read fSurfaceColor write setSurfaceColor;

property ParentColor;

property Color;

property Align;

property Distance:Double Read FDistance Write SetDistance;

property SizeFactor:Double Read FSizeFactor Write SetSizeFactor;

property BoxDraw:Boolean Read FboxDrawn Write SetBoxDrawn;

property PlotStyle:PlotType Read FPlotStyle Write SetPlotStyle;

property onMouseDown;

property onMouseMove;

property onMouseUp;

property nRows:Integer read fNRows;

property nCols:Integer read fNCols;

property ContNum : word Read FContNum write SetContNum;

Procedure CoordinateDisplay(sender:TObject;

Shift:TShiftState;

x,y:Integer);

Procedure StartCoordinateDisplay(sender:TObject;

button:TMouseButton;

Shift:TShiftState;

x,y:Integer);

Procedure EndCoordinateDisplay(sender:TObject;

button:TMouseButton;

Shift:TShiftState;

x,y:Integer);

end;