LeviLamina
Loading...
Searching...
No Matches
DataDrivenGeometry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/model/GeometryPtr.h"
7#include "mc/deps/core/math/Vec3.h"
8#include "mc/deps/core/string/HashedString.h"
9#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
10#include "mc/world/actor/SkeletalHierarchyIndex.h"
11
12// auto generated forward declare list
13// clang-format off
14class BoneOrientation;
15class ModelPart;
18class RenderParams;
20class DataDrivenModel;
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 48, ::HashedString> mGeoName;
28 ::ll::TypedStorage<8, 24, ::std::vector<::ModelPart>> mModelParts;
29 ::ll::TypedStorage<8, 24, ::std::vector<uint64>> mRootModelParts;
30#ifdef LL_PLAT_S
31 ::ll::TypedStorage<1, 1, ::mce::MaterialPtr> mDefaultMaterial;
32#else // LL_PLAT_C
33 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mDefaultMaterial;
34#endif
35 ::ll::TypedStorage<4, 12, ::Vec3> mLeashOffset;
36 ::ll::TypedStorage<8, 24, ::std::vector<::SkinnedMeshGroup>> mSkinnedMeshGroups;
37 ::ll::TypedStorage<8, 24, ::std::vector<::BoneOrientation>> mDefaultBoneOrientations;
38 ::ll::TypedStorage<8, 24, ::std::vector<::ModelPartLocator>> mLocators;
39 ::ll::TypedStorage<8, 24, ::GeometryPtr> mSourceGeometry;
40 ::ll::TypedStorage<4, 4, ::SkeletalHierarchyIndex> mSkeletalHierarchyIndex;
41 ::ll::TypedStorage<1, 1, bool> mUseModelData;
42 // NOLINTEND
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47#ifdef LL_PLAT_S
48 virtual ~DataDrivenGeometry() = default;
49#else // LL_PLAT_C
50 virtual ~DataDrivenGeometry();
51#endif
52
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI_C void copyBoneMatricesToActor(
59 ::RenderParams& renderParams,
60 ::gsl::span<::BoneOrientation const> boneOrientations,
61 ::RenderController const* renderControllerId
62 );
63
64 MCAPI_C void copyTransformMatricesToModelParts(::RenderParams& renderParams);
65
66 MCAPI_C void generateBoneTransformMatrices(
67 ::RenderParams& renderParams,
68 ::gsl::span<::BoneOrientation> boneOrientations,
69 ::RenderController const* renderControllerId
70 );
71
72 MCAPI_C ::std::vector<::HashedString> getQueryableBoneOrientations() const;
73
74 MCAPI_C ::SkeletalHierarchyIndex getSkeletalHierarchyIndex() const;
75
76 MCAPI_C void setupModelPart(
77 ::DataDrivenModel& owner,
78 ::GeometryPtr sourceGeo,
79 ::std::vector<::HashedString>& nodeNames,
80 ::ModelPart& part,
81 int parentIndex
82 );
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI_C void* $ctor(::DataDrivenModel& owner, ::std::string const& name, ::GeometryPtr sourceGeo);
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
100 MCNAPI static void** $vftable();
101 // NOLINTEND
102};
Definition BoneOrientation.h:19
Definition DataDrivenGeometry.h:23
static MCAPI void ** $vftable()
Definition DataDrivenModel.h:5
Definition GeometryPtr.h:10
Definition ModelPartLocator.h:11
Definition ModelPart.h:35
Definition RenderController.h:20
Definition RenderParams.h:30
Definition SkinnedMeshGroup.h:19