C3D Toolkit  Kernel - 107448, Vision - 190805.107448

Класс виртуальной камеры для отрисовки 3D сцены. Подробнее...

#include <vsn_camera.h>

+ Граф наследования:Camera:
+ Граф связей класса Camera:

Открытые члены

 Camera ()
 Конструктор по умолчанию. Подробнее...
 
 Camera (const MbCartPoint3D &, const MbCartPoint3D &, const MbVector3D &)
 Конструктор по параметрам.
 
 Camera (const Camera &other)
 Конструктор копирования.
 
virtual ~Camera ()
 Деструктор.
 
void Init (const MbCartPoint3D &position, const MbCartPoint3D &targetPosition, const MbVector3D &up)
 Инициализация камеры по параметрам.
 
void Init (const MbCartPoint3D &position, const MbVector3D &up)
 Инициализация камеры по параметрам.
 
void Init (const MbCartPoint3D &position)
 Инициализация камеры по параметру.
 
void InitTarget (const MbCartPoint3D &targetPosition)
 Инициализация камеры по параметру.
 
void Init (const Camera &other)
 Инициализация камеры по другой камере.
 
double DistanceCameraToTarget () const
 Вернуть реальное расстояние между объектом и камерой.
 
void SetDistanceCameraToTarget (double dis)
 Установить новое расстояние между камерой и объектом, т.е. переместить камеру. Эта величина должна быть положительная.
 
void SetDistanceTargetToCamera (double dis)
 Установить новое расстояние между объектом и камерой, т.е. переместить объект. Эта величина должна быть положительная.
 
const MbCartPoint3DGetPosition () const
 Вернуть позицию камеры.
 
void SetPosition (const MbCartPoint3D &position)
 Установить новую позицию камеры. По умолчанию позиция (0, 0, 1).
 
const MbCartPoint3DGetTargetPosition () const
 Вернуть позицию объекта сцены. По умолчанию в качестве позиции объекта берется его центр.
 
void SetPositionTarget (const MbCartPoint3D &targetPosition)
 Установить позицию объекта. По умолчанию в качестве позиции объекта берется его центр.
 
const MbVector3DGetUpVector () const
 Вернуть up-вектор камеры. По умолчанию значение (0, 1, 0).
 
void SetUpVector (const MbVector3D &up)
 Установить up-вектор камеры. По умолчанию значение (0, 1, 0).
 
MbVector3D GetForward () const
 Вернуть вектор взгляда от камеры до цели.
 
MbVector3D GetSideVector () const
 Вернуть вектор со стороны камеры.
 
const MbMatrix3DGetViewMatrix () const
 Получить видовую матрицу (матрицу камеры).
 
const MbVector3DGetDefaultUpVector () const
 Вернуть up вектор камеры по умолчанию.
 
void SetDefaultUpVector (const MbVector3D &vecUp)
 Установить up вектор камеры по умолчанию.
 
void SetViewOrientation (Orientation orientation)
 Установить стандартный вид ориентации.
 
MbMatrix3D GetModelViewMatrix () const
 Вернуть матрицу вида камеры.
 
void RotateSpherical (const MbVector3D &vectOld, const MbVector3D &vectCur)
 Вращение вокруг начала координат мира(по орбите).
 
void Pan (const MbVector3D &vectShift)
 Панорамирование вида.
 
void SetZoom (double factor)
 Cдвиг вектора камеры вдоль вектора взгляда (фактор должен быть больше 0).
 
void Transform (const MbMatrix3D &matMove)
 Поменять положение камеры согласно заданной матрице.
 
void RotateAbout (const MbVector3D &axis, double angle, const MbCartPoint3D &pnt)
 Повернуть вокруг оси.
 
void RotateAboutTarget (const MbVector3D &vec, double angle)
 Повернуть вокруг объекта (его позиции).
 
void Translate (const MbVector3D &vecTrans)
 Перемещение камеры по вектору.
 
void Orbit (double angle1, double angle2)
 Перемещение камеры вокруг объекта сцены. Подробнее...
 
void Roll (double angle)
 Вращение камеры вокруг оси взгляда. Подробнее...
 
void oglMultMatrix ()
 Настроить OpenGL камеру перед отрисовкой всей сцены.
 
bool operator== (const Camera &other) const
 Оператор равенства.
 
- Открытые члены унаследованные от Essence
 Essence (Node *pParent=nullptr)
 Конструктор по умолчанию с заданием узла родителя.
 
virtual ~Essence ()
 Деструктор.
 
void AddFeature (Feature *pFeature)
 Добавить новый указатель на Feature.
 
void RemoveFeature (Feature *pFeature)
 Удалить указанный указатель на Feature.
 
FeatureVector GetFeatures () const
 Вернуть список экземпляров компонента, на которые ссылается Essence.
 
EssenceGetParentEssence () const
 Вернуть указатель на родительский экземпляр Essence.
 
- Открытые члены унаследованные от Node
 Node (Node *pParent=nullptr)
 Конструктор по умолчанию.
 
 Node (const String &name)
 Конструктор по умолчанию.
 
 Node (NodeKey key, const String &name=String())
 Конструктор.
 
NodeKey GetUniqueKey () const
 Вернуть ключ, идентифицирующий экземпляр Node.
 
void SetUniqueKey (NodeKey key)
 Установить уникальный ключ для этого экземпляра.
 
NodeKey GetCustomKey () const
 Вернуть пользовательский ключ, идентифицирующий экземпляр Node.
 
void SetCustomKey (NodeKey key)
 Установить пользовательский уникальный ключ для этого экземпляра.
 
NodeGetParentNode () const
 Вернуть указатель на родительский объект или NULL, если родителя нет.
 
bool IsEnabled () const
 Вернуть флаг включение узла. По умолчанию флаг всегда включен.
 
void SetParent (Node *pParent)
 Установить родительский объект для этого объекта.
 
bool IsNotificationsBlocked () const
 Вернуть True, если уведомления заблокированы, в противном случае False.
 
bool SetBlockNotifications (bool block)
 Установить блокировку уведомлений и вернуть предыдущее значение блокировки.
 
- Открытые члены унаследованные от Object
 Object (const String &name=String())
 Конструктор по умолчанию.
 
 Object (Object *pParent)
 Конструктор c родителем.
 
virtual ~Object ()
 Деструктор.
 
void SetParent (Object *pParent)
 Установить родителя для объекта.
 
MutexGetMutex ()
 Мьютекс объекта.
 
String GetObjectName () const
 Получить имя объекта.
 
void SetObjectName (const String &name)
 Установить имя объекту.
 
bool IsControlType () const
 Вернуть тип объекта.
 
ObjectGetParent () const
 Вернуть указатель на родителя.
 
Variant GetProperty (const char *name) const
 Вернуть вариант свойства по имени.
 
bool IsSignalsBlocked () const
 Вернуть признак блокировки сигналов этого объекта.
 
bool SetBlockSignals (bool bBlock)
 Установить признак блокировки сигналов этого объекта.
 
void AddEventListener (Object *obj)
 Добавить слушателя событий.
 
void RemoveEventListener (Object *obj)
 Удалить слушателя событий.
 
ObjectGetSender () const
 Вернуть указатель на объект, который с генерировал сигнал.
 
Thread * GetThread () const
 NO TRANSLATION.
 
void BindWithThread (Thread *thread)
 Связывание c потоком.
 
int StartTimer (int interval, TimerType timerType=tt_CoarseTimer)
 NO TRANSLATION.
 
void KillTimer (int id)
 NO TRANSLATION.
 
const std::vector< Object * > & GetChildren () const
 Вернуть список указателей детей.
 
template<typename T >
FindChild (const String &objName=String(), VSN::ChildFindingPolicies policies=VSN::FindAllNestedChildren) const
 Вернуть указателей на ребенка.
 
template<typename T >
std::vector< T > FindChildren (const String &objName=String(), VSN::ChildFindingPolicies policies=VSN::FindAllNestedChildren) const
 Вернуть список указателей детей.
 
- Открытые члены унаследованные от BasicObject
 BasicObject ()
 Конструктор по умолчанию.
 
virtual ~BasicObject ()
 Деструктор.
 

Дополнительные унаследованные члены

- Защищенные члены унаследованные от Essence
 Essence (EssencePrivate &dd, Node *parent=nullptr)
 Конструктор с заданием узла родителя и приватных данных.
 
- Защищенные члены унаследованные от Node
 Node (NodePrivate &dd, Node *pParent)
 Установить флаг включения узла. Подробнее...
 
virtual ~Node ()
 Деструктор.
 
virtual void SceneModificationEvent (const std::shared_ptr< SceneModification > &modification)
 Эта функция вызывается, если произошли какие-либо изменения в сцене.
 

Подробное описание

Класс виртуальной камеры для отрисовки 3D сцены.

Класс виртуальной камеры для отрисовки 3D сцены. Он представляет много разных методов для позиционирования, ориентации камеры, а также точку взгляда на сцену и.т.д. При отрисовке сцены камера расчитывает как матрицу проецирования, так и матрицу вида. Камера может позиционироваться перед любым сегментом сцены для правильного его отображения. Положение и ориентация камеры по умолчанию равны (0,0,1) по направлению взгляда вдоль отрицательной оси.
.

Конструктор(ы)

◆ Camera()

Camera::Camera ( )

Конструктор по умолчанию.

Конструктор по умолчанию. Позиция взгляда (0, 0, 1), up-вектор инициализирован по оси y (0, 1, 0). Угол обзора составляет 30 градусов и диапазон отсечения составляет (0.1, 1000.0).

Методы

◆ Orbit()

void Camera::Orbit ( double  angle1,
double  angle2 
)

Перемещение камеры вокруг объекта сцены.

Аргументы
[in]angle1- Расстояние в радианах, которое камера обойдет вокруг объекта(Target) слева на право. Может быть отрицательным.
[in]angle2- Расстояние в радианах, которое камера обойдет вокруг объекта(Target) снизу вверх. Может быть отрицательным.

◆ Roll()

void Camera::Roll ( double  angle)

Вращение камеры вокруг оси взгляда.

Аргументы
[in]angle- Угол поворота камеры вокруг оси взгляда в радианах.

Объявления и описания членов класса находятся в файле: