UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ugdk::action::mode3d::component::PhysicsBody Class Referencefinal

#include <ugdk/action/3D/component/physicsbody.h>

Inheritance diagram for ugdk::action::mode3d::component::PhysicsBody:
Collaboration diagram for ugdk::action::mode3d::component::PhysicsBody:

Classes

struct  PhysicsData
 

Public Member Functions

 PhysicsBody (Physics &physics, const PhysicsData &physics_data)
 
 ~PhysicsBody ()
 
double mass () const override
 
short collision_group () const override
 
short collides_with () const override
 
void set_angular_factor (double x_axis, double y_axis, double z_axis) override
 
void set_restitution (double factor) override
 
void set_friction (double frict) override
 
void set_damping (double linear, double angular) override
 
void SetRespondsOnContact (bool has_response) override
 
void SetContinuousCollisionDetection (double speed_threshold, double sphere_radius) override
 
Ogre::Vector3 position () const override
 
Ogre::Quaternion orientation () const override
 
void set_orientation (const Ogre::Vector3 &dir) override
 
Ogre::Vector3 linear_velocity () const override
 
void set_linear_velocity (const Ogre::Vector3 &velocity) override
 
Ogre::Vector3 angular_velocity () const override
 
Ogre::Vector3 GetVelocityInPoint (const Ogre::Vector3 &point) const override
 
void Translate (double move_x, double move_y, double move_z) override
 
void ApplyImpulse (double imp_x, double imp_y, double imp_z) override
 
void ApplyImpulse (const Ogre::Vector3 &imp, const Ogre::Vector3 &relative_pos) override
 
void Rotate (double yaw, double pitch, double roll) override
 
void Scale (double factor_x, double factor_y, double factor_z) override
 
void AddCollisionAction (short target_mask, const CollisionAction &action) override
 
- Public Member Functions inherited from ugdk::action::mode3d::component::Body
std::type_index type () const override
 
void Translate (const Ogre::Vector3 &move)
 
void ApplyImpulse (const Ogre::Vector3 &imp)
 
- Public Member Functions inherited from ugdk::action::mode3d::Component
virtual ~Component ()
 
std::shared_ptr< Elementowner () const
 

Protected Member Functions

void OnTaken () override
 TODO: Make this not accessible from Object. More...
 
- Protected Member Functions inherited from ugdk::action::mode3d::component::Body
 Body ()
 
- Protected Member Functions inherited from ugdk::action::mode3d::Component
 Component ()
 
void Take (const std::weak_ptr< Element > &the_owner)
 

Friends

class ::ugdk::action::mode3d::Physics
 

Constructor & Destructor Documentation

ugdk::action::mode3d::component::PhysicsBody::PhysicsBody ( Physics physics,
const PhysicsData physics_data 
)
inline
ugdk::action::mode3d::component::PhysicsBody::~PhysicsBody ( )

Member Function Documentation

void ugdk::action::mode3d::component::PhysicsBody::AddCollisionAction ( short  target_mask,
const CollisionAction action 
)
overridevirtual
Ogre::Vector3 ugdk::action::mode3d::component::PhysicsBody::angular_velocity ( ) const
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::ApplyImpulse ( double  imp_x,
double  imp_y,
double  imp_z 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::ApplyImpulse ( const Ogre::Vector3 &  imp,
const Ogre::Vector3 &  relative_pos 
)
overridevirtual
short ugdk::action::mode3d::component::PhysicsBody::collides_with ( ) const
inlineoverridevirtual
short ugdk::action::mode3d::component::PhysicsBody::collision_group ( ) const
inlineoverridevirtual
Ogre::Vector3 ugdk::action::mode3d::component::PhysicsBody::GetVelocityInPoint ( const Ogre::Vector3 &  point) const
overridevirtual
Ogre::Vector3 ugdk::action::mode3d::component::PhysicsBody::linear_velocity ( ) const
overridevirtual
double ugdk::action::mode3d::component::PhysicsBody::mass ( ) const
inlineoverridevirtual
void ugdk::action::mode3d::component::PhysicsBody::OnTaken ( )
overrideprotectedvirtual

TODO: Make this not accessible from Object.

Reimplemented from ugdk::action::mode3d::component::Body.

Ogre::Quaternion ugdk::action::mode3d::component::PhysicsBody::orientation ( ) const
overridevirtual
Ogre::Vector3 ugdk::action::mode3d::component::PhysicsBody::position ( ) const
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::Rotate ( double  yaw,
double  pitch,
double  roll 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::Scale ( double  factor_x,
double  factor_y,
double  factor_z 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_angular_factor ( double  x_axis,
double  y_axis,
double  z_axis 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_damping ( double  linear,
double  angular 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_friction ( double  frict)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_linear_velocity ( const Ogre::Vector3 &  velocity)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_orientation ( const Ogre::Vector3 &  dir)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::set_restitution ( double  factor)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::SetContinuousCollisionDetection ( double  speed_threshold,
double  sphere_radius 
)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::SetRespondsOnContact ( bool  has_response)
overridevirtual
void ugdk::action::mode3d::component::PhysicsBody::Translate ( double  move_x,
double  move_y,
double  move_z 
)
overridevirtual

Friends And Related Function Documentation

friend class ::ugdk::action::mode3d::Physics
friend

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