CommonLibSSE (Parapets fork)
RE::NiInterpController Class Referenceabstract

#include <NiInterpController.h>

Inheritance diagram for RE::NiInterpController:
RE::NiTimeController RE::NiObject RE::NiRefObject RE::NiMultiTargetTransformController

Public Member Functions

 ~NiInterpController () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
virtual std::uint16_t GetInterpolatorCount () const =0
 
virtual const char * GetInterpolatorID (std::uint16_t a_index=0)=0
 
virtual std::uint16_t GetInterpolatorIndex (const char *a_id) const =0
 
virtual std::uint16_t GetInterpolatorIndexFx (const BSFixedString &a_id) const =0
 
virtual NiInterpolatorGetInterpolator (std::uint16_t a_index=0) const =0
 
virtual void SetInterpolator (NiInterpolator *a_interpolator, std::uint16_t a_index=0)=0
 
virtual void ResetTimeExtrema ()
 
virtual const char * GetCtlrID ()
 
virtual NiInterpolatorCreatePoseInterpolator (std::uint16_t a_index)=0
 
virtual void SynchronizePoseInterpolator (NiInterpolator *a_interp, std::uint16_t a_index=0)=0
 
virtual NiBlendInterpolator * CreateBlendInterpolator (std::uint16_t a_index=0, bool a_managerControlled=false, bool a_accumulateAnimations=false, float a_weightThreshold=0.0, std::uint8_t a_arraySize=2) const =0
 
virtual void GuaranteeTimeRange (float a_startTime, float a_endTime)=0
 
virtual bool InterpolatorIsCorrectType (NiInterpolator *a_interpolator, std::uint16_t a_index) const =0
 
- Public Member Functions inherited from RE::NiTimeController
 NiTimeController ()
 
 ~NiTimeController () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
virtual void Start (float a_time)
 
virtual void Stop ()
 
virtual void Update (float a_time)=0
 
virtual void SetTarget (NiObjectNET *a_target)
 
virtual bool IsTransformController () const
 
virtual bool IsVertexController () const
 
virtual float ComputeScaledTime (float a_time)
 
virtual void OnPreDisplay ()
 
virtual bool IsStreamable () const
 
virtual bool TargetIsRequiredType () const =0
 
constexpr NiTimeControllerGetNext () const noexcept
 
- Public Member Functions inherited from RE::NiObject
 ~NiObject () override=default
 
virtual NiNodeAsNode ()
 
virtual NiSwitchNode * AsSwitchNode ()
 
virtual BSFadeNodeAsFadeNode ()
 
virtual BSMultiBoundNodeAsMultiBoundNode ()
 
virtual BSGeometryAsGeometry ()
 
virtual NiTriStrips * AsTriStrips ()
 
virtual BSTriShapeAsTriShape ()
 
virtual BSSegmentedTriShape * AsSegmentedTriShape ()
 
virtual BSSubIndexTriShape * AsSubIndexTriShape ()
 
virtual BSDynamicTriShape * AsDynamicTriShape ()
 
virtual NiGeometry * AsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShape * AsNiTriShape ()
 
virtual NiParticles * AsParticlesGeom ()
 
virtual BSLines * AsLinesGeom ()
 
virtual bhkNiCollisionObjectAsBhkNiCollisionObject ()
 
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject ()
 
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject ()
 
virtual bhkRigidBodyAsBhkRigidBody ()
 
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint ()
 
virtual NiObjectCreateClone ([[maybe_unused]] NiCloningProcess &a_cloning)
 
virtual void LoadBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void LinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual void SaveBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void PostLinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroup * GetGroup () const
 
virtual void SetGroup ([[maybe_unused]] NiObjectGroup *a_group)
 
virtual NiControllerManagerAsNiControllerManager ()
 
void CreateDeepCopy (NiPointer< NiObject > &a_object)
 
- Public Member Functions inherited from RE::NiRefObject
 NiRefObject ()
 
virtual ~NiRefObject ()
 
virtual void DeleteThis ()
 
void IncRefCount ()
 
void DecRefCount ()
 
constexpr std::uint32_t GetRefCount () const noexcept
 
 TES_HEAP_REDEFINE_NEW ()
 

Static Public Attributes

static constexpr auto RTTI = RTTI_NiInterpController
 
static constexpr auto Ni_RTTI = NiRTTI_NiInterpController
 
- Static Public Attributes inherited from RE::NiTimeController
static constexpr auto RTTI = RTTI_NiTimeController
 
static constexpr auto Ni_RTTI = NiRTTI_NiTimeController
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static constexpr auto Ni_RTTI = NiRTTI_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 

Additional Inherited Members

- Public Types inherited from RE::NiTimeController
enum class  CycleType { kLoop , kReverse , kClamp , kTotal }
 
enum class  Flag {
  kAnimType_AppTime = 0 << 0 , kAnimType_AppInit = 1 << 0 , kAnimType_Mask = 1 , kCycleType_Loop = 0 << 1 ,
  kCycleType_Reverse = 1 << 1 , kCycleType_Clamp = 2 << 1 , kCycleType_Mask = 6 , kActive = 1 << 3 ,
  kPlayBackwards = 1 << 4 , kManagerControlled = 1 << 5 , kComputeScaledTime = 1 << 6 , kForceUpdate = 1 << 7
}
 
- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 
- Public Attributes inherited from RE::NiTimeController
stl::enumeration< Flag, std::uint16_t > flags
 
std::uint16_t pad12
 
float frequency
 
float phase
 
float loKeyTime
 
float hiKeyTime
 
float startTime
 
float lastTime
 
float weightedLastTime
 
float scaledTime
 
std::uint32_t pad34
 
NiObjectNETtarget
 
NiPointer< NiTimeControllernext
 
- Public Attributes inherited from RE::NiRefObject
volatile std::uint32_t _refCount { 0 }
 
std::uint32_t _pad0C { 0 }
 

Constructor & Destructor Documentation

◆ ~NiInterpController()

RE::NiInterpController::~NiInterpController ( )
override

Member Function Documentation

◆ CreateBlendInterpolator()

virtual NiBlendInterpolator* RE::NiInterpController::CreateBlendInterpolator ( std::uint16_t  a_index = 0,
bool  a_managerControlled = false,
bool  a_accumulateAnimations = false,
float  a_weightThreshold = 0.0,
std::uint8_t  a_arraySize = 2 
) const
pure virtual

◆ CreatePoseInterpolator()

virtual NiInterpolator* RE::NiInterpController::CreatePoseInterpolator ( std::uint16_t  a_index)
pure virtual

◆ GetCtlrID()

virtual const char* RE::NiInterpController::GetCtlrID ( )
virtual

◆ GetInterpolator()

virtual NiInterpolator* RE::NiInterpController::GetInterpolator ( std::uint16_t  a_index = 0) const
pure virtual

◆ GetInterpolatorCount()

virtual std::uint16_t RE::NiInterpController::GetInterpolatorCount ( ) const
pure virtual

◆ GetInterpolatorID()

virtual const char* RE::NiInterpController::GetInterpolatorID ( std::uint16_t  a_index = 0)
pure virtual

◆ GetInterpolatorIndex()

virtual std::uint16_t RE::NiInterpController::GetInterpolatorIndex ( const char *  a_id) const
pure virtual

◆ GetInterpolatorIndexFx()

virtual std::uint16_t RE::NiInterpController::GetInterpolatorIndexFx ( const BSFixedString a_id) const
pure virtual

◆ GetRTTI()

const NiRTTI* RE::NiInterpController::GetRTTI ( ) const
overridevirtual

Reimplemented from RE::NiObject.

Reimplemented in RE::NiMultiTargetTransformController.

◆ GuaranteeTimeRange()

virtual void RE::NiInterpController::GuaranteeTimeRange ( float  a_startTime,
float  a_endTime 
)
pure virtual

◆ InterpolatorIsCorrectType()

virtual bool RE::NiInterpController::InterpolatorIsCorrectType ( NiInterpolator a_interpolator,
std::uint16_t  a_index 
) const
pure virtual

◆ IsEqual()

bool RE::NiInterpController::IsEqual ( NiObject a_object)
overridevirtual

Reimplemented from RE::NiObject.

Reimplemented in RE::NiMultiTargetTransformController.

◆ LinkObject()

void RE::NiInterpController::LinkObject ( NiStream a_stream)
override

◆ LoadBinary()

void RE::NiInterpController::LoadBinary ( NiStream a_stream)
override

◆ RegisterStreamables()

bool RE::NiInterpController::RegisterStreamables ( NiStream a_stream)
overridevirtual

Reimplemented from RE::NiObject.

Reimplemented in RE::NiMultiTargetTransformController.

◆ ResetTimeExtrema()

virtual void RE::NiInterpController::ResetTimeExtrema ( )
virtual

◆ SaveBinary()

void RE::NiInterpController::SaveBinary ( NiStream a_stream)
override

◆ SetInterpolator()

virtual void RE::NiInterpController::SetInterpolator ( NiInterpolator a_interpolator,
std::uint16_t  a_index = 0 
)
pure virtual

◆ SynchronizePoseInterpolator()

virtual void RE::NiInterpController::SynchronizePoseInterpolator ( NiInterpolator a_interp,
std::uint16_t  a_index = 0 
)
pure virtual

Member Data Documentation

◆ Ni_RTTI

constexpr auto RE::NiInterpController::Ni_RTTI = NiRTTI_NiInterpController
inlinestaticconstexpr

◆ RTTI

constexpr auto RE::NiInterpController::RTTI = RTTI_NiInterpController
inlinestaticconstexpr

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