1 #ifndef UGDK_ACTION_3D_COMPONENT_SIMPLEBODY_H
2 #define UGDK_ACTION_3D_COMPONENT_SIMPLEBODY_H
16 SimpleBody(
const Ogre::Vector3& initial_pos,
const Ogre::Quaternion& initial_dir);
19 double mass()
const override;
29 Ogre::Vector3
position()
const override;
37 void Translate(
double move_x,
double move_y,
double move_z)
override;
38 void ApplyImpulse(
double imp_x,
double imp_y,
double imp_z)
override;
39 void ApplyImpulse(
const Ogre::Vector3& imp,
const Ogre::Vector3& relative_pos)
override;
40 void Rotate(
double yaw,
double pitch,
double roll)
override;
41 void Scale(
double factor_x,
double factor_y,
double factor_z)
override;
53 : initial_pos_(initial_pos), initial_dir_(initial_dir) {}
65 return Ogre::Vector3::ZERO;
68 return Ogre::Vector3::ZERO;
71 return Ogre::Vector3::ZERO;
82 #endif // UGDK_ACTION_3D_COMPONENT_SIMPLEBODY_H
void Rotate(double yaw, double pitch, double roll) override
void AddCollisionAction(short target_mask, const CollisionAction &action) override
Definition: simplebody.h:43
SimpleBody(const Ogre::Vector3 &initial_pos, const Ogre::Quaternion &initial_dir)
Definition: simplebody.h:52
short collides_with() const override
Definition: simplebody.h:61
Ogre::Vector3 linear_velocity() const override
Definition: simplebody.h:64
void Translate(double move_x, double move_y, double move_z) override
void OnTaken() override
TODO: Make this not accessible from Object.
void SetContinuousCollisionDetection(double speed_threshold, double sphere_radius) override
Definition: simplebody.h:27
Ogre::Quaternion initial_dir_
Definition: simplebody.h:49
void set_damping(double linear, double angular) override
Definition: simplebody.h:25
Ogre::Quaternion orientation() const override
void ApplyImpulse(const Ogre::Vector3 &imp)
Definition: body.h:86
Definition: animation.h:11
Ogre::Vector3 GetVelocityInPoint(const Ogre::Vector3 &point) const override
Definition: simplebody.h:70
void Scale(double factor_x, double factor_y, double factor_z) override
void set_linear_velocity(const Ogre::Vector3 &velocity) override
Definition: simplebody.h:33
void ApplyImpulse(double imp_x, double imp_y, double imp_z) override
double mass() const override
Definition: simplebody.h:55
void set_friction(double frict) override
Definition: simplebody.h:24
void set_restitution(double factor) override
Definition: simplebody.h:23
void set_angular_factor(double x_axis, double y_axis, double z_axis) override
Definition: simplebody.h:22
std::function< void(const ElementPtr &, const ElementPtr &, const ContactPointVector &) > CollisionAction
Definition: body.h:34
short collision_group() const override
Definition: simplebody.h:58
Ogre::Vector3 position() const override
Definition: component.h:36
void set_orientation(const Ogre::Vector3 &dir) override
Ogre::Vector3 angular_velocity() const override
Definition: simplebody.h:67
void SetRespondsOnContact(bool has_response) override
Definition: simplebody.h:26
Ogre::Vector3 initial_pos_
Definition: simplebody.h:48
Definition: simplebody.h:12