Plasma Engine  2.0
Loading...
Searching...
No Matches
AimIKComponent.h
1#pragma once
2
3#include <Core/World/ComponentManager.h>
4#include <GameEngine/GameEngineDLL.h>
5#include <RendererCore/AnimationSystem/AnimationPose.h>
6
8
10{
11 plHashedString m_sJointName;
12 float m_fWeight = 1.0f;
13};
14
15PL_DECLARE_REFLECTABLE_TYPE(PL_GAMEENGINE_DLL, plIkJointEntry);
16
17class PL_GAMEENGINE_DLL plAimIKComponent : public plComponent
18{
19 PL_DECLARE_COMPONENT_TYPE(plAimIKComponent, plComponent, plAimIKComponentManager);
20
22 // plComponent
23
24public:
25 virtual void SerializeComponent(plWorldWriter& inout_stream) const override;
26 virtual void DeserializeComponent(plWorldReader& inout_stream) override;
27
29 // plAimIKComponent
30
31public:
34
35 plEnum<plBasisAxis> m_ForwardVector = plBasisAxis::PositiveX;
36 plEnum<plBasisAxis> m_UpVector = plBasisAxis::PositiveZ;
37 float m_fWeight = 1.0f;
38 //plVec3 m_vPoleTarget = plVec3::MakeZero();
40
41protected:
42 void OnMsgAnimationPoseGeneration(plMsgAnimationPoseGeneration& msg) const; // [ msg handler ]
43};
Definition AimIKComponent.h:18
Base class of all component types.
Definition Component.h:25
virtual void SerializeComponent(plWorldWriter &inout_stream) const
Override this to save the current state of the component to the given stream.
Definition Component.cpp:54
virtual void DeserializeComponent(plWorldReader &inout_stream)
Override this to load the current state of the component from the given stream.
Definition Component.cpp:58
Definition ComponentManager.h:88
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition AimIKComponent.h:10
Definition Declarations.h:54