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

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

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

Public Member Functions

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

Protected Member Functions

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

Constructor & Destructor Documentation

ugdk::action::mode3d::component::Body::Body ( )
inlineprotected

Member Function Documentation

virtual void ugdk::action::mode3d::component::Body::AddCollisionAction ( short  target_mask,
const CollisionAction action 
)
pure virtual
virtual Ogre::Vector3 ugdk::action::mode3d::component::Body::angular_velocity ( ) const
pure virtual
void ugdk::action::mode3d::component::Body::ApplyImpulse ( const Ogre::Vector3 &  imp)
inline
virtual void ugdk::action::mode3d::component::Body::ApplyImpulse ( double  imp_x,
double  imp_y,
double  imp_z 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::ApplyImpulse ( const Ogre::Vector3 &  imp,
const Ogre::Vector3 &  relative_pos 
)
pure virtual
virtual short ugdk::action::mode3d::component::Body::collides_with ( ) const
pure virtual
virtual short ugdk::action::mode3d::component::Body::collision_group ( ) const
pure virtual
virtual Ogre::Vector3 ugdk::action::mode3d::component::Body::GetVelocityInPoint ( const Ogre::Vector3 &  point) const
pure virtual
virtual Ogre::Vector3 ugdk::action::mode3d::component::Body::linear_velocity ( ) const
pure virtual
virtual double ugdk::action::mode3d::component::Body::mass ( ) const
pure virtual
void ugdk::action::mode3d::component::Body::OnTaken ( )
inlineoverrideprotectedvirtual

TODO: Make this not accessible from Object.

Implements ugdk::action::mode3d::Component.

Reimplemented in ugdk::action::mode3d::component::PhysicsBody, and ugdk::action::mode3d::component::SimpleBody.

virtual Ogre::Quaternion ugdk::action::mode3d::component::Body::orientation ( ) const
pure virtual
virtual Ogre::Vector3 ugdk::action::mode3d::component::Body::position ( ) const
pure virtual
virtual void ugdk::action::mode3d::component::Body::Rotate ( double  yaw,
double  pitch,
double  roll 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::Scale ( double  factor_x,
double  factor_y,
double  factor_z 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_angular_factor ( double  x_factor,
double  y_factor,
double  z_factor 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_damping ( double  linear,
double  angular 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_friction ( double  frict)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_linear_velocity ( const Ogre::Vector3 &  velocity)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_orientation ( const Ogre::Vector3 &  dir)
pure virtual
virtual void ugdk::action::mode3d::component::Body::set_restitution ( double  factor)
pure virtual
virtual void ugdk::action::mode3d::component::Body::SetContinuousCollisionDetection ( double  speed_threshold,
double  sphere_radius 
)
pure virtual
virtual void ugdk::action::mode3d::component::Body::SetRespondsOnContact ( bool  has_response)
pure virtual
void ugdk::action::mode3d::component::Body::Translate ( const Ogre::Vector3 &  move)
inline
virtual void ugdk::action::mode3d::component::Body::Translate ( double  move_x,
double  move_y,
double  move_z 
)
pure virtual
std::type_index ugdk::action::mode3d::component::Body::type ( ) const
inlineoverridevirtual

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