ddd.mesto
Модуль, представляющий класс Место - контейнер для 3D-объектов. Каждое Место может быть родителем/потомком другого Места. В объекте класса сохраняются данные о положении, повороте и масштабе. Все эти пространственные характеристики применяются ко всем содержащимся в этом контейнере объектам и ко всем объектам, содержащимся в контейнерах-потомках этого Места. Все объекты Место, в которых содержатся видимые на экране 3D-объекты, составляют иерархию, корень которой (под именем начальное_место) содержится в объекте DDDМенеджер.
-
class
Место
;Класс-контейнер для 3D-объектов, определяющий их расположение, поворот и масштаб
-
enum float
РАДИАНЫ_В_ГРАДУСЫ
;Коэффициент для перевода значения угла в радианах в значение в градусах
-
this(string
имя0
);Конструктор, создающий объект Места с расположением в начале координат, без поворота и с единичным масштабом.
Параметры:
string
имя0
имя, которое будет присвоено создаваемому Месту
-
void
задать_родителя
(Местородительское_место
);Сделать этот объект потомком другого Места
-
@property Место
получить_родителя
();Метод, возвращающий место, являющееся родетелем этого Места
-
@property string
получить_имя
();Метод, возвращающий имя этого Места
-
@property Кватернион
получить_ориентацию
();Метод, возвращающий кватернион поворота этого Места
-
@property Вектор3
получить_позицию
();Метод, возвращающий вектор расположения этого Места
-
@property Вектор3
получить_масштаб
();Метод, возвращающий вектор масштаба этого Места
-
void
задать_ориентацию
(const(Кватернион)к
);Метод, задающий кватернион поворота этого Места
Параметры:
const(Кватернион)
к
кватернион, который будет задавать поворот этого Места
-
void
сбросить_ориентацию
();Метод, приводящий ориентацию этого Места в значение нулевого поворота
-
void
задать_позицию
(const(Вектор3)позиция0
);Метод, задающий позицию этого Места
Параметры:
const(Вектор3)
позиция0
вектор, задающий позицию этого Места
-
void
задать_позицию
(floatx
, floaty
, floatz
);Метод, задающий позицию этого Места
Параметры:
float
x
координата
x
результирущей позиции этого Местаfloat
y
координата
y
результирущей позиции этого Местаfloat
z
координата
z
результирущей позиции этого Места -
void
задать_масштаб
(const(Вектор3)масштаб0
);Метод, задающий масштаб этого Места
Параметры:
const(Вектор3)
масштаб0
вектор, задающий масштаб этого Места
-
void
задать_масштаб
(floatx
, floaty
, floatz
);Метод, задающий масштаб этого Места
Параметры:
float
x
масштаб этого Места по координате
x
float
y
масштаб этого Места по координате
y
float
z
масштаб этого Места по координате
z
-
void
масштабировать
(const(Вектор3)изменение_масштаба
);Функция масштабирования этого Места
Параметры:
const(Вектор3)
изменение_масштаба
вектор масштабирования, в соответствии с которым изменяется масштаб этого Места
-
void
масштабировать
(floatx
, floaty
, floatz
);Функция масштабирования этого Места
Параметры:
float
x
координата
x
вектора масштабирования, в соответствии с которым изменяется масштаб этого Местаfloat
y
координата
y
вектора масштабирования, в соответствии с которым изменяется масштаб этого Местаfloat
z
координата
z
вектора масштабирования, в соответствии с которым изменяется масштаб этого Места -
void
сдвинуть
(const(Вектор3)смещение
);Функция сдвига этого Места
Параметры:
const(Вектор3)
смещение
вектор, на который сдвигается это Место
-
void
сдвинуть
(floatx
, floaty
, floatz
);Функция сдвига этого Места
Параметры:
float
x
расстояние по координате
x
, на которое сдвигается это Местоfloat
y
расстояние по координате
y
, на которое сдвигается это Местоfloat
z
расстояние по координате
z
, на которое сдвигается это Место -
void
крен
(floatугол
);Функция поворота этого Места вокруг оси Z
Параметры:
float
угол
угол
, на который поворачивается это Место -
void
наклон
(floatугол
);Функция поворота этого Места вокруг оси X
Параметры:
float
угол
угол
, на который поворачивается это Место -
void
поворот
(floatугол
);Функция поворота этого Места вокруг оси Y
Параметры:
float
угол
угол
, на который поворачивается это Место -
void
вращать
(const(Вектор3)ось
, floatугол
);Функция поворота этого Места вокруг заданной оси
Параметры:
const(Вектор3)
ось
вектор, представляющий
ось
, вокруг которой поворачивается это Местоfloat
угол
угол
, на который поворачивается это Место -
void
вращать
(const(Кватернион)к
);Функция поворота этого Места
Параметры:
const(Кватернион)
к
кватернион, который представляет поворот, изменяющий ориентацию этого Места
-
Место
создать_ребёнка
(stringимя0
, const(Вектор3)сдвиг
, const(Кватернион)вращение
, const(Вектор3)масштабирование
= Вектор3.ЕДИНИЦА_МАСШТАБА);Функция, создающая новый объект Места, который становится потомком этого Места
Параметры:
string
имя0
имя нового Места
const(Вектор3)
сдвиг
вектор, задающий позицию нового Места относительно расположения этого Места
const(Кватернион)
вращение
кватернион, который представляет ориентацию нового Места относительно ориентации этого Места
const(Вектор3)
масштабирование
вектор, задающий масштаб нового Места
-
void
добавить_ребёнка
(Месторебёнок
);Функция, добавляющая переданный объект Места в список потомков этого Места.
Если объект
ребёнок
уже имеет родителя, то функция не выполняет никаких действий.
Параметры:
Место
ребёнок
объект Места, который будет потомком этого Места
-
short
количество_детей
();Функция, возвращающая количество потомков этого Места.
-
Место
получить_ребёнка
(stringимя0
);Функция, возвращающая объект-ребёнок этого Места по его имени.
Параметры:
string
имя0
имя искомого объекта
-
Место
удалить_ребёнка
(Месторебёнок
);Функция, удаляющая переданный объект-
ребёнок
из списка потомков этого Места.Параметры:
Место
ребёнок
объект Места, который будет удалён из списка потомков этого Места
Возвращаемое значение:
Объект Места, удалённый из списка потомков.
-
Место
удалить_ребёнка
(stringимя_ребёнка
);Функция, удаляющая объект-ребёнок из списка потомков этого Места.
Параметры:
string
имя_ребёнка
имя объекта Места, который будет удалён из списка потомков этого Места
Возвращаемое значение:
Объект Места, удалённый из списка потомков.
-
void
удалить_всех_детей
();Функция, очищающая список потомков этого Места.
-
void
задать_видимость
(boolвключено0
);Функция, задающая видимость этого Места.
Параметры:
bool
включено0
результирующая видимость этого Места
-
@property bool
получить_видимость
();Функция, возвращающая видимость этого Места.
-
void
поменять_видимость
();Функция, переключающая видимость этого Места.
-
void
присоединить_объект
(ДвижимыйОбъектдо
);Функция, добавляющая 3D-объект в это Место (в контейнер).
Если переданный объект уже находится в каком либо Месте, то функция не выполняет никаких действий.
Параметры:
ДвижимыйОбъект
до
добавляемый объект
-
@property short
количество_объектов
();Функция, возвращающая количество объектов контейнере.
-
ДвижимыйОбъект
получить_объект
(stringимя_объекта
);Функция, возвращающая объект из контейнера по его имени.
Параметры:
string
имя_объекта
имя искомого объекта
-
ДвижимыйОбъект
отсоединить_объект
(ДвижимыйОбъектдо
);Функция, изымающая объект из контейнера.
Параметры:
ДвижимыйОбъект
до
изымаемый объект
Возвращаемое значение:
Изъятый объект.
-
ДвижимыйОбъект
отсоединить_объект
(stringимя_объекта
);Функция, изымающая объект по его имени из контейнера.
Параметры:
string
имя_объекта
имя изымаемого объекта
Возвращаемое значение:
Изъятый объект.
-
void
отсоединить_все_объекты
();Функция, очищающая контейнер от всех присоединённых объектов.
-
void
рисовать
(uintочередь
);Функция рисования всех объектов, присоединённых к этому Месту, и всех объектов, присоединённых к потомкам этого Места.
Если видимость этого Места отключена, то функция не выполняет никаких действий.
-
@property int
количество_граней
();Статистическая функция, возвращающая количество граней всех объектов, присоединённых к этому Месту, и всех объектов, присоединённых к потомкам этого Места.
Если видимость этого Места отключена, то функция возвращает 0.
-
const string
toString
();Вывод этого Места в строковое представление
-