Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::AnimationSystem Class Referencefinal

#include <AnimationSystem.h>

+ Inheritance diagram for Divide::AnimationSystem:

Public Member Functions

 AnimationSystem (ECS::ECSEngine &parentEngine, PlatformContext &context)
 
void PreUpdate (F32 dt) override
 
void Update (F32 dt) override
 
void PostUpdate (F32 dt) override
 
bool saveCache (const SceneGraphNode *sgn, ByteBuffer &outputBuffer) override
 
bool loadCache (SceneGraphNode *sgn, ByteBuffer &inputBuffer) override
 
void toggleAnimationState (bool state) noexcept
 
bool getAnimationState () const noexcept
 
- Public Member Functions inherited from Divide::PlatformContextComponent
 PlatformContextComponent (PlatformContext &context) noexcept
 
virtual ~PlatformContextComponent ()=default
 
PlatformContextcontext () noexcept
 
const PlatformContextcontext () const noexcept
 
- Public Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
- Public Member Functions inherited from Divide::ECSSystem< AnimationSystem, AnimationComponent >
 ECSSystem (ECS::ECSEngine &engine)
 
virtual ~ECSSystem () override=default
 
virtual bool saveCache (const SceneGraphNode *sgn, ByteBuffer &outputBuffer)
 
virtual bool loadCache (SceneGraphNode *sgn, ByteBuffer &inputBuffer)
 
void PreUpdate (F32 dt) override
 
void Update (F32 dt) override
 
void PostUpdate (F32 dt) override
 
void OnFrameStart () override
 
void OnFrameEnd () override
 
ECS::ISystemSerializerGetSerializer () noexcept override
 
const ECS::ISystemSerializerGetSerializer () const noexcept override
 
- Public Member Functions inherited from ECS::System< T >
virtual ~System () override
 
virtual SystemTypeId GetStaticSystemTypeID () const override
 
virtual const char * GetSystemTypeName () const override
 
template<class... Dependencies>
void AddDependencies (Dependencies &&... dependencies)
 
virtual void PreUpdate (f32 dt) override
 
virtual void Update (f32 dt) override
 
virtual void PostUpdate (f32 dt) override
 
virtual void OnFrameStart () override
 
virtual void OnFrameEnd () override
 
- Public Member Functions inherited from ECS::ISystem
virtual ~ISystem ()
 
virtual SystemTypeId GetStaticSystemTypeID () const =0
 
virtual const char * GetSystemTypeName () const =0
 
virtual void PreUpdate (f32 dt)=0
 
virtual void Update (f32 dt)=0
 
virtual void PostUpdate (f32 dt)=0
 
virtual void OnFrameStart ()=0
 
virtual void OnFrameEnd ()=0
 
virtual ISystemSerializerGetSerializer ()=0
 
virtual const ISystemSerializerGetSerializer () const =0
 

Private Types

using Parent = ECSSystem< AnimationSystem, AnimationComponent >
 

Additional Inherited Members

- Static Public Attributes inherited from ECS::System< T >
static const SystemTypeId STATIC_SYSTEM_TYPE_ID = util::Internal::FamilyTypeID<ISystem>::Get<T>()
 
- Protected Member Functions inherited from Divide::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Member Functions inherited from ECS::System< T >
 System ()
 
- Protected Member Functions inherited from ECS::ISystem
 ISystem (SystemPriority priority=NORMAL_SYSTEM_PRIORITY, f32 updateInterval_ms=-1.0f)
 
- Protected Attributes inherited from Divide::PlatformContextComponent
PlatformContext_context
 
- Protected Attributes inherited from Divide::ECSSystem< AnimationSystem, AnimationComponent >
ECS::ECSEngine_engine
 
ECSSerializer< AnimationSystem, AnimationComponent_serializer
 
vector< AnimationComponent * > _componentCache
 

Detailed Description

Definition at line 41 of file AnimationSystem.h.

Member Typedef Documentation

◆ Parent

Constructor & Destructor Documentation

◆ AnimationSystem()

Divide::AnimationSystem::AnimationSystem ( ECS::ECSEngine parentEngine,
PlatformContext context 
)

Definition at line 8 of file AnimationSystem.cpp.

Member Function Documentation

◆ getAnimationState()

bool Divide::AnimationSystem::getAnimationState ( ) const
noexcept

Definition at line 129 of file AnimationSystem.cpp.

◆ loadCache()

bool Divide::AnimationSystem::loadCache ( SceneGraphNode sgn,
ByteBuffer inputBuffer 
)
overridevirtual

Reimplemented from Divide::ECSSystem< AnimationSystem, AnimationComponent >.

Definition at line 109 of file AnimationSystem.cpp.

◆ PostUpdate()

void Divide::AnimationSystem::PostUpdate ( F32  dt)
override

Definition at line 75 of file AnimationSystem.cpp.

◆ PreUpdate()

void Divide::AnimationSystem::PreUpdate ( F32  dt)
override

Definition at line 14 of file AnimationSystem.cpp.

◆ saveCache()

bool Divide::AnimationSystem::saveCache ( const SceneGraphNode sgn,
ByteBuffer outputBuffer 
)
overridevirtual

Reimplemented from Divide::ECSSystem< AnimationSystem, AnimationComponent >.

Definition at line 93 of file AnimationSystem.cpp.

◆ toggleAnimationState()

void Divide::AnimationSystem::toggleAnimationState ( bool  state)
noexcept

Definition at line 124 of file AnimationSystem.cpp.

◆ Update()

void Divide::AnimationSystem::Update ( F32  dt)
override

Use CCD to move target joints to target positions

Use PhysX actor from RigidBodyComponent to feed new bone positions/orientation And read back ragdoll results to update transforms accordingly

Definition at line 31 of file AnimationSystem.cpp.


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