Class TCustomPhastDataSet

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TCustomPhastDataSet = class(TDataArray)

Description

TCustomPhastDataSet is the abstract ancestor of TDataArrays that use PHAST-style interpolation.

Hierarchy

Overview

Fields

Private FDistance1: double;
Private FDistance2: double;
Private FInterpolationDirection: TInterpolationDirection;
Private FMixtureFormula: string;
Private FMixtureUseList: TStringList;
Private FMixtureUseListUpToDate: boolean;
Private FUsePHAST_InterpolationForAllCells: boolean;
Private FMixtureFormulaObject: TFormulaObject;

Methods

Private function GetDistance1: double;
Private function GetDistance2: double;
Private function GetMixtureUseList: TStringList;
Private procedure ResetCellsPhastInterpolation; virtual; abstract;
Private procedure ResetMixtureExpression(const Compiler: TRbwParser; const ErrorMessage: string);
Private procedure SetDistance1(const Value: double);
Private procedure SetDistance2(const Value: double);
Private procedure SetInterpolationDirection( const Value: TInterpolationDirection);
Private procedure SetMixtureFormula(const Value: string);
Private procedure SetUsePHAST_InterpolationForAllCells(const Value: boolean);
Private procedure UpdateMixtureUseList;
Private function GetMixtureFormula: string;
Protected procedure SetEvaluatedAt(const Value: TEvaluatedAt); override;
Protected procedure SetOrientation(const Value: TDataSetOrientation); override;
Protected procedure ReadData(DecompressionStream: TDecompressionStream); override;
Protected procedure StoreData(Stream: TStream); override;
Protected function GetCellDistance1(const ALay, ARow, ACol: integer): double; virtual; abstract;
Protected function GetCellDistance2(const ALay, ARow, ACol: integer): double; virtual; abstract;
Protected function GetCellInterpolationDirection(const ALay, ARow, ACol: integer): TInterpolationDirection; virtual; abstract;
Protected function GetIsInterpolatedCell(const ALay, ARow, ACol: integer): boolean; virtual; abstract;
Protected function GetUseList: TStringList; override;
Protected procedure InitializePhastArrays; virtual;
Protected procedure SetCellDistance1(const ALay, ARow, ACol: integer; const Value: double); virtual; abstract;
Protected procedure SetCellDistance2(const ALay, ARow, ACol: integer; const Value: double); virtual; abstract;
Protected procedure SetCellInterpolationDirection(const ALay, ARow, ACol: integer; const Value: TInterpolationDirection); virtual; abstract;
Protected procedure SetIsInterpolatedCell(const ALay, ARow, ACol: integer; const Value: boolean); virtual; abstract;
Public procedure CheckIfUniform; override;
Public procedure Assign(Source: TPersistent); override;
Public constructor Create(AnOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Initialize; override;
Public procedure Invalidate; override;
Public procedure RefreshFormula; override;

Properties

Protected property MixtureUseList: TStringList read GetMixtureUseList;
Public property CellDistance1[constALay,ARow,ACol:integer]: double read GetCellDistance1 write SetCellDistance1;
Public property CellDistance2[constALay,ARow,ACol:integer]: double read GetCellDistance2 write SetCellDistance2;
Public property CellInterpolationDirection[constALay,ARow,ACol:integer]: TInterpolationDirection read GetCellInterpolationDirection write SetCellInterpolationDirection;
Public property IsInterpolatedCell[constALay,ARow,ACol:integer]: boolean read GetIsInterpolatedCell write SetIsInterpolatedCell;
Published property Distance1: double read GetDistance1 write SetDistance1;
Published property Distance2: double read GetDistance2 write SetDistance2;
Published property InterpolationDirection: TInterpolationDirection read FInterpolationDirection write SetInterpolationDirection;
Published property MixtureFormula: string read GetMixtureFormula write SetMixtureFormula;
Published property UsePHAST_InterpolationForAllCells: boolean read FUsePHAST_InterpolationForAllCells write SetUsePHAST_InterpolationForAllCells;

Description

Fields

Private FDistance1: double;

See Distance1.

Private FDistance2: double;

See Distance2.

Private FInterpolationDirection: TInterpolationDirection;

See InterpolationDirection.

Private FMixtureFormula: string;

FMixtureFormula is a temporary variable used when changing MixtureFormula.

Private FMixtureUseList: TStringList;

See MixtureUseList.

Private FMixtureUseListUpToDate: boolean;

FMixtureUseListUpToDate is set to false when MixtureUseList is out of date.

Private FUsePHAST_InterpolationForAllCells: boolean;

See UsePHAST_InterpolationForAllCells.

Private FMixtureFormulaObject: TFormulaObject;
 

Methods

Private function GetDistance1: double;

See Distance1.

Private function GetDistance2: double;

See Distance2.

Private function GetMixtureUseList: TStringList;

See MixtureUseList.

Private procedure ResetCellsPhastInterpolation; virtual; abstract;

ResetCellsPhastInterpolation clears all data regarding PHAST-style interpolation

Private procedure ResetMixtureExpression(const Compiler: TRbwParser; const ErrorMessage: string);

ResetMixtureExpression sets the MixtureFormula to 0.5. ResetMixtureExpression is called if the MixtureFormula is invalid.

Private procedure SetDistance1(const Value: double);

See Distance1.

Private procedure SetDistance2(const Value: double);

See Distance2.

Private procedure SetInterpolationDirection( const Value: TInterpolationDirection);

See InterpolationDirection.

Private procedure SetMixtureFormula(const Value: string);

See MixtureFormula.

Private procedure SetUsePHAST_InterpolationForAllCells(const Value: boolean);

See UsePHAST_InterpolationForAllCells.

Private procedure UpdateMixtureUseList;

UpdateMixtureUseList recalculates MixtureUseList.

Private function GetMixtureFormula: string;
 
Protected procedure SetEvaluatedAt(const Value: TEvaluatedAt); override;
 
Protected procedure SetOrientation(const Value: TDataSetOrientation); override;
 
Protected procedure ReadData(DecompressionStream: TDecompressionStream); override;
 
Protected procedure StoreData(Stream: TStream); override;
 
Protected function GetCellDistance1(const ALay, ARow, ACol: integer): double; virtual; abstract;

GetCellDistance1 is the first of the distances used for PHAST-style interpolation.

Protected function GetCellDistance2(const ALay, ARow, ACol: integer): double; virtual; abstract;

GetCellDistance2 is the second of the distances used for PHAST-style interpolation.

Protected function GetCellInterpolationDirection(const ALay, ARow, ACol: integer): TInterpolationDirection; virtual; abstract;

GetCellInterpolationDirection specifies whether the PHAST-style interpolation is done in the X, Y, or Z direction or with a mixture.

Protected function GetIsInterpolatedCell(const ALay, ARow, ACol: integer): boolean; virtual; abstract;

See IsInterpolatedCell.

Protected function GetUseList: TStringList; override;

GetUseList calls TDataArray.GetUseList GetUseList and then adds the contents of MixtureUseList if appropriate.

Protected procedure InitializePhastArrays; virtual;

InitializePhastArrays stores the PHAST-style interpolation data at all cells where it is appropriate to do so. InitializePhastArrays does nothing in TCustomPhastDataSet but in descendants it is used.

Protected procedure SetCellDistance1(const ALay, ARow, ACol: integer; const Value: double); virtual; abstract;

See CellDistance1.

Protected procedure SetCellDistance2(const ALay, ARow, ACol: integer; const Value: double); virtual; abstract;

See CellDistance2.

Protected procedure SetCellInterpolationDirection(const ALay, ARow, ACol: integer; const Value: TInterpolationDirection); virtual; abstract;

See CellInterpolationDirection.

Protected procedure SetIsInterpolatedCell(const ALay, ARow, ACol: integer; const Value: boolean); virtual; abstract;

See IsInterpolatedCell.

Public procedure CheckIfUniform; override;
 
Public procedure Assign(Source: TPersistent); override;

Assign copies data from Source to this TCustomPhastDataSet. If Source is a TCustomPhastDataSet or a TPhastInterpolationValues, PHAST-style interpolation data is copied from Source.

Public constructor Create(AnOwner: TComponent); override;

Create creates an instance of TCustomPhastDataSet.

Public destructor Destroy; override;

Destroy destroys the current instance of TCustomPhastDataSet. Do not call Destroy directly. Call Free instead.

Public procedure Initialize; override;

Initialize sets the values for all the cells in TCustomPhastDataSet.

Flow Chart, Part 1
Flow chart (part 1) illustrating how values are assigned to elements or cells.

Flow Chart, Part 2
Flow chart (part 2) illustrating how values are assigned to elements or cells.

Public procedure Invalidate; override;

Invalidate calls TDataArray.Invalidate Invalidate and then specifies the MixtureUseList as being out of date.

Public procedure RefreshFormula; override;
 

Properties

Protected property MixtureUseList: TStringList read GetMixtureUseList;

MixtureUseList holds a list of all the variables used by MixtureFormula.

Public property CellDistance1[constALay,ARow,ACol:integer]: double read GetCellDistance1 write SetCellDistance1;

CellDistance1 specifies the first PHAST-style interpolation distance for the cell at ALay, ARow, ACol.

Public property CellDistance2[constALay,ARow,ACol:integer]: double read GetCellDistance2 write SetCellDistance2;

CellDistance2 specifies the second PHAST-style interpolation distance for the cell at ALay, ARow, ACol.

Public property CellInterpolationDirection[constALay,ARow,ACol:integer]: TInterpolationDirection read GetCellInterpolationDirection write SetCellInterpolationDirection;

CellInterpolationDirection specifies the TInterpolationDirection for PHAST-style interpolation distance for the cell at ALay, ARow, ACol.

Public property IsInterpolatedCell[constALay,ARow,ACol:integer]: boolean read GetIsInterpolatedCell write SetIsInterpolatedCell;

IsInterpolatedCell specifies whether the cell at ALay, ARow, ACol uses PHAST-style interpolation.

Published property Distance1: double read GetDistance1 write SetDistance1;

Distance1 is the first distance used for PHAST-style interpolation when PHAST-style interpolation is applied to the entire data set.

Published property Distance2: double read GetDistance2 write SetDistance2;

Distance2 is the second distance used for PHAST-style interpolation when PHAST-style interpolation is applied to the entire data set.

Published property InterpolationDirection: TInterpolationDirection read FInterpolationDirection write SetInterpolationDirection;

InterpolationDirection is the TInterpolationDirection used for PHAST-style interpolation when PHAST-style interpolation is applied to the entire data set.

Published property MixtureFormula: string read GetMixtureFormula write SetMixtureFormula;

MixtureFormula is the formula used for PHAST-style interpolation when PHAST-style interpolation is applied to the entire data set and InterpolationDirection = pidMix.

Published property UsePHAST_InterpolationForAllCells: boolean read FUsePHAST_InterpolationForAllCells write SetUsePHAST_InterpolationForAllCells;

UsePHAST_InterpolationForAllCells specifies whether PHAST-style interpolation should be applied to all cells.


Generated by PasDoc 0.12.1 on 2013-05-13 15:41:55