на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Структура данных программного комплекса "Q-дерево"
#45; выходной параметр - дополнительный массив, необходимый при делении листа на новые узлы (тип TArrayOfPoints);

- выходной параметр - счетчик элементов в дополнительном массиве (тип integer).

· Локальные переменные

- j - счетчик цикла (тип integer).

· Словесный алгоритм

Подпрограмма копирует значения точек из данного листа в дополнительный массив, одновременно увеличивая число его элементов, передаваемое в качестве параметра.

· Подпрограмма используется функцией удаления точек из дерева при объединении 4-х листов в один.

2.2 Модуль UnitMainForm

2.2.1 Назначение

В данном модуле описаны методы работы с Q-деревом точек

2.2.2 Функциональные требования, реализуемые модулем

· Подсчет количества элементов в дереве

·
Отображение элементов дерева в виде точек на карте

· Возможность выбора области карты для просмотра содержащихся в ней точек

· Отображение точек заданной области карты в отдельном окне просмотра

· Отображение координат выбранных точек

2.2.3 Используемые компоненты

Имя

компонента

Класс

Настраиваемые

свойства

Значения

Обработанные события

1

MainForm

TMainForm

BorderStyle

bsSingle

OnCreate;

OnKeyDown

Caption

Q-дерево

KeyPreview

True

2

MaxImage

TImage

-

-

OnCreate;

OnMouseMove

3

MinImage

TImage

-

-

-

4

ShapeView

TShape

Brush

Style

bsClear

OnMouseDown;

OnMouseMove;

OnMouseUp

Pen

Color

clRed

Имя

компонента

Класс

Настраиваемые

свойства

Значения

Обработанные события

5

SBtnCursor

TSpeedButton

Down

True

-

GroupIndex

1

6

SBtnPoints

TSpeedButton

GroupIndex

1

-

7

ButtonDelete

TBitBtn

Caption

Удалить точку

OnClick

Enabled

False

ShowHint

True

Hint

Удалить выбранную точку

8

ButtonClear

TBitBtn

Caption

Удалить все

OnClick

ShowHint

True

Hint

Удалить все точки дерева

9

StatusBar

TStatusBar

-

-

-

2.2.4 Глобальные переменные и константы модуля

Константы

· Xmax = 1024 - ширина всего квадрата, отведенного под Q-дерево;

- тип - целый;

- область видимости - внутри и вне модуля;

- используется в операциях вставки и удаления элементов для задания границ главного квадранта

· K = 10.56 - отношение длины стороны окна выделения к длине стороны окна просмотра;

- тип - вещественный;

- область видимости - внутри модуля;

- используется при выводе на карту изображений точек

· R = 3 - радиус точки, изображенной на карте;

- тип - целый;

- область видимости - внутри модуля;

- используется при выводе изображений точек

· LightColor = clYellow - цвет подсветки точек;

- тип - TColor;

- область видимости - внутри модуля;

- используется при выводе изображений точек

· SelectColor = clRed - цвет выделенной точки;

- тип - TColor;

- область видимости - внутри модуля;

- используется при выводе изображений точек

· BackColor = clBtnFace - цвет фона карты;

- тип - TColor;

- область видимости - внутри модуля;

- используется при выводе изображений точек.

Переменные

· Tree - указатель на корневой узел дерева;

- тип - PNode;

- область видимости - внутри модуля;

- используется в подпрограммах, работающих с деревом.

· X0, Y0 - начальные координаты указателя мыши при перемещении окна выделения;

- тип - целый;

- область видимости - внутри модуля;

- используются при определении координат просматриваемой области карты

· drag = false - индикатор перетаскивания окна выделения;

- тип - логический;

- область видимости - внутри модуля;

- используется при определении координат просматриваемой области карты

· PointCount = 0 - количество точек в дереве;

- тип - целый;

- область видимости - внутри модуля;

- используется для определения числа точек в дереве

· mainBounds, Query - координаты соответственно главного квадранта и выделенной области;

- тип - TRect;

- область видимости - внутри модуля;

- используются при поиске и выводе изображений точек просматриваемой области

· LightPoint, SelectedPoint - соответственно текущая и выделенная точки;

- тип - TPoint;

- область видимости - внутри модуля;

- используются для выбора и удаления точек.

2.2.5 Подпрограммы модуля

2.2.5.1 Процедура DrawPoint

·
Процедура предназначена для вывода изображений точек на карту

· Процедура является методом класса TMainForm

· Параметры

- параметр-константа - точка (тип TPoint);

- входной параметр - цвет изображенной точки (тип TColor);

· Локальные переменные

- dopX, dopY - координаты точки относительно окна просмотра (тип integer).

· Словесный алгоритм

Процедура вычисляет координаты отображаемой точки для каждой из карт (большой и малой) и рисует точку в виде эллипса радиусом R.

2.2.5.2 Процедура ClearBackground

·
Процедура стирает предыдущее изображение на карте

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - компонент-карта (тип TImage);

· Словесный алгоритм

Процедура закрашивает поверхность карты цветом фона BackColor.

2.2.5.3 Процедура DrawRegion

·
Процедура предназначена для поиска и вывода изображений точек дерева в заданной области карты

· Процедура является методом класса TMainForm

· Параметры

- параметр-константа - указатель на узел дерева (тип PNode);

- параметр-константа - границы заданной области (тип TRect);

· Локальные переменные

- FindedPoints - список найденных точек (тип TList);

- dopPoint - точка из списка (тип TPoint);

- i - счетчик цикла (тип integer).

· Словесный алгоритм

Процедура создает пустой список, копирует туда точки дерева, найденные в заданной области, и выводит их изображения на карты.

2.2.5.4 Процедура FormCreate

·
Процедура предназначена для задания начальных координат областей и точек

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - объект, сгенерировавший событие (тип TObject)

· Словесный алгоритм

Процедура устанавливает границы главного квадранта и выделенной области, начальные координаты для текущей и выбранной точек.

2.2.5.5 Процедура ShapeViewMouseDown

·
Процедура предназначена для получения начальных координат указателя мыши перед началом перетаскивания выделяющего окна

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - объект, сгенерировавший событие (тип TObject);

- входной параметр - индикатор нажатой кнопки мыши (тип TMouseButton);

- входной параметр - индикатор нажатой клавиши (тип TShiftState);

- входные параметры - координаты указателя мыши (тип integer)

· Словесный алгоритм

Координаты указателя записываются в глобальные переменные X0 и Y0. Индикатору перетаскивания drag присваивается true.

2.1.5.6 Процедура ShapeViewMouseUp

·
Процедура предназначена для установки значения соответствующего индикатора при окончании перетаскивания окна выделения

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - объект, сгенерировавший событие (тип TObject);

- входной параметр - индикатор нажатой кнопки мыши (тип TMouseButton);

- входной параметр - индикатор нажатой клавиши (тип TShiftState);

- входные параметры - координаты указателя мыши (тип integer)

· Словесный алгоритм

Индикатору перетаскивания drag присваивается false.

2.1.5.7 Процедура ShapeViewMouseMove

·
Процедура предназначена для перемещения окна выделения по малой карте и вывода на карту изображений точек из выделенной области

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - объект, сгенерировавший событие (тип TObject);

- входной параметр - индикатор нажатой клавиши (тип TShiftState)

- входные параметры - координаты указателя мыши (тип integer)

· Предусловия

Индикатор перетаскивания должен быть равен true.

· Локальные переменные

- newLeft, newTop - новые координаты окна выделения (тип integer)

· Словесный алгоритм

Процедура вычисляет новые координаты окна выделения и области просмотра с использованием глобальных переменных X0 и Y0; затем осуществляет поиск и вывод на карту изображений точек из новой области с помощью процедуры DrawRegion.

2.1.5.8 Процедура MaxImageMouseMove

·
Процедура предназначена для отображения координат выделяемых точек в строке состояния и выделения их изображений на карте

· Процедура является методом класса TMainForm

· Параметры

- входной параметр - объект, сгенерировавший событие (тип TObject);

- входной параметр - индикатор нажатой клавиши (тип TShiftState);

- входные параметры - координаты указателя мыши (тип integer)

· Локальные переменные

- Point - выделенная точка (тип TPoint);

- Rect - область поиска точки в дереве (тип TRect);

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.