gtGameObject
abstract class : gtRefObject

Общий класс для объектов виртуальной сцены.

Методы
gtGameObject::addChild
virtual void addChild( gtGameObjectCommon * child ) = 0;
Добавить потомка.

gtGameObject::getAabb
virtual gtAabb* getAabb() = 0;
Получить gtAabb.

gtGameObject::getAbsoluteWorldMatrix
virtual const gtMatrix4& getAbsoluteWorldMatrix() = 0;
Получить мировую матрицу относительно виртуального мира без учёта предков.

gtGameObject::getBVSphereRadius
virtual const f32& getBVSphereRadius() const = 0;
Получить значение радиуса ограничивающей сферы.

gtGameObject::getBVType
virtual gtBoundingVolumeType getBVType() const = 0;
Получить тип ограничивающего объёма.

gtGameObject::getChildList
virtual gtList<gtGameObjectCommon*>& getChildList() = 0;
Получить список потомков.

gtGameObject::getID
virtual s32 getID() = 0;
Получить ID.

gtGameObject::getObb
virtual gtObb* getAabb() = 0;
Получить gtObb.

gtGameObject::getOrientation
virtual const gtQuaternion& getOrientation() = 0;
Получить ориентацию кватернионом.

gtGameObject::getParent
virtual gtGameObjectCommon * getParent() const = 0;
Получить предка.

gtGameObject::getPosition
virtual const v4f& getPosition() = 0;
Получить позицию в виртуальном пространстве относительно родителя (если он есть).

gtGameObject::getPositionInSpace
virtual const v4f& getPositionInSpace() = 0;
Получить позицию в виртуальном пространстве (независимо от родителя).

gtGameObject::getRotation
virtual const v4f& getRotation() = 0;
Получить ориентацию углами Эйлера.

gtGameObject::getScale
virtual const v4f& getScale() = 0;
Получить масштаб.

gtGameObject::getType
virtual gtGameObjectType getType() = 0;
Узнать конкретный тип объекта.

gtGameObject::getWorldMatrix
virtual const gtMatrix4& getWorldMatrix() = 0;
Получить мировую матрицу относительно виртуального мира с учётом предков.

gtGameObject::isVisible
virtual bool isVisible() = 0;
Вернёт истину если объект будет рисоваться.

gtGameObject::recalculateBV
virtual void recalculateBV() = 0;
Вычислить gtAabb и gtObb

gtGameObject::removeChild
virtual void removeChild( gtGameObjectCommon * child ) = 0;
Убрать потомка.

gtGameObject::setBVType
virtual void setBVType( gtBoundingVolumeType type ) = 0;
Установить тип ограничивающего объёма.

gtGameObject::setID
virtual void setID( s32 i ) = 0;
Установить ID.

gtGameObject::setOrientation
virtual void setOrientation( const gtQuaternion& q ) = 0;
Установить ориентацию кватернионом.

gtGameObject::setParent
virtual void setParent( gtGameObjectCommon * parent = nullptr ) = 0;
Установить предка.

gtGameObject::setPosition
virtual void setPosition( const v4f& p ) = 0;
Установить позицию.

gtGameObject::setRotation
virtual void setRotation( const v4f& rotation ) = 0;
Установить ориентацию углами Эйлера.

gtGameObject::setScale
virtual void setScale( const v4f& s ) = 0;
Установить масштаб. 1.f - оригинальный размер.

gtGameObject::setVisible
virtual void setVisible( bool v ) = 0;
Установить видимость объекта. Объекты которые не видимы не обновляют свои матрицы и не рисуются.

gtGameObject::setWorldMatrix
virtual void setWorldMatrix( const gtMatrix4& m ) = 0;
Установить мировую матрицу.

gtGameObject::update
virtual void update() = 0;
Обновить матрицы а так-же обновить матрицы потомков.

gtGameObject::render
virtual void render() = 0;
Нарисовать объект.