Русский | English

Класс TCastleLine2D

Модуль

Объявления

type TCastleLine2D = class(TCastleLine2DBase)

Описание

Полилиния строится из прямоугольников по набору вершин. Имеет различные методы соединения прямоугольников, различные варианты начала и конца линии. Может быть как замкнутой, так и не замкнутой

Для входа в режим редактирования используйте "verb" (Edit mode ON) - правой кнопкой мыши по объекту в окне иерархии объектов.

Иерархия

Обзор

Поля

Protected FTexY:single;
Protected FTexX:single;

Методы

Protected procedure ChangedTransform; override;
Protected procedure AddGeometryBeginEnd(const BeginOrEnd:PBeginEndMode; var GList:TVector2List; const A,B,Opposite:TVector2); virtual;
Protected procedure SetTexCoordMode(cm:TLineTexCoordMode);
Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure ReLoad; override;
Public function PropertySections(const PropertyName: String): TPropertySections; override;

Свойства

Published property JoinMode: TJoinMode read FJoinMode write SetJoinMode default jmBevel;
Published property JoinRoundPrecision: integer read FJoinRoundPrecision write SetJoinRoundPrecision default 4;
Published property JoinSharpLimitRad: single read FJoinSharpLimitRad write SetJoinSharpLimitRad default 0;
Published property JoinBeginMode: TBeginEndMode read FBeginMode write SetBeginMode default bmNone;
Published property JoinEndMode: TBeginEndMode read FEndMode write SetEndMode default bmNone;
Published property LineWidth: Single read FLineWidth write SetLineWidth default 10;
Published property TexCoordMode: TLineTexCoordMode read FTexCoordMode write SetTexCoordMode default cmDefault;
Published property JoinTexCoordMode: TJoinTexCoordMode read FJoinTexCoordMode write FJoinTexCoordMode default jcmCrop;

Описание

Поля

Protected FTexY:single;

Коэффициент для правильного наложения текстуры. Определяет какую часть текстуры по оси Y необходимо использовать. При TexCoordMode=cmLine равен 1, при TexCoordMode=cmBeginEndLine равен 0.5

Protected FTexX:single;

Коэффициент оси X для правильного наложения текстуры. Обычно равен (Высота текстуры)/(Ширина линии*Ширина текстуры)

Методы

Protected procedure ChangedTransform; override;
 
Protected procedure AddGeometryBeginEnd(const BeginOrEnd:PBeginEndMode; var GList:TVector2List; const A,B,Opposite:TVector2); virtual;

Добавить геометрию начала и конца линии. A,B - отрезок, куда прикрепляется геометрия.
Opposite - в противоположном направлении от этой точки будет строиться геометрия.
GList - сюда необходимо добавлять геометрию.
BeginOrEnd - указатель на TCastleLine2D.JoinBeginMode или на TCastleLine2D.JoinEndMode.
Потомки должны переопределить метод, если требуется добавить новую геометрию.

Protected procedure SetTexCoordMode(cm:TLineTexCoordMode);

Устанавливает TCastleLine2D.TexCoordMode и TCastleLine2D.FTexY и TCastleLine2D.FTexX.

Public constructor Create(AOwner: TComponent); override;

При создании в редакторе CGE создает линию из двух точек. При создании непосредственно в коде (RunTime) точки не добавляются.

Public destructor Destroy; override;
 
Public procedure ReLoad; override;
 
Public function PropertySections(const PropertyName: String): TPropertySections; override;
 

Свойства

Published property JoinMode: TJoinMode read FJoinMode write SetJoinMode default jmBevel;

Тип соединения прямоугольников в линии

Published property JoinRoundPrecision: integer read FJoinRoundPrecision write SetJoinRoundPrecision default 4;

Количество сегментов в секторе при JoinMode=jmRound

Published property JoinSharpLimitRad: single read FJoinSharpLimitRad write SetJoinSharpLimitRad default 0;

При этом или меньшем угле между линиями острый угол не строится. Используется при JoinMode=jmSharp

Published property JoinBeginMode: TBeginEndMode read FBeginMode write SetBeginMode default bmNone;

Тип начала линии

Published property JoinEndMode: TBeginEndMode read FEndMode write SetEndMode default bmNone;

Тип конца линии

Published property LineWidth: Single read FLineWidth write SetLineWidth default 10;

Ширина линии

Published property TexCoordMode: TLineTexCoordMode read FTexCoordMode write SetTexCoordMode default cmDefault;

Метод вычисления текстурных координат.
При cmDefault текстурные координаты устанавливаются методами CGE.
При cmLine линия повторяет текcтуру по мере удлинения. Текстура может быть любая.
При cmBeginEndLine используются разные области текстуры для начала и конца. Текстура должна быть специално подготовлена.
Примеры текстур для cmBeginEndLine: BeginEndLine1 или BeginEndLine2 или BeginEndLine3

Published property JoinTexCoordMode: TJoinTexCoordMode read FJoinTexCoordMode write FJoinTexCoordMode default jcmCrop;

Способ вычисления текстурных координат на изгибы линии. При JoinMode=jmSharp не используется


Сгенерировал PasDoc 0.16.0.