Description | Hierarchy | Fields | Methods | Properties |
type TCustomGrid = class(TPersistent)
TCustomGrid
is an abstract class that defines the interface for a grid. It implements storage for columns and rows but not for layers.
It also implements display of the top view of the grid but not the front or side views. The columns and rows boundaries are stored in one-dimensional arrays. For some finite-difference models such as PHAST, the layers can also be stored in a one-dimensional arrays. Others, such as MODFLOW, would require a more complex access method. The interface defined in TCustomGrid
defines the more complex access method required by a MODFLOW-type grid. However, because no MODFLOW-type grid has actually been implemented, there may prove to be bugs in TCustomGrid
when used as an ancestor of a MODFLOW-type grid. )
![]() |
procedure ReadColumnPositions(Reader: TReader); |
![]() |
procedure ReadRowPositions(Reader: TReader); |
![]() |
procedure RecordColoredGrid; |
![]() |
procedure RecordFront; |
![]() |
procedure RecordShell; |
![]() |
procedure RecordSide; |
![]() |
procedure RecordTop; |
![]() |
procedure SetFrontDataSet(const Value: TDataArray); |
![]() |
procedure SetNeedToRecalculate3DCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateFrontCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateSideCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateTopCellColors(const Value: boolean); |
![]() |
procedure SetSelectedColumn(Value: integer); |
![]() |
procedure SetSelectedLayer(Value: integer); |
![]() |
procedure SetSelectedRow(Value: integer); |
![]() |
procedure SetSideDataSet(const Value: TDataArray); |
![]() |
procedure SetThreeDDataSet(const Value: TDataArray); |
![]() |
procedure SetTopDataSet(const Value: TDataArray); |
![]() |
procedure Update3DCellColors(var CellColors: TCellColors); |
![]() |
procedure WriteColumnPositions(Writer: TWriter); |
![]() |
procedure WriteRowPositions(Writer: TWriter); |
![]() |
procedure DefineProperties(Filer: TFiler); override; |
![]() |
procedure DrawFront(const Canvas: TCanvas); virtual; abstract; |
![]() |
procedure DrawSide(const Canvas: TCanvas); virtual; abstract; |
![]() |
procedure DrawTop(const Canvas: TCanvas); virtual; |
![]() |
procedure GetCellCornerElevations(const EvalAt: TEvaluatedAt; out Elevations: TThreeDRealArray); virtual; abstract; |
![]() |
function GetCellElevation(const Column, Row, Layer: integer): real; virtual; abstract; |
![]() |
function GetCellThickness(const Column, Row, Layer: integer): real; virtual; abstract; |
![]() |
function GetColumnPosition(const Column: integer): real; virtual; |
![]() |
function GetColumnWidth(const Column: integer): real; virtual; |
![]() |
function GetContainingColumnOrRow(const Positions: TOneDRealArray; const APosition: real): integer; |
![]() |
function GetFrontCellColors(const Column, Layer: integer): TColor; virtual; |
![]() |
function GetRowPosition(const Row: integer): real; virtual; |
![]() |
function GetRowWidth(const Row: integer): real; virtual; |
![]() |
function GetSideCellColors(const Row, Layer: integer): TColor; virtual; |
![]() |
function GetTopCellColors(const Column, Row: integer): TColor; virtual; |
![]() |
function NearestColumnOrRow(const Positions: TOneDRealArray; const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
![]() |
procedure SetCellElevation(const Column, Row, Layer: integer; const Value: real); virtual; abstract; |
![]() |
procedure SetCellThickness(const Column, Row, Layer: integer; const Value: real); virtual; abstract; |
![]() |
procedure SetColumnCount(const Value: integer); virtual; |
![]() |
procedure SetColumnDirection(const Value: TColumnDirection); virtual; |
![]() |
procedure SetColumnPosition(const Column: integer; const Value: real); virtual; |
![]() |
procedure SetColumnPositions(const Value: TOneDRealArray); |
![]() |
procedure SetColumnWidth(const Column: integer; const Value: real); |
![]() |
procedure SetFrontCellColors(const Column, Layer: integer; const Value: TColor); virtual; |
![]() |
procedure SetGridAngle(Value: real); virtual; |
![]() |
procedure SetLayerCount(const Value: integer); virtual; |
![]() |
procedure SetLayerDirection(const Value: TLayerDirection); virtual; |
![]() |
procedure SetRowCount(const Value: integer); virtual; |
![]() |
procedure SetRowDirection(const Value: TRowDirection); virtual; |
![]() |
procedure SetRowPosition(const Row: integer; const Value: real); virtual; |
![]() |
procedure SetRowPositions(const Value: TOneDRealArray); |
![]() |
procedure SetRowWidth(const Row: integer; const Value: real); virtual; |
![]() |
procedure SetSideCellColors(const Row, Layer: integer; const Value: TColor); virtual; |
![]() |
procedure SetTopCellColors(const Column, Row: integer; const Value: TColor); virtual; |
![]() |
procedure AddColumn(const Value: real); |
![]() |
procedure AddRow(const Value: real); |
![]() |
procedure Assign(Source: TPersistent); override; |
![]() |
function CanDraw3D: boolean; |
![]() |
function ColumnCenter(const Column: integer): real; |
![]() |
constructor Create; |
![]() |
procedure DeleteColumn(const AColumn: integer); |
![]() |
procedure DeleteRow(const ARow: integer); |
![]() |
destructor Destroy; override; |
![]() |
procedure Draw(const Canvas: TCanvas; const ViewDirection: TViewDirection); |
![]() |
procedure Draw3D; |
![]() |
function GetContainingColumn(const AnXPosition: real): integer; |
![]() |
function GetContainingRow(const AYPosition: real): integer; |
![]() |
procedure GridChanged; |
![]() |
procedure Initialize; |
![]() |
function NearestColumnCenter(const APosition: real; First: integer = -1; Last: integer = -1): integer; |
![]() |
function NearestColumnPosition(const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
![]() |
function NearestRowCenter(const APosition: real; First: integer = -1; Last: integer = -1): integer; |
![]() |
function NearestRowPosition(const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
![]() |
procedure NeedToRecalculateCellColors; |
![]() |
procedure ResetFrontCellColors; |
![]() |
procedure ResetSideCellColors; |
![]() |
procedure ResetTopCellColors; |
![]() |
function RotateFromGridCoordinatesToRealWorldCoordinates (const APoint: T2DRealPoint): T2DRealPoint; |
![]() |
function RotateFromRealWorldCoordinatesToGridCoordinates (const APoint: T2DRealPoint): T2DRealPoint; |
![]() |
function RowCenter(const Row: integer): real; |
![]() |
function ThreeDColumnEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
![]() |
function ThreeDElementCenter(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
![]() |
function ThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
![]() |
function ThreeDLayerEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
![]() |
function ThreeDRowEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
![]() |
function TopContainingCell(APoint: T2DRealPoint; const EvaluatedAt: TEvaluatedAt; const NeedToRotatePointToGridCoordinates: boolean = True; const BelowCol: integer = -1; const AboveCol: integer = -1; const BelowRow: integer = -1; const AboveRow: integer = -1): T2DTopCell; |
![]() |
function TwoDColumnEdgeCenter(const Column, Row: integer): T2DRealPoint; |
![]() |
function TwoDElementCenter(const Column, Row: integer): T2DRealPoint; |
![]() |
function TwoDElementCorner(const Column, Row: integer): T2DRealPoint; |
![]() |
function TwoDRowEdgeCenter(const Column, Row: integer): T2DRealPoint; |
![]() |
procedure UpdateCellColors(const ViewDirection: TViewDirection); |
![]() |
procedure UpdateColumnPositions; virtual; |
![]() |
procedure UpdateRowPositions; virtual; |
![]() |
procedure ViewsChanged; |
![]() |
FColumnCount: integer; |
|
![]() |
FColumnDirection: TColumnDirection; |
|
![]() |
FColumnPositions: TOneDRealArray; |
|
![]() |
FFrontCellColors: array of array of TColor; |
|
![]() |
FFrontDataSet: TDataArray; |
|
![]() |
FGridAngle: real; |
|
![]() |
FLayerCount: integer; |
|
![]() |
FLayerDirection: TLayerDirection; |
|
![]() |
FNeedToRecalculate3DCellColors: boolean; |
|
![]() |
FRowCount: integer; |
|
![]() |
FRowDirection: TRowDirection; |
|
![]() |
FRowPositions: TOneDRealArray; |
|
![]() |
FSelectedColumn: integer; |
|
![]() |
FSelectedLayer: integer; |
|
![]() |
FSelectedRow: integer; |
|
![]() |
FSideCellColors: array of array of TColor; |
|
![]() |
FSideDataSet: TDataArray; |
|
![]() |
FThreeDDataSet: TDataArray; |
|
![]() |
FTopCellColors: array of array of TColor; |
|
![]() |
FTopDataSet: TDataArray; |
|
![]() |
FOnSelectedColumnChange: TNotifyEvent; |
|
![]() |
FOnSelectedLayerChange: TNotifyEvent; |
|
![]() |
FOnSelectedRowChange: TNotifyEvent; |
|
![]() |
FCellsGLIndex: GLuint; |
|
![]() |
FFrontGridGLIndex: GLuint; |
|
![]() |
FGridShellGLIndex: GLuint; |
|
![]() |
FListsCreated: boolean; |
|
![]() |
FNeedToRecalculateFrontCellColors: boolean; |
|
![]() |
FNeedToRecalculateSideCellColors: boolean; |
|
![]() |
FNeedToRecalculateTopCellColors: boolean; |
|
![]() |
FNeedToRedraw3d: boolean; |
|
![]() |
FSideGridGLIndex: GLuint; |
|
![]() |
FTopGridGLIndex: GLuint; |
|
![]() |
procedure ReadColumnPositions(Reader: TReader); |
|
![]() |
procedure ReadRowPositions(Reader: TReader); |
|
![]() |
procedure RecordColoredGrid; |
|
![]() |
procedure RecordFront; |
|
![]() |
procedure RecordShell; |
|
![]() |
procedure RecordSide; |
|
![]() |
procedure RecordTop; |
|
![]() |
procedure SetFrontDataSet(const Value: TDataArray); |
See FrontDataSet. |
![]() |
procedure SetNeedToRecalculate3DCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateFrontCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateSideCellColors(const Value: boolean); |
![]() |
procedure SetNeedToRecalculateTopCellColors(const Value: boolean); |
![]() |
procedure SetSelectedColumn(Value: integer); |
See SelectedColumn. |
![]() |
procedure SetSelectedLayer(Value: integer); |
See SelectedLayer. |
![]() |
procedure SetSelectedRow(Value: integer); |
See SelectedRow. |
![]() |
procedure SetSideDataSet(const Value: TDataArray); |
See SideDataSet. |
![]() |
procedure SetThreeDDataSet(const Value: TDataArray); |
See ThreeDDataSet. |
![]() |
procedure SetTopDataSet(const Value: TDataArray); |
See TopDataSet. |
![]() |
procedure Update3DCellColors(var CellColors: TCellColors); |
|
![]() |
procedure WriteColumnPositions(Writer: TWriter); |
|
![]() |
procedure WriteRowPositions(Writer: TWriter); |
|
![]() |
procedure DefineProperties(Filer: TFiler); override; |
See also
|
![]() |
procedure DrawFront(const Canvas: TCanvas); virtual; abstract; |
|
![]() |
procedure DrawSide(const Canvas: TCanvas); virtual; abstract; |
|
![]() |
procedure DrawTop(const Canvas: TCanvas); virtual; |
|
![]() |
procedure GetCellCornerElevations(const EvalAt: TEvaluatedAt; out Elevations: TThreeDRealArray); virtual; abstract; |
This procedure would probably have to be modified or replaced for grids such as that in MODFLOW that all elevations to vary within a layer. |
![]() |
function GetCellElevation(const Column, Row, Layer: integer): real; virtual; abstract; |
See CellElevation. |
![]() |
function GetCellThickness(const Column, Row, Layer: integer): real; virtual; abstract; |
See CellThickness. |
![]() |
function GetColumnPosition(const Column: integer): real; virtual; |
See ColumnPosition. |
![]() |
function GetColumnWidth(const Column: integer): real; virtual; |
See ColumnWidth. |
![]() |
function GetContainingColumnOrRow(const Positions: TOneDRealArray; const APosition: real): integer; |
Positions is an array of column or row boundaries. |
![]() |
function GetFrontCellColors(const Column, Layer: integer): TColor; virtual; |
See FrontCellColors. |
![]() |
function GetRowPosition(const Row: integer): real; virtual; |
See RowPosition. |
![]() |
function GetRowWidth(const Row: integer): real; virtual; |
See RowWidth. |
![]() |
function GetSideCellColors(const Row, Layer: integer): TColor; virtual; |
See SideCellColors. |
![]() |
function GetTopCellColors(const Column, Row: integer): TColor; virtual; |
See TopCellColors. |
![]() |
function NearestColumnOrRow(const Positions: TOneDRealArray; const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
Parameters
|
![]() |
procedure SetCellElevation(const Column, Row, Layer: integer; const Value: real); virtual; abstract; |
See CellElevation. |
![]() |
procedure SetCellThickness(const Column, Row, Layer: integer; const Value: real); virtual; abstract; |
See CellThickness. |
![]() |
procedure SetColumnCount(const Value: integer); virtual; |
See ColumnCount. |
![]() |
procedure SetColumnDirection(const Value: TColumnDirection); virtual; |
See ColumnDirection. |
![]() |
procedure SetColumnPosition(const Column: integer; const Value: real); virtual; |
See ColumnPosition. |
![]() |
procedure SetColumnPositions(const Value: TOneDRealArray); |
See ColumnPositions. |
![]() |
procedure SetColumnWidth(const Column: integer; const Value: real); |
See ColumnWidth. |
![]() |
procedure SetFrontCellColors(const Column, Layer: integer; const Value: TColor); virtual; |
See FrontCellColors. |
![]() |
procedure SetGridAngle(Value: real); virtual; |
See GridAngle. |
![]() |
procedure SetLayerCount(const Value: integer); virtual; |
see LayerCount. |
![]() |
procedure SetLayerDirection(const Value: TLayerDirection); virtual; |
See LayerDirection. |
![]() |
procedure SetRowCount(const Value: integer); virtual; |
See RowCount. |
![]() |
procedure SetRowDirection(const Value: TRowDirection); virtual; |
See RowDirection. |
![]() |
procedure SetRowPosition(const Row: integer; const Value: real); virtual; |
See RowPosition. |
![]() |
procedure SetRowPositions(const Value: TOneDRealArray); |
See RowPositions. |
![]() |
procedure SetRowWidth(const Row: integer; const Value: real); virtual; |
See RowWidth. |
![]() |
procedure SetSideCellColors(const Row, Layer: integer; const Value: TColor); virtual; |
See SideCellColors. |
![]() |
procedure SetTopCellColors(const Column, Row: integer; const Value: TColor); virtual; |
See TopCellColors. |
![]() |
procedure AddColumn(const Value: real); |
Add a new column boundary at position "Value". |
![]() |
procedure AddRow(const Value: real); |
Add a new row boundary at position "Value". |
![]() |
procedure Assign(Source: TPersistent); override; |
Copies the properties of Source into self. Only those properties that normally would be saved to file are copied. |
![]() |
function CanDraw3D: boolean; |
|
![]() |
function ColumnCenter(const Column: integer): real; |
|
![]() |
constructor Create; |
|
![]() |
procedure DeleteColumn(const AColumn: integer); |
|
![]() |
procedure DeleteRow(const ARow: integer); |
|
![]() |
destructor Destroy; override; |
![]() |
procedure Draw(const Canvas: TCanvas; const ViewDirection: TViewDirection); |
See also |
![]() |
procedure Draw3D; |
|
![]() |
function GetContainingColumn(const AnXPosition: real): integer; |
![]() |
function GetContainingRow(const AYPosition: real): integer; |
![]() |
procedure GridChanged; |
|
![]() |
procedure Initialize; |
|
![]() |
procedure NeedToRecalculateCellColors; |
|
![]() |
procedure ResetFrontCellColors; |
|
![]() |
procedure ResetSideCellColors; |
Sets the colors of the cells in a side view of the grid to white. See UpdateCellColors. |
![]() |
procedure ResetTopCellColors; |
Sets the colors of the cells in a top view of the grid to white. See UpdateCellColors. |
![]() |
function RotateFromGridCoordinatesToRealWorldCoordinates (const APoint: T2DRealPoint): T2DRealPoint; |
|
![]() |
function RotateFromRealWorldCoordinatesToGridCoordinates (const APoint: T2DRealPoint): T2DRealPoint; |
|
![]() |
function RowCenter(const Row: integer): real; |
|
![]() |
function ThreeDColumnEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
See also
|
![]() |
function ThreeDElementCenter(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
|
![]() |
function ThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
|
![]() |
function ThreeDLayerEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
See also
|
![]() |
function ThreeDRowEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
See also
|
![]() |
function TopContainingCell(APoint: T2DRealPoint; const EvaluatedAt: TEvaluatedAt; const NeedToRotatePointToGridCoordinates: boolean = True; const BelowCol: integer = -1; const AboveCol: integer = -1; const BelowRow: integer = -1; const AboveRow: integer = -1): T2DTopCell; |
|
![]() |
function TwoDColumnEdgeCenter(const Column, Row: integer): T2DRealPoint; |
TwoDCellCorner returns the X ,and Y coordinates of a corner of a grid cell in the real-world coordinates. |
![]() |
function TwoDElementCenter(const Column, Row: integer): T2DRealPoint; |
|
![]() |
function TwoDElementCorner(const Column, Row: integer): T2DRealPoint; |
TwoDCellCorner returns the X ,and Y coordinates of a corner of a grid element in the real-world coordinates. |
![]() |
function TwoDRowEdgeCenter(const Column, Row: integer): T2DRealPoint; |
TwoDRowEdgeCenter returns the X ,and Y coordinates of the center of the edge of a row in the real-world coordinates. |
![]() |
procedure UpdateCellColors(const ViewDirection: TViewDirection); |
When the values in the displayed TopDataSet, FrontDataSet, or SideDataSet are up-to-date, call |
![]() |
procedure UpdateColumnPositions; virtual; |
After editing ColumnPositions, call |
![]() |
procedure UpdateRowPositions; virtual; |
After editing RowPositions, call |
![]() |
procedure ViewsChanged; |
notify the views that the need to redraw; |
![]() |
property CellElevation[const Column, Row, Layer: integer]: real
read GetCellElevation write SetCellElevation; |
|
![]() |
property CellThickness[const Column, Row, Layer: integer]: real
read GetCellThickness write SetCellThickness; |
|
![]() |
property ColumnPosition[const Column: integer]: real
read GetColumnPosition write SetColumnPosition; |
|
![]() |
property ColumnPositions: TOneDRealArray read FColumnPositions
write SetColumnPositions; |
|
![]() |
property ColumnWidth[const Column: integer]: real read GetColumnWidth
write SetColumnWidth; |
|
![]() |
property FrontCellColors[const Column, Layer: integer]: TColor
read GetFrontCellColors write SetFrontCellColors; |
|
![]() |
property FrontDataSet: TDataArray read FFrontDataSet write SetFrontDataSet; |
|
![]() |
property NeedToRecalculate3DCellColors: boolean read
FNeedToRecalculate3DCellColors write SetNeedToRecalculate3DCellColors; |
|
![]() |
property NeedToRecalculateFrontCellColors: boolean
read FNeedToRecalculateFrontCellColors write
SetNeedToRecalculateFrontCellColors; |
|
![]() |
property NeedToRecalculateSideCellColors: boolean
read FNeedToRecalculateSideCellColors write
SetNeedToRecalculateSideCellColors; |
|
![]() |
property NeedToRecalculateTopCellColors: boolean
read FNeedToRecalculateTopCellColors write
SetNeedToRecalculateTopCellColors; |
|
![]() |
property RowPosition[const Row: integer]: real read GetRowPosition
write SetRowPosition; |
|
![]() |
property RowPositions: TOneDRealArray read FRowPositions
write SetRowPositions; |
|
![]() |
property RowWidth[const Row: integer]: real read GetRowWidth
write SetRowWidth; |
|
![]() |
property SideCellColors[const Row, Layer: integer]: TColor
read GetSideCellColors write SetSideCellColors; |
|
![]() |
property SideDataSet: TDataArray read FSideDataSet write SetSideDataSet; |
|
![]() |
property ThreeDDataSet: TDataArray read FThreeDDataSet write SetThreeDDataSet; |
|
![]() |
property TopCellColors[const Column, Row: integer]: TColor
read GetTopCellColors write SetTopCellColors; |
|
![]() |
property TopDataSet: TDataArray read FTopDataSet write SetTopDataSet; |
|
![]() |
property OnSelectedColumnChange: TNotifyEvent read FOnSelectedColumnChange
write FOnSelectedColumnChange; |
|
![]() |
property OnSelectedLayerChange: TNotifyEvent read FOnSelectedLayerChange
write FOnSelectedLayerChange; |
|
![]() |
property OnSelectedRowChange: TNotifyEvent read FOnSelectedRowChange write
FOnSelectedRowChange; |
|
![]() |
property ColumnCount: integer read FColumnCount write SetColumnCount; |
|
![]() |
property ColumnDirection: TColumnDirection read FColumnDirection
write SetColumnDirection; |
|
![]() |
property GridAngle: real read FGridAngle write SetGridAngle; |
|
![]() |
property LayerCount: integer read FLayerCount write SetLayerCount; |
|
![]() |
property LayerDirection: TLayerDirection read FLayerDirection
write SetLayerDirection; |
|
![]() |
property RowCount: integer read FRowCount write SetRowCount; |
|
![]() |
property RowDirection: TRowDirection read FRowDirection
write SetRowDirection; |
|
![]() |
property SelectedColumn: integer read FSelectedColumn write
SetSelectedColumn; |
See also
|
![]() |
property SelectedLayer: integer read FSelectedLayer write SetSelectedLayer; |
See also
|
![]() |
property SelectedRow: integer read FSelectedRow write SetSelectedRow; |
See also
|