gtPhysicsSystem
abstract class : gtRefObject

Общий интерфейс для работы с физическим движком.
Чтобы создать его, нужно вызвать метод gtMainSystem::createPhysicsSystem.

Методы

gtPhysicsSystem::createModelBox
virtual gtPtr<gtPhysicsModel> createModelBox( const v3f& size ) = 0;
Создать физическую 3D модель в виде куба.

gtPhysicsSystem::createRigidBody
virtual gtPtr<gtRigidBody> createRigidBody( const gtRigidBodyInfo& info ) = 0;

gtPhysicsSystem::initialize
virtual bool initialize() = 0;
Запустить физический движок.
Физический движок, в отличие от, например, аудио движка, может понадобиться только в определённые моменты жизни программы. Чтобы постоянно не держать его запущенным, его можно отключать(плагин всё ещё будет работать) и снова включать. При необходимости использования нужно вызвать initialize, а при завершении вызвать shutdown (так можно гарантированно удалять всё что связано с физическим движком).

gtPhysicsSystem::rayTest
virtual bool rayTest( const v4f& ray_start, const v4f& ray_end, gtPhysicsRayTestNode& node ) = 0;
Получить физический объект если указанный отрезок будет проходить через него.

gtPhysicsSystem::rayTest
virtual bool rayTest( const gtRayf32& ray, gtPhysicsRayTestNode& node ) = 0;
Получить физический объект если указанный отрезок будет проходить через него.

gtPhysicsSystem::rayTestMultiple
virtual gtArray<gtPhysicsRayTestNode> rayTestMultiple( const gtRayf32& ray ) = 0;
Получить множество физических объектов.

gtPhysicsSystem::setGravity
virtual void setGravity( const v3f& gravity ) = 0;
Установить гравитацию.

gtPhysicsSystem::shutdown
virtual void shutdown() = 0;
Завершить работу.

gtPhysicsSystem::update
virtual void update( f32 delta ) = 0;
Обновить состояние физического мира.