CommonLibSSE NG
hkaAnimationControl.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/H/hkArray.h"
6 
7 namespace RE
8 {
9  class hkaAnimationControlListener;
10  class hkaChunkCache;
11 
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_hkaAnimationControl;
16  inline static constexpr auto VTABLE = VTABLE_hkaAnimationControl;
17 
18  ~hkaAnimationControl() override; // 00
19 
20  // add
21  virtual void Update(float a_stepDelta) = 0; // 03
22  virtual void GetFutureTime(float a_stepDelta, float& a_localTimeOut, std::int32_t& a_loopsOut) const = 0; // 04
23  virtual void SampleTracks(hkQsTransform* a_transformTracksOut, float* a_floatTracksOut, hkaChunkCache* a_cache) const; // 05
24  virtual void SamplePartialTracks(std::uint32_t a_maxNumTransformTracks, hkQsTransform* a_transformTracksOut, std::uint32_t a_maxNumFloatTracks, float* a_floatTracksOut, hkaChunkCache* a_cache) const; // 06
25  virtual void GetExtractedMotionDeltaReferenceFrame(float a_deltaTime, hkQsTransform& a_deltaMotionOut) const; // 07
26  virtual std::int32_t GetNumberOfTransformTracks() const; // 08
27  virtual std::int32_t GetNumberOfFloatTracks() const; // 09
28  virtual std::int32_t GetNumTransformTrackToBoneIndices() const; // 0A
29  virtual const std::int16_t* GetTransformTrackToBoneIndices() const; // 0B
30  virtual std::int32_t GetNumFloatTrackToFloatSlotIndices() const; // 0C
31  virtual const std::int16_t* GetFloatTrackToFloatSlotIndices() const; // 0D
32 
33  // members
34  float localTime; // 10
35  float weight; // 14
40  float motionTrackWeight; // 50
41  std::uint32_t pad54; // 54
42  };
43  static_assert(sizeof(hkaAnimationControl) == 0x58);
44 }
Definition: hkQsTransform.h:9
Definition: hkReferencedObject.h:11
Definition: hkaAnimationBinding.h:12
Definition: hkaAnimationControl.h:13
virtual void GetExtractedMotionDeltaReferenceFrame(float a_deltaTime, hkQsTransform &a_deltaMotionOut) const
std::uint32_t pad54
Definition: hkaAnimationControl.h:41
virtual const std::int16_t * GetFloatTrackToFloatSlotIndices() const
float weight
Definition: hkaAnimationControl.h:35
virtual void Update(float a_stepDelta)=0
hkArray< std::uint8_t > floatTrackWeights
Definition: hkaAnimationControl.h:37
float motionTrackWeight
Definition: hkaAnimationControl.h:40
virtual std::int32_t GetNumFloatTrackToFloatSlotIndices() const
virtual const std::int16_t * GetTransformTrackToBoneIndices() const
static constexpr auto RTTI
Definition: hkaAnimationControl.h:15
virtual void SampleTracks(hkQsTransform *a_transformTracksOut, float *a_floatTracksOut, hkaChunkCache *a_cache) const
virtual std::int32_t GetNumberOfTransformTracks() const
hkaAnimationBinding * binding
Definition: hkaAnimationControl.h:38
virtual std::int32_t GetNumTransformTrackToBoneIndices() const
virtual void GetFutureTime(float a_stepDelta, float &a_localTimeOut, std::int32_t &a_loopsOut) const =0
hkArray< std::uint8_t > transformTrackWeights
Definition: hkaAnimationControl.h:36
float localTime
Definition: hkaAnimationControl.h:34
hkArray< hkaAnimationControlListener > listeners
Definition: hkaAnimationControl.h:39
~hkaAnimationControl() override
static constexpr auto VTABLE
Definition: hkaAnimationControl.h:16
virtual void SamplePartialTracks(std::uint32_t a_maxNumTransformTracks, hkQsTransform *a_transformTracksOut, std::uint32_t a_maxNumFloatTracks, float *a_floatTracksOut, hkaChunkCache *a_cache) const
virtual std::int32_t GetNumberOfFloatTracks() const
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_hkaAnimationControl(690061, 397916, 0x1f5c748)
constexpr std::array< REL::VariantID, 1 > VTABLE_hkaAnimationControl
Definition: Offsets_VTABLE.h:5211