CommonLibSSE (powerof3)
hkpRigidBody.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkpEntity.h"
4 
5 namespace RE
6 {
7  class hkpRigidBody : public hkpEntity
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_hkpRigidBody;
11  inline static constexpr auto VTABLE = VTABLE_hkpRigidBody;
12 
13  ~hkpRigidBody() override; // 00
14 
15  // override (hkpEntity)
16  hkWorldOperation::Result SetShape(const hkpShape* a_shape) override; // 03
17  hkWorldOperation::Result UpdateShape(hkpShapeModifier* a_shapeModifier) override; // 04
18  hkMotionState* GetMotionState() override; // 05 - { return &motion.motionState; }
19 
20  // add
21  virtual hkpRigidBody* Clone() const; // 07
22 
23  void ApplyLinearImpulse(const hkVector4& a_impulse);
24  void SetLinearVelocity(const hkVector4& a_newVel);
25  void SetAngularVelocity(const hkVector4& a_newVel);
26  };
27  static_assert(sizeof(hkpRigidBody) == 0x2D0);
28 }
Definition: hkMotionState.h:11
Definition: hkVector4.h:9
Definition: hkpEntity.h:25
Definition: hkpRigidBody.h:8
~hkpRigidBody() override
hkWorldOperation::Result UpdateShape(hkpShapeModifier *a_shapeModifier) override
static constexpr auto VTABLE
Definition: hkpRigidBody.h:11
static constexpr auto RTTI
Definition: hkpRigidBody.h:10
void SetAngularVelocity(const hkVector4 &a_newVel)
hkWorldOperation::Result SetShape(const hkpShape *a_shape) override
void ApplyLinearImpulse(const hkVector4 &a_impulse)
void SetLinearVelocity(const hkVector4 &a_newVel)
hkMotionState * GetMotionState() override
virtual hkpRigidBody * Clone() const
Definition: hkpShape.h:32
Result
Definition: hkpWorldObject.h:21
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_hkpRigidBody
Definition: Offsets_VTABLE.h:14333
constexpr REL::ID RTTI_hkpRigidBody(static_cast< std::uint64_t >(689857))