! | Данная информация предназначена только только для IT-специалистов по системной интеграции модулей БИОСОФТ-М. (см. Руководства пользователя к программным продуктам) |
OpenGL Lib реализует 3 вида перемещения по сцене:
Объект управления перемещением доступен через COpenGlIfaceGp:
class COpenGlIfaceGp : public object { public: // scene manipulation ref<COpenGlTravelIfaceGp> x_rOpenGlTravel, abstract; ref<COpenGlTravelIfaceGp> x_rOpenGlTravel_Get() new virtual auto; };
Для управления перемещением OpenGL Lib использует специальное UI, которое должно быть наложено поверх окна в которое выводится результат визуализации OpenGL:
class COpenGlTravelIfaceGp : public object { public: // OpenGL overlay panel for manipulating scene with mouse ref<UiContainer> NewUiOpenGlTravelOverlay() new virtual auto; };
Контроллер позволяет включать один из вышеперечисленных режимов перемещения и задавать коэфициент масштабирования для каждого режима. Коэффициент масштабирования используется при расчете дельты, на которою должен повернуться/приблизиться/переместиться объект при определенном перемещении мыши.
class COpenGlTravelIfaceGp : public object { public: // Attributes num x_numPanScale = 1.0, auto(Get, Set), assert(value > 0); num x_numZoomScale = 1.0, auto(Get, Set), assert(value > 0); num x_numOrbitScale = 1.0, auto(Get, Set), assert(value > 0); // Operations // pan mode on/off void EnablePanMode( bool bEnable) new virtual auto; // zoom mode on/off void EnableZoomMode( bool bEnable) new virtual auto; // rotation mode on/off void EnableRotationMode( bool bEnable) new virtual auto;