Построение плоской проекции модели
Метод
void GetVestiges( const MbPlacement3D & place,
double znear,
const RPArray< MbLump > & lumps,
const MbProjectionsObjects & objects,
MbVEFVestiges & result,
bool invisible,
VERSION version );
выполняет построение плоской проекции множества тел и других объектов.
Входными параметрами метода являются:
place – проекционная плоскость,
znear – параметр точки наблюдения,
lumps – проецируемые тела в локальных системах координат,
objects – прочие проецируемые объекты,
invisible – признак построения невидимых линий,
version – версия построения, последняя версия Math::DefaultMathVersion().
Выходным параметром метода является result – структура, содержащая информацию о проекции.
Метод не возвращает значений.
Метод объявлен в файле map_create.h.
Проекционной плоскостью является плоскость XY локальной системы координат place.
Параметр znear определяет тип изображения. При znear = 0 строится параллельная проекция объектов. Параметр lumps содержит тела и матрицы преобразования их из локальной системы координат. Параметр objects содержит вспомогательные объекты, необходимые для оформления проекции: вспомогательные точки, кривые, условные обозначения, объекты аннотации. Параметр invisible сообщает о необходимости строить невидимые линии. В некоторых случаях при отказе от построения невидимых линий метод работает заметно быстрее.
На рис. 1 приведено тело, линии проекции которого на плоскость, параллельную плоскости экрана, приведены на рис. 2. На рис. 3 приведены только видимые линии проекции тела, показанного на рис. 1.
Рис. 1
Рис. 2
Рис. 3
Последний параметр рассматриваемого метода используется для поддержки предыдущих версий построения.
Метод
void VisualLinesMapping( const MbPlacement3D & place,
double znear,
const RPArray< MbLump > & lumps,
MbVEFVestiges & result,
bool invisible = true );
выполняет построение плоской проекции множества тел и отличается от метода GetVestiges() отсутствием дополнительных объектов objects.