Class TCustomPhastBoundaryCondition

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TCustomPhastBoundaryCondition = class(TInterpValuesItem)

Description

TCustomPhastBoundaryCondition is and abstract base class. Its descendants, TIntegerPhastBoundaryCondition and TRealPhastBoundaryCondition, are used to define the value of one aspect of a boundary condition for one time period.

Hierarchy

Overview

Fields

Private FFormula: string;
Private FMixtureDataSetList: TList;
Private FFormulaDataSetList: TList;
Private FMixtureFormula: string;
Private FMixtureObserver: TObserver;
Private FTime: double;
Private FFormulaObserver: TObserver;
Private FFormulaObject: TFormulaObject;

Methods

Private procedure AddMixtureSubscriptions;
Private function GetDistance1: double;
Private function GetDistance2: double;
Private function GetInterpolationDirection: TInterpolationDirection;
Private function GetMixtureFormula: string;
Private function GetScreenObject: TScreenObject;
Private function GetUsePHAST_Interpolation: boolean;
Private procedure RemoveMixtureSubscriptions;
Private procedure SetDistance1(const Value: double);
Private procedure SetDistance2(const Value: double);
Private procedure SetFormula(const Value: string);
Private procedure SetInterpolationDirection(const Value: TInterpolationDirection);
Private procedure SetMixtureExpression(const Value: string);
Private procedure SetMixtureFormula(const Value: string);
Private procedure SetTime(const Value: double);
Private procedure SetUsePHAST_Interpolation(const Value: boolean);
Private function GetFormulaExpression: string;
Private procedure SetFormulaExpression(const Value: string);
Private procedure RemoveDataSetSubscriptions(DataSetList: TList; Observer: TObserver);
Private procedure AddDataSetSubscriptions(DataSetList: TList; Observer: TObserver; Reset: TResetProcedure; NewFormula: string);
Private procedure RemoveFormulaSubscriptions;
Private procedure AddFormulaSubscriptions;
Private procedure RemoveSubscription(Sender: TObject; const AName: string);
Private procedure RestoreSubscription(Sender: TObject; const AName: string);
Private procedure ResetMixtureFormula(Compiler: TRbwParser);
Private procedure ResetFormulaExpression(Compiler: TRbwParser);
Protected function GetDatatype: TRbwDataType; virtual; abstract;
Protected procedure ResetMixtureSubscription;
Protected procedure UpdateMixtureExpression;
Protected procedure UpdateFormulaExpression;
Protected procedure InvalidateModel;
Public procedure Assign(Source: TPersistent); override;
Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function GetDataSet: TSparseArrayPhastInterpolationDataSet;

Properties

Public property MixtureExpression: string read GetMixtureFormula write SetMixtureExpression;
Public property ScreenObject: TScreenObject read GetScreenObject;
Public property FormulaExpression: string read GetFormulaExpression write SetFormulaExpression;
Published property DataType: TRbwDataType read GetDatatype;
Published property Distance1: double read GetDistance1 write SetDistance1;
Published property Distance2: double read GetDistance2 write SetDistance2;
Published property Expression: string read GetFormulaExpression write SetFormula stored False;
Published property Formula: string read GetFormulaExpression write SetFormula;
Published property InterpolationDirection: TInterpolationDirection read GetInterpolationDirection write SetInterpolationDirection;
Published property MixtureFormula: string read GetMixtureFormula write SetMixtureFormula;
Published property Time: double read FTime write SetTime;
Published property UsePHAST_Interpolation: boolean read GetUsePHAST_Interpolation write SetUsePHAST_Interpolation;

Description

Fields

Private FFormula: string;

See Formula.

Private FMixtureDataSetList: TList;

FMixtureDataSetList is a list of the TObservers that are directly used in MixtureFormula.

Private FFormulaDataSetList: TList;
 
Private FMixtureFormula: string;

See MixtureFormula.

Private FMixtureObserver: TObserver;

FMixtureObserver is used to monitor changes to the TDataArrays that are used in MixtureFormula.

Private FTime: double;

See Time.

Private FFormulaObserver: TObserver;
 
Private FFormulaObject: TFormulaObject;
 

Methods

Private procedure AddMixtureSubscriptions;

AddMixtureSubscriptions determines the TDataArrays that are used in MixtureFormula and has FMixtureObserver listen to each of them. See (TObserver.TalksTo).

Private function GetDistance1: double;

See Distance1.

Private function GetDistance2: double;

See Distance2.

Private function GetInterpolationDirection: TInterpolationDirection;

See InterpolationDirection.

Private function GetMixtureFormula: string;

See MixtureExpression.

Private function GetScreenObject: TScreenObject;

See ScreenObject.

Private function GetUsePHAST_Interpolation: boolean;

See UsePHAST_Interpolation.

Private procedure RemoveMixtureSubscriptions;

RemoveMixtureSubscriptions causes FMixtureObserver to stop listening to every TDataArray that it is observing. See StopsTalkingTo.

Private procedure SetDistance1(const Value: double);

See Distance1.

Private procedure SetDistance2(const Value: double);

See Distance2.

Private procedure SetFormula(const Value: string);

See Expression.

Private procedure SetInterpolationDirection(const Value: TInterpolationDirection);

See InterpolationDirection.

Private procedure SetMixtureExpression(const Value: string);

See MixtureExpression.

Private procedure SetMixtureFormula(const Value: string);

See MixtureFormula.

Private procedure SetTime(const Value: double);

See Time.

Private procedure SetUsePHAST_Interpolation(const Value: boolean);

See UsePHAST_Interpolation.

Private function GetFormulaExpression: string;
 
Private procedure SetFormulaExpression(const Value: string);
 
Private procedure RemoveDataSetSubscriptions(DataSetList: TList; Observer: TObserver);
 
Private procedure AddDataSetSubscriptions(DataSetList: TList; Observer: TObserver; Reset: TResetProcedure; NewFormula: string);
 
Private procedure RemoveFormulaSubscriptions;
 
Private procedure AddFormulaSubscriptions;
 
Private procedure RemoveSubscription(Sender: TObject; const AName: string);
 
Private procedure RestoreSubscription(Sender: TObject; const AName: string);
 
Private procedure ResetMixtureFormula(Compiler: TRbwParser);
 
Private procedure ResetFormulaExpression(Compiler: TRbwParser);
 
Protected function GetDatatype: TRbwDataType; virtual; abstract;

See DataType.

Protected procedure ResetMixtureSubscription;

ResetMixtureSubscription sets FMixtureObserver.UpToDate := True;

Protected procedure UpdateMixtureExpression;

UpdateMixtureExpression transfers the value stored in FMixtureFormula to MixtureExpression. See MixtureFormula.

Protected procedure UpdateFormulaExpression;
 
Protected procedure InvalidateModel;
 
Public procedure Assign(Source: TPersistent); override;

Assign copies values from TCustomPhastBoundaryCondition or TInterpValuesItem to the object calling Assign.

Public constructor Create(Collection: TCollection); override;

Create creates an instance of TCustomPhastBoundaryCondition.

Public destructor Destroy; override;

Destroy destroys the current instance of TCustomPhastBoundaryCondition.

Public function GetDataSet: TSparseArrayPhastInterpolationDataSet;

GetDataSet gets the TSparseArrayPhastInterpolationDataSet to which this TCustomPhastBoundaryCondition applies.

Properties

Public property MixtureExpression: string read GetMixtureFormula write SetMixtureExpression;

See TInterpValuesItem.Values.MixtureFormula. Mixture Expression can not be set until the entire model has been loaded. See MixtureFormula. See TPhastInterpolationValues.

Public property ScreenObject: TScreenObject read GetScreenObject;

ScreenObject is used to read the TScreenObject to which this TCustomPhastBoundaryCondition applies.

Public property FormulaExpression: string read GetFormulaExpression write SetFormulaExpression;
 
Published property DataType: TRbwDataType read GetDatatype;

DataType specifies the type of data (real number, integer, boolean, or string) stored in the TCustomPhastBoundaryCondition. However, at the time this was written only real numbers and integers were supported because those were the only types supported in descendants of TSparseArrayPhastInterpolationDataSet. See GetDataSet.

Published property Distance1: double read GetDistance1 write SetDistance1;

See TInterpValuesItem.Values.Distance1. See TPhastInterpolationValues.

Published property Distance2: double read GetDistance2 write SetDistance2;

See TInterpValuesItem.Values.Distance2. See TPhastInterpolationValues.

Published property Expression: string read GetFormulaExpression write SetFormula stored False;

Expression is only for backwards compatibility.

Published property Formula: string read GetFormulaExpression write SetFormula;

Formula is the formula used to set the value of the TCustomPhastBoundaryCondition when PHAST style interpolation is not used (that is: UsePHAST_Interpolation = False). See TPhastInterpolationValues.

Published property InterpolationDirection: TInterpolationDirection read GetInterpolationDirection write SetInterpolationDirection;

See TInterpValuesItem.Values.InterpolationDirection.

Published property MixtureFormula: string read GetMixtureFormula write SetMixtureFormula;

See TInterpValuesItem.Values.MixtureFormula. MixtureFormula is used to read and write MixtureExpression. After the model is loaded, UpdateMixtureExpression is called to transfer the value saved in FMixtureFormula to MixtureExpression. See TPhastInterpolationValues.

Published property Time: double read FTime write SetTime;

Time is the time at which this TCustomPhastBoundaryCondition takes effect.

Published property UsePHAST_Interpolation: boolean read GetUsePHAST_Interpolation write SetUsePHAST_Interpolation;

UsePHAST_Interpolation indicates whether or not PHAST-style interpolation will be used. See TPhastInterpolationValues.


Generated by PasDoc 0.12.1 on 2013-05-13 15:42:03