Unit ScreenObjectUnit

DescriptionusesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

ScreenObjectUnit defines class that represents the objects that the user draws on the screen (TScreenObject) and a variety of related classes.

uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Class EScreenObjectError EScreenObjectError is the class of errors related to TScreenObjects.
record TEdgePoint TEdgePoint represents a point of intersection between a TScreenObject and a grid element or grid cell.
Class TCellElementSegment TCellElementSegment represents the 2D intersection of one segment of a TScreenObject with a cell or element in the grid.
Class TCellElementSegmentList TCellElementSegmentList is a list of the TCellElementSegments of a TScreenObject. Each segment is the 2D intersection of one segment of the TScreenObject with an individual cell or element in the grid.
Class TSubPolygon TSubPolygon is used to make determining whether a point is inside a TScreenObject faster.
Class TScreenObject TScreenObject is the internal representation of an object on the screen.
Class TCustomDataListItem TCustomDataListItem provides functionality used in storing multiple values associated with a single screen object (a TMultiValueScreenObject); It is used as an ancestor of TRealDataListItem and TIntegerDataListItem which actually hold data.
Class TRealDataListItem TRealDataListItem is a TCustomDataListItem specialized for holding real numbers.
Class TIntegerDataListItem TIntegerDataListItem is a TCustomDataListItem specialized for specialized for holding integers.
Class TDataListCollection TDataListCollection is a collection of TCustomDataListItem's. It is used to store data by zones in a TMultiValueScreenObject.
Class TRealDataListCollection TRealDataListCollection is a descendant of TDataListCollection specialized for storing real numbers.
Class TIntegerDataListCollection TIntegerDataListCollection is a descendant of TDataListCollection specialized for storing integers.
Class TUndoSetScreenObjectProperties TUndoSetScreenObjectProperties is used to set or undo the setting of a TScreenObject.
Class TUndoChangeSelection TUndoChangeSelection is used to change or restore which TScreenObjects or vertices in an individual TScreenObject are selected.
Class TUndoShowHideScreenObject TUndoShowHideScreenObject is used to show or hide TScreenObjects.
Class TCustomUpdateScreenObjectUndo TCustomUpdateScreenObjectUndo is used to update the view of a TScreenObject.
Class TUndoDeleteSegment TUndoDeleteSegment is used to delete a segment of a TScreenObject.
Class TUndoDeleteVertices TUndoDeleteVertices is used to delete a vertex of a TScreenObject.
Class TSelectedVertexItem TSelectedVertexItem is used to store or read whether a vertex in a TScreenObject is selected or not.
Class TSelectedVertexCollection TSelectedVertexCollection is used to store or read which vertices in a TScreenObject are selected.
Class TPointItem TPointItem is used to store a T2DRealPoint.
Class TPointCollection TPointCollection is used to store a series of T2DRealPoint's.
Class TScreenObjectItem TScreenObjectItem is used to save or read a TScreenObject.
Class TCustomScreenObjectCollection TCustomScreenObjectCollection is used to save or read a collection of TScreenObjects.

Functions and Procedures

procedure ResetScreenObjectFunction(const DataSetIndex: integer; const ScreenObject: TScreenObject; const Compiler: TRbwParser; const DataSetDataType: TRbwDataType; const ErrorMessage: string; const IsBoundary: boolean);
function IsValueInside(const First, Middle, Last: real): boolean;
function SortPointsLeftDown(Item1, Item2: Pointer): Integer;
function SortPointsLeftUp(Item1, Item2: Pointer): Integer;
function SortPointsRightDown(Item1, Item2: Pointer): Integer;
function SortPointsRightUp(Item1, Item2: Pointer): Integer;
function XIntersection(const Point1, Point2: TEdgePoint; const Y: real): real;
function YIntersection(const Point1, Point2: TEdgePoint; const X: real): real;
procedure ResetScreenObjectCount;
Function ObjectsCreated: integer;

Types

TWhichElevation = (...);
TEdgePosition = (...);
PEdgePoint = ˆTEdgePoint;
TEdgePointArray = array of TEdgePoint;
TScreenObjectClass = class of TScreenObject;
TSelectedNodeCollection = TSelectedVertexCollection;

Constants

ObjectPrefix = 'Object';

Description

Functions and Procedures

procedure ResetScreenObjectFunction(const DataSetIndex: integer; const ScreenObject: TScreenObject; const Compiler: TRbwParser; const DataSetDataType: TRbwDataType; const ErrorMessage: string; const IsBoundary: boolean);

If the formula for a TDataArray in a TScreenObject is incorrect, ResetScreenObjectFunction is used to change it to a default value.

function IsValueInside(const First, Middle, Last: real): boolean;

IsValueInside returns true if Middle is between First and Last. First and Last do not need to be in order. IsValueInside will also return true if it is just barely outside First to Last.

function SortPointsLeftDown(Item1, Item2: Pointer): Integer;

SortPointsLeftDown is used in sorting T2DRealPoints along a line segment so that the points are arranged in order from upper right to lower left.

function SortPointsLeftUp(Item1, Item2: Pointer): Integer;

SortPointsLeftUp is used in sorting T2DRealPoints along a line segment so that the points are arranged in order from lower right to upper left.

function SortPointsRightDown(Item1, Item2: Pointer): Integer;

SortPointsRightDown is used in sorting T2DRealPoints along a line segment so that the points are arranged in order from upper left to lower right.

function SortPointsRightUp(Item1, Item2: Pointer): Integer;

SortPointsRightUp is used in sorting T2DRealPoints along a line segment so that the points are arranged in order from lower left to upper right.

function XIntersection(const Point1, Point2: TEdgePoint; const Y: real): real;

Point1 and Point2 define a non-horizontal line. Given Y, XIntersection returns the X value for this point along the line.

function YIntersection(const Point1, Point2: TEdgePoint; const X: real): real;

Point1 and Point2 define a non-vertical line. Given X, YIntersection returns the Y value for this point.

procedure ResetScreenObjectCount;

When a TScreenObject is first created, it is assigned a default name that is unique. Part of that default name depends on ObjectsCreated (declared in the implementation section). When reading an existing model, ObjectsCreated must be reset so that new TScreenObjects will still have unique names.

Function ObjectsCreated: integer;
 

Types

TWhichElevation = (...);

TWhichElevation is used when a TScreenObject to specify which one is being handled in the current operation.

Values
  • weHigher:
  • weLower:
TEdgePosition = (...);

TEdgePosition stores information about where a TScreenObject is intersecting the grid.

See TEdgePoint and TCellElementSegment.

Values
  • epFirst:
  • epMiddle:
  • epLast:
PEdgePoint = ˆTEdgePoint;

PEdgePoint is a pointer to TEdgePoint;

TEdgePointArray = array of TEdgePoint;

TEdgePointArray is an array of TEdgePoints.

TScreenObjectClass = class of TScreenObject;

TScreenObjectClass is used in creating descendants of TScreenObject when reading a model from a file and when the user creates a new TScreenObject.

TSelectedNodeCollection = TSelectedVertexCollection;

TSelectedNodeCollection is an alias of TSelectedVertexCollection maintained for backwards compatibility.

Constants

ObjectPrefix = 'Object';
 

Generated by PasDoc 0.10.0 on 2006-10-31 09:56:45