Back
{Signal and Data objects 
author: Nikolai V. Shokhirev  
created: 2002.02.02
last modified: 2004.12.22
ŠNikolai V. Shokhirev, 2002-2004 
unit uDynData;

interface

uses
  SysUtils, uMatTypes, uDynArrays;

type

{ Interface for 1D Data Limits }
  IDataLim1D = interface
  ['{5C9ADA14-DC97-466E-987F-5FCFA766A499}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Interface for 2D Data Limits }
  IDataLim2D = interface
  ['{4715C380-36D8-403D-934F-C563D6FF796F}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Interface for 1D integer Signal }
  IISignal1D = interface(IIArr1D)
  ['{E2EE0268-82AA-4DD8-B9A6-B5C6BD0CC258}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Interface for 2D integer Signal }
  IISignal2D = interface(IIArr2D)
  ['{D811D555-57DA-49EE-B195-FA3A696C33A0}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Interface for 1D float Signal }
  IFSignal1D = interface(IFArr1D)
  ['{D3C20007-A7DC-4E60-853C-AE3128FE1063}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Interface for 2D float Signal }
  IFSignal2D = interface(IFArr2D)
  ['{D430CEA1-3FB0-4DA6-8FD9-AE25EE125234}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Interface for 2D float Signal }
  IFSignal3D = interface(IFArr3D)
  ['{F18F1CFB-616A-4517-A330-41D2A8F15A8C}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
    property Step3: TFloat read GetStep2 write SetStep2;
    property Start3: TFloat read GetStart2 write SetStart2;
  end;

{Interface for Dynamic Complex 1D Signal:
  CVector = ReVector + i*ImVector }
  ICSignal1D = interface(ICArr1D)
  ['{F3128A2D-088C-4686-B5E5-6FF7C65EB584}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Interface for Dynamic Complex 2D Signal:
  CMatrix = ReMatrix + i*ImMatrix }
  ICSignal2D = interface(ICArr2D)
  ['{4FC57A45-5455-438A-BEAA-BCC2E0AF1C5F}']
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Interface for Float 1D Data  }
  IFData1D = interface(ILim1D)
  ['{74979ECF-2911-4BDF-BA07-354DAA564F4C}']
    property x1: IFArr1D read GetX1 write SetX1;
    property x2: IFArr1D read GetX2 write SetX2;
  end;

{ Interface for Float 2D Data  }
  IFData2D = interface(ILim2D)
  ['{D4F723C0-4755-48B2-B40C-C1D7741E746F}']
    property x1: IFArr1D read GetX1 write SetX1;
    property x2: IFArr1D read GetX2 write SetX2;
    property z: IFArr2D read GetZ write SetZ;
  end;

{ Object for 1D integer Signal }

  TISignal1D = class(TIArr1D, IISignal1D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Object for 2D integer Signal }
  TISignal2D = class(TIArr2D, IISignal2D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Object for 1D float Signal }
  TFSignal1D = class(TFArr1D, IFSignal1D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Object for 2D float Signal }
  TFSignal2D = class(TFArr2D, IFSignal2D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

{ Object for 3D float Signal }
  TFSignal3D = class(TFArr3D, IFSignal3D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
    property Step3: TFloat read GetStep2 write SetStep2;
    property Start3: TFloat read GetStart2 write SetStart2;
  end;

    { Object for 1D complex Signal }
  TCSignal1D = class(TCArr1D, ICSignal1D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
  end;

{ Object for 2D complex Signal }
  TCSignal2D = class(TCArr2D, ICSignal2D)
  public
    property Step1: TFloat read GetStep1 write SetStep1;
    property Start1: TFloat read GetStart1 write SetStart1;
    property Step2: TFloat read GetStep2 write SetStep2;
    property Start2: TFloat read GetStart2 write SetStart2;
  end;

  TFData1D = class(TComment, IFData1D)
  public
//    constructor Create(A: IFData1D; CopyData: boolean = false); overload;
    constructor Create(aHi1: TInt); overload;
    constructor Create(aLo1, aHi1: TInt); overload;
    destructor Destroy; override;
    procedure Swap(i, j: TInt);
//    procedure dx2dx1(i, j: TInt);
    property Hi1: TInt read GetHi1;
    property Lo1: TInt read GetLo1 write SetLo1;
    property Dim1: TInt read GetDim1;
    property x1: IFArr1D read GetX1 write SetX1;
    property x2: IFArr1D read GetX2 write SetX2;
  end;

{Object for Float 2D Data  }
  TFData2D = class(TComment, IFData2D)
  public
    constructor Create(aDIm1, aDim2: TInt); overload;
    constructor Create(aLo1, aHi1, aLo2, aHi2: TInt); overload;
    property Hi1: TInt read GetHi1;
    property Lo1: TInt read GetLo1 write SetLo1;
    property Dim1: TInt read GetDim1;
    property Hi2: TInt read GetHi2;
    property Lo2: TInt read GetLo2 write SetLo2;
    property Dim2: TInt read GetDim2;
    property x1: IFArr1D read GetX1 write SetX1;
    property x2: IFArr1D read GetX2 write SetX2;
    property z: IFArr2D read GetZ write SetZ;
  end;

implementation

end.

Back

Generated by Lore's Source to HTML Converter(http://www.newty.de/lsc/index.html)