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#ifdef LL_PLAT_C
55 MCFOLD ::ExpressionNode const* getBoneBindingExpression() const;
56
57 MCAPI ::BoneBindingMethod getBoneBindingMethod() const;
58
59 MCAPI ::BoneOrientationTransform& getDefaultTransform();
60
61 MCFOLD ::Matrix const& getMatrix() const;
62#endif
63
64 MCFOLD ::HashedString const& getName() const;
65
66 MCFOLD ::Vec3 const& getPivot() const;
67
68 MCFOLD ::Vec3& getPivot();
69
70#ifdef LL_PLAT_C
71 MCAPI ::BoneAnimationRelativeMode getRotationRelativeMode() const;
72
73 MCFOLD ::BoneOrientationTransform const& getTransform() const;
74#endif
75
76 MCAPI ::BoneOrientation& operator=(::BoneOrientation const& rhs);
77
78#ifdef LL_PLAT_C
79 MCAPI void setBoneBindingExpression(::std::string const& bindingExpression, ::MolangVersion molangVersion);
80
81 MCAPI void setBoneBindingMethod(::BoneBindingMethod boneBindingMethod);
82
83 MCAPI void setDefaultTransform(::BoneOrientationTransform const& transform);
84
85 MCAPI void setMatrix(::Matrix const& matrix);
86
87 MCAPI void setOverrideStackMatrix(bool arg);
88
89 MCFOLD void setPivot(::Vec3 const& pivot);
90
91 MCAPI void setTransform(::BoneOrientationTransform const& transform);
92
93 MCAPI void updateBoneTransform(::Vec3 const* offset, ::DirectX::XMMATRIX& boneToEntitySpaceMatrix);
94#endif
95
96 MCAPI ::DirectX::XMMATRIX updateLocalPreTransformMatrix();
97
98 MCAPI ~BoneOrientation();
99 // NOLINTEND
100
101public:
102 // static functions
103 // NOLINTBEGIN
104#ifdef LL_PLAT_C
105 MCAPI static ::BoneOrientation& getIdentityBoneOrientation();
106#endif
107 // NOLINTEND
108
109public:
110 // constructor thunks
111 // NOLINTBEGIN
112#ifdef LL_PLAT_C
113 MCAPI void* $ctor();
114
115 MCAPI void* $ctor(::BoneOrientation&&);
116
117 MCAPI void* $ctor(::HashedString const& boneName);
118#endif
119
120 MCAPI void* $ctor(::BoneOrientation const& rhs);
121 // NOLINTEND
122
123public:
124 // destructor thunk
125 // NOLINTBEGIN
126 MCAPI void $dtor();
127 // NOLINTEND
128};
Definition BoneOrientationTransform.h:8
Definition HashedString.h:5
Definition Matrix.h:10
Definition Vec3.h:10