neoGFX
C++ GPU-oriented GUI library and app/game creation framework.
neogfx::physical_object Class Reference

#include <physical_object.hpp>

Inheritance diagram for neogfx::physical_object:
neogfx::i_physical_object neogfx::i_collidable_object neogfx::i_game_object neogfx::sprite

Public Member Functions

 physical_object ()
 
 physical_object (const physical_object &aOther)
 
object_category category () const override
 
const i_shapeas_shape () const override
 
i_shapeas_shape () override
 
const i_collidable_objectas_collidable_object () const override
 
i_collidable_objectas_collidable_object () override
 
const i_physical_objectas_physical_object () const override
 
i_physical_objectas_physical_object () override
 
bool killed () const override
 
void kill () override
 
vec3 origin () const override
 
vec3 position () const override
 
vec3 angle_radians () const override
 
vec3 angle_degrees () const override
 
vec3 velocity () const override
 
vec3 acceleration () const override
 
vec3 spin_radians () const override
 
vec3 spin_degrees () const override
 
scalar mass () const override
 
void set_origin (const vec3 &aOrigin) override
 
void set_position (const vec3 &aPosition) override
 
void set_angle_radians (const vec3 &aAngle) override
 
void set_angle_degrees (const vec3 &aAngle) override
 
void set_velocity (const vec3 &aVelocity) override
 
void set_acceleration (const vec3 &aAcceleration) override
 
void set_spin_radians (const vec3 &aSpin) override
 
void set_spin_degrees (const vec3 &aSpin) override
 
void set_mass (scalar aMass) override
 
void clear_vertices_cache () override
 
const neogfx::aabbaabb () const override
 
const neogfx::aabbsaved_aabb () const override
 
void save_aabb () override
 
void clear_saved_aabb () override
 
bool collidable () const override
 
bool has_collided (const i_collidable_object &aOther) const override
 
void collided (i_collidable_object &aOther) override
 
uint32_t collision_update_id () const override
 
void set_collision_update_id (uint32_t aCollisionUpdateId) override
 
void clear_aabb_cache () override
 
bool update (const optional_time_interval &aNow, const vec3 &aForce) override
 
const optional_time_intervalupdate_time () const override
 
void set_update_time (const optional_time_interval &aLastUpdateTime) override
 
- Public Member Functions inherited from neogfx::i_physical_object
virtual ~i_physical_object ()
 
void set_angle_radians (scalar aAngle)
 
void set_angle_degrees (scalar aAngle)
 
void set_spin_radians (scalar aSpin)
 
void set_spin_degrees (scalar aSpin)
 
- Public Member Functions inherited from neogfx::i_collidable_object
virtual uint64_t collision_mask () const
 
virtual void set_collision_mask (uint64_t)
 
- Public Member Functions inherited from neogfx::i_game_object
virtual ~i_game_object ()
 
virtual const object_typetype () const
 

Additional Inherited Members

- Public Types inherited from neogfx::i_physical_object
typedef scalar time_interval
 
typedef boost::optional< time_intervaloptional_time_interval
 
typedef int64_t step_time_interval
 
typedef boost::optional< step_time_intervaloptional_step_time_interval
 

Detailed Description

Definition at line 26 of file physical_object.hpp.

Constructor & Destructor Documentation

◆ physical_object() [1/2]

neogfx::physical_object::physical_object ( )

◆ physical_object() [2/2]

neogfx::physical_object::physical_object ( const physical_object aOther)

Member Function Documentation

◆ aabb()

const neogfx::aabb& neogfx::physical_object::aabb ( ) const
overridevirtual

Implements neogfx::i_collidable_object.

Reimplemented in neogfx::sprite.

◆ acceleration()

vec3 neogfx::physical_object::acceleration ( ) const
overridevirtual

◆ angle_degrees()

vec3 neogfx::physical_object::angle_degrees ( ) const
overridevirtual

◆ angle_radians()

vec3 neogfx::physical_object::angle_radians ( ) const
overridevirtual

◆ as_collidable_object() [1/2]

const i_collidable_object& neogfx::physical_object::as_collidable_object ( ) const
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ as_collidable_object() [2/2]

i_collidable_object& neogfx::physical_object::as_collidable_object ( )
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ as_physical_object() [1/2]

const i_physical_object& neogfx::physical_object::as_physical_object ( ) const
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ as_physical_object() [2/2]

i_physical_object& neogfx::physical_object::as_physical_object ( )
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ as_shape() [1/2]

const i_shape& neogfx::physical_object::as_shape ( ) const
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ as_shape() [2/2]

i_shape& neogfx::physical_object::as_shape ( )
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ category()

object_category neogfx::physical_object::category ( ) const
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ clear_aabb_cache()

void neogfx::physical_object::clear_aabb_cache ( )
overridevirtual

Implements neogfx::i_collidable_object.

Reimplemented in neogfx::sprite.

◆ clear_saved_aabb()

void neogfx::physical_object::clear_saved_aabb ( )
overridevirtual

◆ clear_vertices_cache()

void neogfx::physical_object::clear_vertices_cache ( )
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ collidable()

bool neogfx::physical_object::collidable ( ) const
overridevirtual

◆ collided()

void neogfx::physical_object::collided ( i_collidable_object aOther)
overridevirtual

◆ collision_update_id()

uint32_t neogfx::physical_object::collision_update_id ( ) const
overridevirtual

◆ has_collided()

bool neogfx::physical_object::has_collided ( const i_collidable_object aOther) const
overridevirtual

◆ kill()

void neogfx::physical_object::kill ( )
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ killed()

bool neogfx::physical_object::killed ( ) const
overridevirtual

Implements neogfx::i_game_object.

Reimplemented in neogfx::sprite.

◆ mass()

scalar neogfx::physical_object::mass ( ) const
overridevirtual

◆ origin()

vec3 neogfx::physical_object::origin ( ) const
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ position()

vec3 neogfx::physical_object::position ( ) const
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ save_aabb()

void neogfx::physical_object::save_aabb ( )
overridevirtual

◆ saved_aabb()

const neogfx::aabb& neogfx::physical_object::saved_aabb ( ) const
overridevirtual

◆ set_acceleration()

void neogfx::physical_object::set_acceleration ( const vec3 aAcceleration)
overridevirtual

◆ set_angle_degrees()

void neogfx::physical_object::set_angle_degrees ( const vec3 aAngle)
overridevirtual

◆ set_angle_radians()

void neogfx::physical_object::set_angle_radians ( const vec3 aAngle)
overridevirtual

◆ set_collision_update_id()

void neogfx::physical_object::set_collision_update_id ( uint32_t  aCollisionUpdateId)
overridevirtual

◆ set_mass()

void neogfx::physical_object::set_mass ( scalar  aMass)
overridevirtual

◆ set_origin()

void neogfx::physical_object::set_origin ( const vec3 aOrigin)
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ set_position()

void neogfx::physical_object::set_position ( const vec3 aPosition)
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ set_spin_degrees()

void neogfx::physical_object::set_spin_degrees ( const vec3 aSpin)
overridevirtual

◆ set_spin_radians()

void neogfx::physical_object::set_spin_radians ( const vec3 aSpin)
overridevirtual

◆ set_update_time()

void neogfx::physical_object::set_update_time ( const optional_time_interval aLastUpdateTime)
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ set_velocity()

void neogfx::physical_object::set_velocity ( const vec3 aVelocity)
overridevirtual

◆ spin_degrees()

vec3 neogfx::physical_object::spin_degrees ( ) const
overridevirtual

◆ spin_radians()

vec3 neogfx::physical_object::spin_radians ( ) const
overridevirtual

◆ update()

bool neogfx::physical_object::update ( const optional_time_interval aNow,
const vec3 aForce 
)
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ update_time()

const optional_time_interval& neogfx::physical_object::update_time ( ) const
overridevirtual

Implements neogfx::i_physical_object.

Reimplemented in neogfx::sprite.

◆ velocity()

vec3 neogfx::physical_object::velocity ( ) const
overridevirtual

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