LeviLamina
Loading...
Searching...
No Matches
BoneOrientation.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Matrix.h"
7#include "mc/deps/core/math/Vec3.h"
8#include "mc/deps/core/string/HashedString.h"
9#include "mc/molang/MolangVersion.h"
10#include "mc/util/molang/ExpressionNode.h"
11#include "mc/world/actor/SkeletalHierarchyIndex.h"
12#include "mc/world/actor/animation/BoneAnimationRelativeMode.h"
13#include "mc/world/actor/animation/BoneBindingMethod.h"
14#include "mc/world/actor/animation/BoneOrientationTransform.h"
15
16class BoneOrientation {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<4, 4, int> mParentBoneIndex;
21 ::ll::TypedStorage<4, 4, ::SkeletalHierarchyIndex> mParentSkeletalHierarchyIndex;
22 ::ll::TypedStorage<8, 48, ::HashedString> mName;
23 ::ll::TypedStorage<4, 64, ::Matrix> mMatrix;
24 ::ll::TypedStorage<4, 36, ::BoneOrientationTransform> mTransform;
25 ::ll::TypedStorage<4, 36, ::BoneOrientationTransform> mDefaultTransform;
26 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Matrix>> mLocalPreTransformMatrix;
27 ::ll::TypedStorage<8, 16, ::ExpressionNode> mBoneBindingExpression;
28 ::ll::TypedStorage<4, 12, ::Vec3> mPivot;
29 ::ll::TypedStorage<1, 1, ::BoneBindingMethod> mBoneBindingMethod;
30 ::ll::TypedStorage<1, 1, ::BoneAnimationRelativeMode> mRotationRelativeMode;
31 ::ll::TypedStorage<1, 1, bool> mOverrideStackMatrix;
32 // NOLINTEND
33
34#ifdef LL_PLAT_S
35public:
36 // prevent constructor by default
37 BoneOrientation();
38
39#else // LL_PLAT_C
40#endif
41public:
42 // member functions
43 // NOLINTBEGIN
44#ifdef LL_PLAT_C
45 MCAPI BoneOrientation();
46
47 MCAPI BoneOrientation(::BoneOrientation&&);
48
49 MCAPI explicit BoneOrientation(::HashedString const& boneName);
50#endif
51
52 MCAPI BoneOrientation(::BoneOrientation const& rhs);
53
54 MCAPI ::BoneOrientation& operator=(::BoneOrientation const& rhs);
55
56 MCAPI void LL_CC_V
57 rotateAndUpdateLocalPreTransformMatrix(::DirectX::XMMATRIX matrix, float rotationInDegrees, ::Vec3 const& axis);
58
59#ifdef LL_PLAT_C
60 MCAPI void setBoneBindingExpression(::std::string const& bindingExpression, ::MolangVersion molangVersion);
61
62 MCAPI void LL_CC_V updateBoneTransform(::Vec3 const* offset, ::DirectX::XMMATRIX& boneToEntitySpaceMatrix);
63#endif
64
65 MCAPI ::DirectX::XMMATRIX LL_CC_V updateLocalPreTransformMatrix();
66
67 MCAPI ~BoneOrientation();
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73#ifdef LL_PLAT_C
74 MCAPI static ::BoneOrientation& getIdentityBoneOrientation();
75#endif
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81#ifdef LL_PLAT_C
82 MCAPI void* $ctor();
83
84 MCAPI void* $ctor(::BoneOrientation&&);
85
86 MCAPI void* $ctor(::HashedString const& boneName);
87#endif
88
89 MCAPI void* $ctor(::BoneOrientation const& rhs);
90 // NOLINTEND
91
92public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCAPI void $dtor();
96 // NOLINTEND
97};
Definition HashedString.h:5
Definition Vec3.h:10