Wasabi
Public Member Functions | Friends | List of all members
WBulletPhysics Class Reference
Inheritance diagram for WBulletPhysics:
WPhysicsComponent

Public Member Functions

 WBulletPhysics (class Wasabi *app)
 
virtual WError Initialize (bool debug=false)
 
virtual void Cleanup ()
 
virtual void Start ()
 
virtual void Stop ()
 
virtual void Step (float deltaTime)
 
virtual bool Stepping () const
 
virtual class WRigidBodyCreateRigidBody (uint32_t ID=0) const
 
virtual bool RayCast (WVector3 from, WVector3 to, W_RAYCAST_OUTPUT *out=nullptr)
 
virtual void SetSpeed (float fSpeed)
 
virtual void SetGravity (float x, float y, float z)
 
virtual void SetGravity (WVector3 gravity)
 
- Public Member Functions inherited from WPhysicsComponent
 WPhysicsComponent (class Wasabi *app)
 

Friends

class WBulletRigidBodyManager
 
class WBulletRigidBody
 

Additional Inherited Members

- Public Attributes inherited from WPhysicsComponent
WRigidBodyManagerRigidBodyManager
 
- Protected Attributes inherited from WPhysicsComponent
class Wasabim_app
 

Member Function Documentation

◆ Cleanup()

virtual void WBulletPhysics::Cleanup ( )
virtual

Frees all resources allocated by the physics engine.

Implements WPhysicsComponent.

◆ CreateRigidBody()

virtual class WRigidBody* WBulletPhysics::CreateRigidBody ( uint32_t  ID = 0) const
virtual

Creates a new rigid body instance. This is equivalent to calling new WRigidBody(app, ID), so care must be taken to free the resource when done with it.

Parameters
IDID for the created rigid body
Returns
A newly allocated rigid body instance

Implements WPhysicsComponent.

◆ Initialize()

virtual WError WBulletPhysics::Initialize ( bool  debug = false)
virtual

Initializes the physics engine.

Parameters
debugIf set to true, the physics will run in debug mode
Returns
Error code, see WError.h

Implements WPhysicsComponent.

◆ RayCast()

virtual bool WBulletPhysics::RayCast ( WVector3  from,
WVector3  to,
W_RAYCAST_OUTPUT out = nullptr 
)
virtual

Performs a ray cast operation on the physics objects. A ray cast operation checks if a ray segment (given to the function) intersects any geometry, as far as the physics engine is concerned.

Parameters
fromStarting point of the ray
toEnd point of the ray
outA pointer to a structure to be filled with extra output information
Returns
true if the ray intersects some geometry, false otherwise

Implements WPhysicsComponent.

◆ SetGravity() [1/2]

virtual void WBulletPhysics::SetGravity ( float  x,
float  y,
float  z 
)
virtual

Sets the physics gravity.

Parameters
xGravity on the x-axis
yGravity on the y-axis
zGravity on the z-axis

Implements WPhysicsComponent.

◆ SetGravity() [2/2]

virtual void WBulletPhysics::SetGravity ( WVector3  gravity)
virtual

Sets the physics gravity.

Parameters
gravityPhysics gravity vector

Implements WPhysicsComponent.

◆ SetSpeed()

virtual void WBulletPhysics::SetSpeed ( float  fSpeed)
virtual

Sets the simulation speed multiplier

Parameters
fSpeedSpeed multiplier, must be > 0 (1 is normal speed)

Implements WPhysicsComponent.

◆ Start()

virtual void WBulletPhysics::Start ( )
virtual

Start the physics simulation.

Implements WPhysicsComponent.

◆ Step()

virtual void WBulletPhysics::Step ( float  deltaTime)
virtual

Step the physics simulation a certain time forward.

Parameters
deltaTimeTime to step the simulation

Implements WPhysicsComponent.

◆ Stepping()

virtual bool WBulletPhysics::Stepping ( ) const
virtual

This function must return true if called during Step(), and false otherwise

Returns
true if the physics simulation is stepping, false otherwise

Implements WPhysicsComponent.

◆ Stop()

virtual void WBulletPhysics::Stop ( )
virtual

Stop (pause) the physics simulation.

Implements WPhysicsComponent.


The documentation for this class was generated from the following file: