home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2001 October
/
Chip_2001-10_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d123456
/
CHEMPLOT.ZIP
/
TPlot
/
Data.hpp
< prev
next >
Wrap
C/C++ Source or Header
|
2001-07-31
|
10KB
|
230 lines
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Data.pas' rev: 3.00
#ifndef DataHPP
#define DataHPP
#include <Misc.hpp>
#include <Ptedit.hpp>
#include <Plotdefs.hpp>
#include <NoMath.hpp>
#include <Displace.hpp>
#include <Dataedit.hpp>
#include <Axis.hpp>
#include <Graphics.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <Controls.hpp>
#include <Clipbrd.hpp>
#include <Windows.hpp>
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Data
{
//-- type declarations -------------------------------------------------------
enum THighLow { hlLow, hlHigh };
typedef Set<THighLow, hlLow, hlHigh> TSetHighLow;
enum TDataStatus { dsNone, dsInternal, dsInternalString, dsExternal };
class DELPHICLASS TSeries;
class PASCALIMPLEMENTATION TSeries : public Classes::TPersistent
{
typedef Classes::TPersistent inherited;
private:
Classes::TList* FAxisList;
Graphics::TBrush* FBrush;
Word FDefSize;
int FDeltaX;
int FDeltaY;
System::AnsiString FName;
int FNoPts;
Graphics::TPen* FPen;
int FHighCapacity;
int FHighCount;
TSetHighLow FHighLow;
Misc::TIntegerArray *FHighs;
int FLowCount;
Misc::TIntegerArray *FLows;
bool FShadeLimits;
TSymbol FSymbol;
int FSymbolSize;
bool FVisible;
Axis::TAxis* FXAxis;
float FXMin;
float FXMax;
Misc::TSingleArray *FXData;
Classes::TStringList* FXStringData;
Axis::TAxis* FYAxis;
Byte FYAxisIndex;
Misc::TSingleArray *FYData;
float FZData;
Misc::TSingleArray *Fd2Y_dX2;
int Size2ndDeriv;
float FYMin;
float FYMax;
float YSum;
Classes::TNotifyEvent FOnStyleChange;
Classes::TNotifyEvent FOnDataChange;
Classes::TList* FDependentSeries;
bool FExternalXSeries;
TSeries* FXDataSeries;
TDataStatus DataStatus;
int MemSize;
tagPOINT TheOutline[22];
int NoOutlinePts;
void __fastcall CheckBounds(int ThePointNo, bool AdjustAxis);
bool __fastcall IncMemSize(void);
protected:
Word __fastcall GetXDataRefCount(void);
void __fastcall SetBrush(Graphics::TBrush* Value);
void __fastcall SetDeltaX(int Value);
void __fastcall SetDeltaY(int Value);
void __fastcall SetName(System::AnsiString Value);
void __fastcall SetPen(Graphics::TPen* Value);
void __fastcall SetShadeLimits(bool Value);
void __fastcall SetSymbol(Plotdefs::TSymbol Value);
void __fastcall SetSymbolSize(int Value);
void __fastcall SetVisible(bool Value);
void __fastcall SetXStringData(Classes::TStringList* Value);
void __fastcall SetYAxisIndex(Byte Value);
void __fastcall SetZData(float Value);
void __fastcall DoStyleChange(void);
void __fastcall DoDataChange(void);
public:
__property bool ExternalXSeries = {read=FExternalXSeries, nodefault};
__property TSeries* XDataSeries = {read=FXDataSeries};
__property int NoPts = {read=FNoPts, nodefault};
__property int HighCount = {read=FHighCount, nodefault};
__property Misc::pIntegerArray Highs = {read=FHighs};
__property int LowCount = {read=FLowCount, nodefault};
__property Misc::pIntegerArray Lows = {read=FLows};
__property Word XDataRefCount = {read=GetXDataRefCount, nodefault};
__property Axis::TAxis* XAxis = {read=FXAxis};
__property Axis::TAxis* YAxis = {read=FYAxis};
__property Byte YAxisIndex = {read=FYAxisIndex, write=SetYAxisIndex, nodefault};
__property Misc::pSingleArray XData = {read=FXData};
__property Classes::TStringList* XStringData = {read=FXStringData, write=SetXStringData};
__property Misc::pSingleArray YData = {read=FYData};
__property float ZData = {read=FZData, write=SetZData};
__property Misc::pSingleArray d2Y_dX2 = {read=Fd2Y_dX2};
__property float XMin = {read=FXMin};
__property float XMax = {read=FXMax};
__property float YMin = {read=FYMin};
__property float YMax = {read=FYMax};
__fastcall virtual TSeries(int Index, Classes::TList* AxisList, TSeries* XDataSeriesValue);
__fastcall virtual ~TSeries(void);
bool __fastcall AddData(Misc::pSingleArray XPointer, Misc::pSingleArray YPointer, int NumberOfPoints
);
int __fastcall AddDrawPoint(float X, float Y, Graphics::TCanvas* ACanvas);
int __fastcall AddPoint(float X, float Y, bool FireEvent, bool AdjustAxes);
int __fastcall AddStringPoint(System::AnsiString XString, float X, float Y, bool FireEvent, bool AdjustAxes
);
int __fastcall InsertPoint(float X, float Y);
bool __fastcall PointToData(Misc::pSingleArray XPointer, Misc::pSingleArray YPointer, int NumberOfPoints
);
void __fastcall ReplacePoint(int N, float NewX, float NewY);
bool __fastcall AllocateNoPts(int Value);
void __fastcall Compress(int CompressRatio);
void __fastcall Contract(int TheStart, int TheFinish);
void __fastcall CopyToClipBoard(void);
void __fastcall Displace(System::AnsiString TheHelpFile);
void __fastcall ApplyDisplacementChange(System::TObject* Sender);
bool __fastcall AddDependentSeries(TSeries* ASeries);
bool __fastcall RemoveDependentSeries(TSeries* ASeries);
bool __fastcall AssumeMasterSeries(int XPts, TSeries* OldMaster, Classes::TList* AList);
bool __fastcall ResetXDataSeries(TSeries* OldSeries, TSeries* NewSeries);
int __fastcall DelPoint(float X, float Y, bool Confirm);
int __fastcall DelPointNumber(int ThePoint, bool Confirm);
bool __fastcall DelData(void);
void __fastcall DrawHistory(Graphics::TCanvas* ACanvas, float HistoryX);
void __fastcall Draw(Graphics::TCanvas* ACanvas, int XYFastAt);
void __fastcall DrawShades(Graphics::TCanvas* ACanvas, int XYFastAt);
void __fastcall DrawPie(Graphics::TCanvas* ACanvas, int PieLeft, int PieTop, int PieWidth, int PieHeight
);
void __fastcall DrawPolar(Graphics::TCanvas* ACanvas, float PolarRange);
void __fastcall DrawSymbol(Graphics::TCanvas* ACanvas, int iX, int iY);
void __fastcall Trace(Graphics::TCanvas* ACanvas);
void __fastcall EditData(System::AnsiString TheHelpFile);
void __fastcall ApplyDataChange(System::TObject* Sender);
void __fastcall EditPoint(int ThePointNumber, System::AnsiString TheHelpFile);
void __fastcall ApplyPointChange(System::TObject* Sender, Forms::TModalResult TheResult);
void __fastcall GetBounds(void);
void __fastcall ResetBounds(void);
int __fastcall GetNearestPointToX(float X);
int __fastcall GetNearestPointToFX(int FX);
int __fastcall GetNearestPieSlice(int iX, int iY, int PieLeft, int PieTop, int PieWidth, int PieHeight
, float &MinDistance);
int __fastcall GetNearestXYPoint(int iX, int iY, int StartPt, int EndPt, float &MinDistance);
int __fastcall GetNearestXYPointFast(int iX, int iY, float &MinDistance);
void __fastcall GetPoint(int N, float &X, float &Y);
Misc::TXYPoint __fastcall GetXYPoint(int N);
void __fastcall Smooth(int SmoothOrder);
void __fastcall Sort(void);
void __fastcall GeneratePieOutline(int PieLeft, int PieTop, int PieWidth, int PieHeight, int TheNearestPoint
);
void __fastcall GenerateColumnOutline(int X1, int Y1, int X2, int Y2);
void __fastcall GenerateXYOutline(void);
void __fastcall Outline(Graphics::TCanvas* ACanvas, Plotdefs::TPlotType ThePlotType, int TheOutlineWidth
);
void __fastcall MoveBy(Graphics::TCanvas* ACanvas, Plotdefs::TPlotType ThePlotType, int DX, int DY,
int TheOutlineWidth);
void __fastcall MoveTo(Graphics::TCanvas* ACanvas, Plotdefs::TPlotType ThePlotType, int TheOutlineWidth
, int X, int Y);
void __fastcall LineBestFit(float TheLeft, float TheRight, int &NoLSPts, double &SumX, double &SumY
, double &SumXsq, double &SumXY, double &SumYsq, float &Slope, float &Intercept, float &Rsq);
void __fastcall Differentiate(void);
void __fastcall Integrate(void);
float __fastcall Integral(float TheLeft, float TheRight);
float __fastcall IntegralByPoint(int Start, int Finish);
void __fastcall DoSpline(int Density, TSeries* pSplineSeries);
void __fastcall SecondDerivative(void);
float __fastcall SplineValue(float X);
void __fastcall ClearSpline(void);
int __fastcall FindHighsLows(int Start, int Finish, int HeightSensitivity);
void __fastcall MovingAverage(int Span);
float __fastcall Average(float TheLeft, float TheRight);
void __fastcall Linearize(float TheLeft, float TheRight);
void __fastcall Zero(float TheLeft, float TheRight);
void __fastcall ClearHighsLows(void);
void __fastcall DrawHighs(Graphics::TCanvas* ACanvas);
void __fastcall MakeXDataIndependent(void);
__published:
__property Graphics::TBrush* Brush = {read=FBrush, write=SetBrush};
__property int DeltaX = {read=FDeltaX, write=SetDeltaX, nodefault};
__property int DeltaY = {read=FDeltaY, write=SetDeltaY, nodefault};
__property Word DefSize = {read=FDefSize, write=FDefSize, nodefault};
__property TSetHighLow HighLow = {read=FHighLow, write=FHighLow, nodefault};
__property System::AnsiString Name = {read=FName, write=SetName};
__property Graphics::TPen* Pen = {read=FPen, write=SetPen};
__property bool ShadeLimits = {read=FShadeLimits, write=SetShadeLimits, nodefault};
__property Plotdefs::TSymbol Symbol = {read=FSymbol, write=SetSymbol, nodefault};
__property int SymbolSize = {read=FSymbolSize, write=SetSymbolSize, nodefault};
__property bool Visible = {read=FVisible, write=SetVisible, nodefault};
__property Classes::TNotifyEvent OnStyleChange = {read=FOnStyleChange, write=FOnStyleChange};
__property Classes::TNotifyEvent OnDataChange = {read=FOnDataChange, write=FOnDataChange};
};
//-- var, const, procedure ---------------------------------------------------
#define OUTLINE_DENSITY (Byte)(20)
extern PACKAGE int __fastcall Compare(void * Item1, void * Item2);
} /* namespace Data */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Data;
#endif
//-- end unit ----------------------------------------------------------------
#endif // Data