3#include <RendererCore/RendererCoreDLL.h>
5#include <Foundation/Reflection/Reflection.h>
6#include <Foundation/Strings/HashedString.h>
7#include <Foundation/Types/VariantTypeRegistry.h>
8#include <RendererCore/AnimationSystem/Declarations.h>
13namespace ozz::animation
36 float m_fThickness = 0;
56 const char* GetName()
const;
57 void SetName(
const char* szSz);
70 float m_fStiffness = 0.0f;
73 plAngle m_TwistLimitCenterAngle;
86 bool m_bOverrideSurface =
false;
87 bool m_bOverrideCollisionLayer =
false;
89 plUInt8 m_uiCollisionLayerOverride;
102 void GenerateRawOzzSkeleton(ozz::animation::offline::RawSkeleton& out_skeleton)
const;
103 void GenerateOzzSkeleton(ozz::animation::Skeleton& out_skeleton)
const;
110 plUInt8 m_uiCollisionLayer = 0;
112 float m_fUniformScaling = 1.0f;
113 float m_fMaxImpulse = 100.0f;
117 bool m_bFlipForwardDir =
false;
140 PL_ALWAYS_INLINE
static plUInt32 Hash(
const plExposedBone& value)
148PL_DECLARE_REFLECTABLE_TYPE(PL_RENDERERCORE_DLL,
plExposedBone);
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
Definition DynamicArray.h:81
Definition EditableSkeleton.h:93
Definition EditableSkeleton.h:49
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
static plUInt32 xxHash32(const void *pKey, size_t uiSizeInByte, plUInt32 uiSeed=0)
Calculates the 32bit xxHash of the given key.
Definition HashingUtils.cpp:209
static constexpr plUInt32 xxHash32String(const char(&str)[N], plUInt32 uiSeed=0)
Calculates the 32bit xxHash of the given string literal at compile time.
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
static const plQuatTemplate< float > MakeIdentity()
Definition Quat_inl.h:29
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
The skeleton builder class provides the means to build skeleton instances from scratch....
Definition SkeletonBuilder.h:10
The skeleton class encapsulates the information about the joint structure for a model.
Definition Skeleton.h:75
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
static plVec3Template< float > MakeZero()
Definition Vec3.h:38
Definition EditableSkeleton.h:40
Definition EditableSkeleton.h:26
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition EditableSkeleton.h:124
Helper struct to calculate the Hash of different types.
Definition HashingUtils.h:75
What shape is used to approximate a bone's geometry.
Definition Declarations.h:26
Definition SkeletonResource.h:24