Description | Hierarchy | Fields | Methods | Properties |
type TCustomModelGrid = class(TCustomDiscretization)
TCustomModelGrid
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 the 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, require a more complex access method. The interface defined in TCustomModelGrid
defines the more complex access method required by a MODFLOW-type grid. )
TPhastGrid
defines the grid used with PHAST.function GetColWidths: TOneDRealArray; |
|
function GetRowWidths: TOneDRealArray; |
|
function GetWidths(const PositionArray: TOneDRealArray): TOneDRealArray; |
|
procedure ReadColumnPositions(Reader: TReader); |
|
procedure ReadRowPositions(Reader: TReader); |
|
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 SetThreeDGridObserver(const Value: TObserver); |
|
procedure SetTopGridObserver(const Value: TObserver); |
|
procedure WriteColumnPositions(Writer: TWriter); |
|
procedure WriteRowPositions(Writer: TWriter); |
|
procedure SetDisplayColumn(Value: integer); |
|
procedure SetDisplayLayer(Value: integer); |
|
procedure SetDisplayRow(Value: integer); |
|
procedure RecordColoredGridEdges; |
|
procedure DrawLeftCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawRightCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawBackCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawFrontCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawBottomCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawTopCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure CreateBlockGlGrid; |
|
procedure CreateNodeGlGrid; |
|
function PrivateGlGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection):TGrid; |
|
procedure SetGridLineDrawingChoice(const Value: TGridLineDrawingChoice); |
|
procedure DrawTopContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
procedure SetCanDraw(const Value: boolean); |
|
procedure SetOnSelectedLayerChange(const Value: TNotifyEvent); |
|
procedure CacheBlockGlGrid; |
|
procedure CacheGlGrid(GridCacheStream: TMemoryStream; var AGlGrid: TGrid); |
|
procedure RestoreBlockGlGrid; |
|
procedure RestoreGlGrid(var AGlGrid: TGrid; GridCacheStream: TMemoryStream); |
|
procedure CacheNodeGlGrid; |
|
procedure RestoreNodeGlGrid; |
|
function IsActiveOk(const DataSet: TDataArray; const Layer, Row, Col: integer): boolean; |
|
procedure DrawOrdinaryTopRows(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); |
|
procedure DrawOrdinaryTopColumns(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); |
|
procedure GetCounts(DataSet: TDataArray; var LayerCount, RowCount, ColCount: integer); |
|
function GetCellCoordinates(Col, Row, Layer: integer): T3DCellCoordinates; |
|
function GetElementCoordinates(Col, Row, Layer: integer): T3DElementCoordinates; |
|
procedure InvalidateScreenObjects; |
|
procedure SetOnSelectedColumnChange(const Value: TNotifyEvent); |
|
procedure SetOnSelectedRowChange(const Value: TNotifyEvent); |
|
function GetThreeDGridObserver: TObserver; |
|
function GetCanDraw: boolean; |
|
procedure UpdateMinMax(const Layer, Row, Col: integer; DataSet: TDataArray; var MinMaxInitialized: boolean; var MinMax: TMinMax; StringValues: TStringList); override; |
|
procedure SetMinMax(DataSet: TDataArray; var MinMaxInitialized: boolean; var MinMax: TMinMax; StringValues: TStringList; LayerCount, RowCount, ColCount: integer); override; |
|
procedure CalculateMinMax(DataSet: TDataArray; var MinMaxInitialized: Boolean; var MinMax: TMinMax; StringValues: TStringList); override; |
|
procedure ColumnsChanged; |
|
procedure DefineProperties(Filer: TFiler); override; |
|
procedure DrawFront(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); virtual; abstract; |
|
procedure DrawSide(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); virtual; abstract; |
|
procedure DrawTop(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); 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 GetTwoDCellElevations(const Col, Row: integer): TOneDRealArray; virtual; abstract; |
|
procedure LayersChanged; |
|
function NearestColumnOrRow(const Positions: TOneDRealArray; const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
|
procedure RecordColoredGrid; virtual; |
|
procedure RecordFront; virtual; |
|
procedure RecordShell; virtual; |
|
procedure RecordSide; virtual; |
|
procedure RecordTop; virtual; |
|
procedure RowsChanged; |
|
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 SetColumnLineColor(ColIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
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 SetLayerLineColor(LayerIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
procedure SetLocalEvalAt(ViewDirection: TViewDirection; var LocalEvalAt: TEvaluatedAt); |
|
procedure SetRowCount(const Value: integer); virtual; |
|
procedure SetRowDirection(const Value: TRowDirection); virtual; |
|
procedure SetRowLineColor(RowIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
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 Update3DCellColors(var CellColors: TCellColors); |
|
procedure ElementCountChanged; |
|
procedure DrawFrontContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
procedure DrawSideContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
function IsElementActive(const Layer, Row, Col: integer): boolean; |
|
procedure SetFrontContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetSideContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetThreeDContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetTopContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetSideDataSet(const Value: TDataArray); virtual; |
|
procedure SetThreeDDataSet(const Value: TDataArray); virtual; |
|
procedure SetTopDataSet(const Value: TDataArray); virtual; |
|
procedure SetFrontDataSet(const Value: TDataArray); virtual; |
|
function GetChildDataArray(const Value: TDataArray; ChildModel: TBaseModel): TDataArray; |
|
function OkLocation(const DataSet: TDataArray; const Layer, Row, Col: integer): boolean; override; |
|
procedure GetRealMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetIntegerMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetBooleanMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetStringMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
function ContourGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection; ViewDirection: TViewDirection; ColRowOrLayer: integer): T2DGrid; |
|
procedure BeginLayerChange; |
|
procedure EndLayerChange; |
|
procedure BeginGridChange; |
|
procedure EndGridChange; |
|
procedure BeginColumnChange; |
|
procedure EndColumnChange; |
|
procedure BeginRowChange; |
|
procedure EndRowChange; |
|
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(Model: TBaseModel); |
|
procedure DeleteColumn(const AColumn: integer); |
|
procedure DeleteRow(const ARow: integer); |
|
destructor Destroy; override; |
|
procedure Draw(const BitMap: TBitmap32; const ViewDirection: TViewDirection); |
|
procedure Draw3D; virtual; |
|
function GetContainingColumn(const AnXPosition: real): integer; |
|
function GetContainingLayer(ACol, ARow: integer; const AZPosition: real): integer; virtual; abstract; |
|
function GetContainingRow(const AYPosition: real): integer; |
|
procedure GetLimits(const EvaluatedAt: TEvaluatedAt; const ViewDirection: TViewDirection; out Limit1, Limit2: integer); |
|
procedure GridChanged; |
|
function HighestElevation: real; virtual; abstract; |
|
procedure Initialize; |
|
function LowestElevation: real; virtual; abstract; |
|
function Nearest2DCellElevation(const Col, Row: integer; const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
|
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: TPoint2D): TPoint2D; overload; |
|
procedure RotateFromGridCoordinatesToRealWorldCoordinates(var X, Y: TFloat); overload; |
|
function RotateFromRealWorldCoordinatesToGridCoordinates (const APoint: TPoint2D): TPoint2D; |
|
function RowCenter(const Row: integer): real; |
|
function ThreeDColumnEdgeCenter(const Column, Row, Layer: integer): T3DRealPoint; |
|
function ThreeDElementCenter(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
|
function RotatedThreeDElementCenter(const Column, Row, Layer: integer): T3DRealPoint; |
|
function ThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
|
function RotatedThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; |
|
function ThreeDCellCorner(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: TPoint2D; 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 TwoDCellCorner(const Column, Row: integer): TPoint2D; |
|
function TwoDColumnEdgeCenter(const Column, Row: integer): TPoint2D; |
|
function TwoDElementCenter(const Column, Row: integer): TPoint2D; |
|
function UnrotatedTwoDElementCenter(const Column, Row: integer): TPoint2D; |
|
function TwoDElementCorner(const Column, Row: integer): TPoint2D; |
|
function UnrotatedTwoDElementCorner(const Column, Row: integer): TPoint2D; |
|
function TwoDRowEdgeCenter(const Column, Row: integer): TPoint2D; |
|
procedure UpdateCellColors(const ViewDirection: TViewDirection); |
|
procedure UpdateColumnPositions; virtual; |
|
procedure UpdateRowPositions; virtual; |
|
procedure ViewsChanged; |
|
function GlGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection): TGrid; |
|
function LayerCenter(Column, Row, Layer: integer): real; |
|
function GridLimits(ViewDirection: TViewDirection): TGridLimit; |
|
function GridOutline(ViewDirection: TViewDirection): TPolygon2D; |
|
procedure GetMinMax(var MinMax: TMinMax; DataSet: TDataArray; StringValues: TStringList); override; |
FEdgesGLIndex: GLuint; |
|
See EdgesGLIndex. |
FCellsGLIndex: GLuint; |
|
See CellsGLIndex. |
FColumnCount: integer; |
|
See ColumnCount. |
FColumnDirection: TColumnDirection; |
|
See ColumnDirection. |
FColumnPositions: TOneDRealArray; |
|
See ColumnPositions. |
FFrontCellColors: array of array of TColor; |
|
See FrontCellColors. |
FFrontDataSet: TDataArray; |
|
See FrontDataSet. |
FFrontGridGLIndex: GLuint; |
|
See FrontGridGLIndex. |
FGridAngle: real; |
|
See GridAngle. |
FGridShellGLIndex: GLuint; |
|
See GridShellGLIndex. |
FLayerCount: integer; |
|
See LayerCount. |
FLayerDirection: TLayerDirection; |
|
See LayerDirection. |
FNeedToRecalculate3DCellColors: boolean; |
|
FOnSelectedColumnChange: TNotifyEvent; |
|
FOnSelectedLayerChange: TNotifyEvent; |
|
|
FOnSelectedRowChange: TNotifyEvent; |
|
See OnSelectedRowChange. |
FRowCount: integer; |
|
See RowCount. |
FRowDirection: TRowDirection; |
|
See RowDirection. |
FRowPositions: TOneDRealArray; |
|
See RowPositions. |
FSelectedColumn: integer; |
|
See SelectedColumn. |
FSelectedLayer: integer; |
|
See SelectedLayer. |
FSelectedRow: integer; |
|
See SelectedRow. |
FSideCellColors: array of array of TColor; |
|
See SideCellColors. |
FSideDataSet: TDataArray; |
|
See SideDataSet. |
FSideGridGLIndex: GLuint; |
|
See SideGridGLIndex |
FThreeDDataSet: TDataArray; |
|
See ThreeDDataSet. |
FTopCellColors: array of array of TColor; |
|
See TopCellColors. |
FTopDataSet: TDataArray; |
|
See TopDataSet. |
FTopGridGLIndex: GLuint; |
|
See TopGridGLIndex. |
FTopGridObserver: TObserver; |
|
See TopGridObserver. |
FThreeDGridObserver: TObserver; |
|
See ThreeDGridObserver. |
FDisplayColumn: integer; |
|
See DisplayColumn. |
FDisplayLayer: integer; |
|
See DisplayLayer. |
FDisplayRow: integer; |
|
See DisplayRow. |
FLayerUpdate: Integer; |
|
See also |
FColumnUpdate: Integer; |
|
See also |
FGridUpdate: Integer; |
|
See also |
FRowUpdate: Integer; |
|
See also |
FNodeGlGrid: TGrid; |
|
See CreateNodeGlGrid. |
FBlockGlGrid: TGrid; |
|
See CreateBlockGlGrid. |
FTopNodeContourGrid: T2DGrid; |
|
|
FFrontNodeContourGrid: T2DGrid; |
|
|
FSideNodeContourGrid: T2DGrid; |
|
|
FTopElementContourGrid: T2DGrid; |
|
|
FFrontElementContourGrid: T2DGrid; |
|
|
FSideElementContourGrid: T2DGrid; |
|
|
FRecordedShell: Boolean; |
|
|
FRecordedSideGrid: Boolean; |
|
|
FRecordedFrontGrid: Boolean; |
|
|
FRecordedTopGrid: Boolean; |
|
|
FElementCount: integer; |
|
|
FGridLineDrawingChoice: TGridLineDrawingChoice; |
|
FTopContourDataSet: TDataArray; |
|
FThreeDContourDataSet: TDataArray; |
|
FFrontContourDataSet: TDataArray; |
|
FSideContourDataSet: TDataArray; |
|
FDrawing3DGrid: Boolean; |
|
FCanDraw: boolean; |
|
FDraw3DAllowed: boolean; |
|
FBlockGridCache: TMemoryStream; |
|
FNodeGridCache: TMemoryStream; |
|
FDrawColoredGridLines: boolean; |
|
FListsCreated: boolean; |
|
|
FNeedToRecalculateFrontCellColors: boolean; |
|
|
FNeedToRecalculateSideCellColors: boolean; |
|
|
FNeedToRecalculateTopCellColors: boolean; |
|
|
FNeedToRedraw3d: boolean; |
|
|
function GetColWidths: TOneDRealArray; |
|
See ColWidths. |
function GetRowWidths: TOneDRealArray; |
|
See RowWidths. |
function GetWidths(const PositionArray: TOneDRealArray): TOneDRealArray; |
|
|
procedure ReadColumnPositions(Reader: TReader); |
|
|
procedure ReadRowPositions(Reader: TReader); |
|
|
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 SetThreeDGridObserver(const Value: TObserver); |
|
See @1ink(ThreeDGridObserver). |
procedure SetTopGridObserver(const Value: TObserver); |
|
See @1ink(TopGridObserver). |
procedure WriteColumnPositions(Writer: TWriter); |
|
|
procedure WriteRowPositions(Writer: TWriter); |
|
|
procedure SetDisplayColumn(Value: integer); |
|
See DisplayColumn. |
procedure SetDisplayLayer(Value: integer); |
|
See DisplayLayer. |
procedure SetDisplayRow(Value: integer); |
|
See DisplayRow. |
procedure RecordColoredGridEdges; |
|
procedure DrawLeftCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawRightCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawBackCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawFrontCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawBottomCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure DrawTopCellSide3D(ColIndex, RowIndex, LayerIndex: integer; const XPositions, YPositions: TOneDRealArray; const ZPositions: TThreeDRealArray); |
|
procedure CreateBlockGlGrid; |
|
|
procedure CreateNodeGlGrid; |
|
|
function PrivateGlGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection):TGrid; |
|
|
procedure SetGridLineDrawingChoice(const Value: TGridLineDrawingChoice); |
|
procedure DrawTopContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
procedure SetCanDraw(const Value: boolean); |
|
procedure SetOnSelectedLayerChange(const Value: TNotifyEvent); |
|
procedure CacheBlockGlGrid; |
|
procedure CacheGlGrid(GridCacheStream: TMemoryStream; var AGlGrid: TGrid); |
|
procedure RestoreBlockGlGrid; |
|
procedure RestoreGlGrid(var AGlGrid: TGrid; GridCacheStream: TMemoryStream); |
|
procedure CacheNodeGlGrid; |
|
procedure RestoreNodeGlGrid; |
|
function IsActiveOk(const DataSet: TDataArray; const Layer, Row, Col: integer): boolean; |
|
procedure DrawOrdinaryTopRows(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); |
|
procedure DrawOrdinaryTopColumns(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); |
|
procedure GetCounts(DataSet: TDataArray; var LayerCount, RowCount, ColCount: integer); |
|
function GetCellCoordinates(Col, Row, Layer: integer): T3DCellCoordinates; |
|
function GetElementCoordinates(Col, Row, Layer: integer): T3DElementCoordinates; |
|
procedure InvalidateScreenObjects; |
|
procedure SetOnSelectedColumnChange(const Value: TNotifyEvent); |
|
procedure SetOnSelectedRowChange(const Value: TNotifyEvent); |
|
function GetThreeDGridObserver: TObserver; |
|
function GetCanDraw: boolean; |
|
procedure UpdateMinMax(const Layer, Row, Col: integer; DataSet: TDataArray; var MinMaxInitialized: boolean; var MinMax: TMinMax; StringValues: TStringList); override; |
|
procedure SetMinMax(DataSet: TDataArray; var MinMaxInitialized: boolean; var MinMax: TMinMax; StringValues: TStringList; LayerCount, RowCount, ColCount: integer); override; |
|
procedure CalculateMinMax(DataSet: TDataArray; var MinMaxInitialized: Boolean; var MinMax: TMinMax; StringValues: TStringList); override; |
|
procedure ColumnsChanged; |
|
|
procedure DefineProperties(Filer: TFiler); override; |
|
See also
|
procedure DrawFront(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); virtual; abstract; |
|
|
procedure DrawSide(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); virtual; abstract; |
|
|
procedure DrawTop(const BitMap: TBitmap32; const ZoomBox: TQRbwZoomBox2); virtual; |
|
|
procedure GetCellCornerElevations(const EvalAt: TEvaluatedAt; out Elevations: TThreeDRealArray); virtual; abstract; |
|
|
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 GetTwoDCellElevations(const Col, Row: integer): TOneDRealArray; virtual; abstract; |
|
procedure LayersChanged; |
|
|
function NearestColumnOrRow(const Positions: TOneDRealArray; const APosition: real; const First: integer = -1; const Last: integer = -1): integer; |
|
Parameters
|
procedure RecordColoredGrid; virtual; |
|
|
procedure RecordFront; virtual; |
|
|
procedure RecordShell; virtual; |
|
|
procedure RecordSide; virtual; |
|
|
procedure RecordTop; virtual; |
|
|
procedure RowsChanged; |
|
|
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 SetColumnLineColor(ColIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
|
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 SetLayerLineColor(LayerIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
|
procedure SetLocalEvalAt(ViewDirection: TViewDirection; var LocalEvalAt: TEvaluatedAt); |
|
|
procedure SetRowCount(const Value: integer); virtual; |
|
See RowCount. |
procedure SetRowDirection(const Value: TRowDirection); virtual; |
|
See RowDirection. |
procedure SetRowLineColor(RowIndex: Integer; LocalEvalAt: TEvaluatedAt; var LocalLineColor: TColor32; var LineWidth: single); |
|
|
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 Update3DCellColors(var CellColors: TCellColors); |
|
|
procedure ElementCountChanged; |
|
procedure DrawFrontContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
procedure DrawSideContours(const ZoomBox: TQRbwZoomBox2; const BitMap: TBitmap32); |
|
function IsElementActive(const Layer, Row, Col: integer): boolean; |
|
procedure SetFrontContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetSideContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetThreeDContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetTopContourDataSet(const Value: TDataArray); virtual; |
|
procedure SetSideDataSet(const Value: TDataArray); virtual; |
|
See SideDataSet. |
procedure SetThreeDDataSet(const Value: TDataArray); virtual; |
|
See ThreeDDataSet. |
procedure SetTopDataSet(const Value: TDataArray); virtual; |
|
See TopDataSet. |
procedure SetFrontDataSet(const Value: TDataArray); virtual; |
|
See FrontDataSet. |
function GetChildDataArray(const Value: TDataArray; ChildModel: TBaseModel): TDataArray; |
|
function OkLocation(const DataSet: TDataArray; const Layer, Row, Col: integer): boolean; override; |
|
procedure GetRealMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetIntegerMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetBooleanMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
procedure GetStringMinMax(DataSet: TDataArray; var MinMax: TMinMax); |
|
function ContourGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection; ViewDirection: TViewDirection; ColRowOrLayer: integer): T2DGrid; |
|
|
procedure BeginLayerChange; |
|
procedure EndLayerChange; |
|
procedure BeginGridChange; |
|
procedure EndGridChange; |
|
procedure BeginColumnChange; |
|
procedure EndColumnChange; |
|
procedure BeginRowChange; |
|
procedure EndRowChange; |
|
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(Model: TBaseModel); |
|
|
procedure DeleteColumn(const AColumn: integer); |
|
|
procedure DeleteRow(const ARow: integer); |
|
|
destructor Destroy; override; |
|
|
procedure Draw(const BitMap: TBitmap32; const ViewDirection: TViewDirection); |
|
See also |
procedure Draw3D; virtual; |
|
|
function GetContainingColumn(const AnXPosition: real): integer; |
|
|
function GetContainingLayer(ACol, ARow: integer; const AZPosition: real): integer; virtual; abstract; |
|
|
function GetContainingRow(const AYPosition: real): integer; |
|
|
procedure GetLimits(const EvaluatedAt: TEvaluatedAt; const ViewDirection: TViewDirection; out Limit1, Limit2: integer); |
|
|
procedure GridChanged; |
|
|
function HighestElevation: real; virtual; abstract; |
|
See also
|
procedure Initialize; |
|
|
function LowestElevation: real; virtual; abstract; |
|
See also
|
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. |
procedure RotateFromGridCoordinatesToRealWorldCoordinates(var X, Y: TFloat); overload; |
|
function RotateFromRealWorldCoordinatesToGridCoordinates (const APoint: TPoint2D): TPoint2D; |
|
|
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 RotatedThreeDElementCenter(const Column, Row, Layer: integer): T3DRealPoint; |
|
function ThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; virtual; |
|
|
function RotatedThreeDElementCorner(const Column, Row, Layer: integer): T3DRealPoint; |
|
function ThreeDCellCorner(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: TPoint2D; 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 TwoDCellCorner(const Column, Row: integer): TPoint2D; |
|
TwoDCellCorner returns the X ,and Y coordinates of a corner of a grid cell in the real-world coordinates. |
function TwoDColumnEdgeCenter(const Column, Row: integer): TPoint2D; |
|
|
function TwoDElementCenter(const Column, Row: integer): TPoint2D; |
|
|
function UnrotatedTwoDElementCenter(const Column, Row: integer): TPoint2D; |
|
function TwoDElementCorner(const Column, Row: integer): TPoint2D; |
|
TwoDCellCorner returns the X ,and Y coordinates of a corner of a grid element in the real-world coordinates. |
function UnrotatedTwoDElementCorner(const Column, Row: integer): TPoint2D; |
|
function TwoDRowEdgeCenter(const Column, Row: integer): TPoint2D; |
|
|
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; |
|
update this. notify the views that the need to redraw; |
function GlGrid(EvaluatedAt: TEvaluatedAt; ModelSelection: TModelSelection): TGrid; |
|
The result of |
function LayerCenter(Column, Row, Layer: integer): real; |
|
|
function GridLimits(ViewDirection: TViewDirection): TGridLimit; |
|
|
function GridOutline(ViewDirection: TViewDirection): TPolygon2D; |
|
procedure GetMinMax(var MinMax: TMinMax; DataSet: TDataArray; StringValues: TStringList); override; |
|
property EdgesGLIndex: GLuint read FEdgesGLIndex; |
|
|
property CellsGLIndex: GLuint read FCellsGLIndex; |
|
|
property FrontGridGLIndex: GLuint read FFrontGridGLIndex; |
|
|
property GridShellGLIndex: GLuint read FGridShellGLIndex; |
|
|
property SideGridGLIndex: GLuint read FSideGridGLIndex; |
|
|
property TopGridGLIndex: GLuint read FTopGridGLIndex; |
|
|
property Drawing3DGrid: boolean read FDrawing3DGrid; |
|
property CanDraw: boolean read GetCanDraw write SetCanDraw; |
|
property Draw3DAllowed: boolean read FDraw3DAllowed write FDraw3DAllowed; |
|
property CellElevation[constColumn,Row,Layer:integer]: real
read GetCellElevation write SetCellElevation; |
|
|
property CellThickness[constColumn,Row,Layer:integer]: real
read GetCellThickness write SetCellThickness; |
|
|
property ColumnPosition[constColumn:integer]: real
read GetColumnPosition write SetColumnPosition; |
|
|
property ColumnPositions: TOneDRealArray read FColumnPositions
write SetColumnPositions; |
|
|
property ColumnWidth[constColumn:integer]: real read GetColumnWidth
write SetColumnWidth; |
|
|
property ColWidths: TOneDRealArray read GetColWidths; |
|
|
property GridLineDrawingChoice: TGridLineDrawingChoice
read FGridLineDrawingChoice write SetGridLineDrawingChoice; |
|
If |
property FrontCellColors[constColumn,Layer:integer]: TColor
read GetFrontCellColors write SetFrontCellColors; |
|
|
property FrontDataSet: TDataArray read FFrontDataSet write SetFrontDataSet; |
|
|
property FrontContourDataSet: TDataArray read FFrontContourDataSet
write SetFrontContourDataSet; |
|
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 OnSelectedColumnChange: TNotifyEvent read FOnSelectedColumnChange
write SetOnSelectedColumnChange; |
|
|
property OnSelectedLayerChange: TNotifyEvent read FOnSelectedLayerChange
write SetOnSelectedLayerChange; |
|
|
property OnSelectedRowChange: TNotifyEvent read FOnSelectedRowChange write
SetOnSelectedRowChange; |
|
|
property RowPosition[constRow:integer]: real read GetRowPosition
write SetRowPosition; |
|
|
property RowPositions: TOneDRealArray read FRowPositions
write SetRowPositions; |
|
|
property RowWidth[constRow:integer]: real read GetRowWidth
write SetRowWidth; |
|
|
property RowWidths: TOneDRealArray read GetRowWidths; |
|
|
property SideCellColors[constRow,Layer:integer]: TColor
read GetSideCellColors write SetSideCellColors; |
|
|
property SideDataSet: TDataArray read FSideDataSet write SetSideDataSet; |
|
|
property SideContourDataSet: TDataArray read FSideContourDataSet
write SetSideContourDataSet; |
|
property ThreeDDataSet: TDataArray read FThreeDDataSet
write SetThreeDDataSet; |
|
|
property ThreeDContourDataSet: TDataArray read FThreeDContourDataSet
write SetThreeDContourDataSet; |
|
property ThreeDGridObserver: TObserver read GetThreeDGridObserver
write SetThreeDGridObserver; |
|
|
property TopCellColors[constColumn,Row:integer]: TColor
read GetTopCellColors write SetTopCellColors; |
|
|
property TwoDCellElevations[constCol,Row:integer]: TOneDRealArray
read GetTwoDCellElevations; |
|
|
property TopDataSet: TDataArray read FTopDataSet write SetTopDataSet; |
|
|
property TopContourDataSet: TDataArray read FTopContourDataSet
write SetTopContourDataSet; |
|
property TopGridObserver: TObserver read FTopGridObserver
write SetTopGridObserver; |
|
|
property DrawColoredGridLines: boolean read FDrawColoredGridLines
write FDrawColoredGridLines; |
|
property CellCoordinates[Col,Row,Layer:integer]: T3DCellCoordinates
read GetCellCoordinates; |
|
property ElementCoordinates[Col,Row,Layer:integer]: T3DElementCoordinates
read GetElementCoordinates; |
|
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 stored True; |
|
See also
|
property SelectedLayer: integer read FSelectedLayer write SetSelectedLayer stored True; |
|
See also
|
property SelectedRow: integer read FSelectedRow write SetSelectedRow stored True; |
|
See also
|
property DisplayColumn: integer read FDisplayColumn write SetDisplayColumn stored True; |
|
|
property DisplayRow: integer read FDisplayRow write SetDisplayRow stored True; |
|
|
property DisplayLayer: integer read FDisplayLayer write SetDisplayLayer stored True; |
|
|