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 DataDrivenModel;
16class ModelPart;
19class RenderParams;
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 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mDefaultMaterial;
31 ::ll::TypedStorage<4, 12, ::Vec3> mLeashOffset;
32 ::ll::TypedStorage<8, 24, ::std::vector<::SkinnedMeshGroup>> mSkinnedMeshGroups;
33 ::ll::TypedStorage<8, 24, ::std::vector<::BoneOrientation>> mDefaultBoneOrientations;
34 ::ll::TypedStorage<8, 24, ::std::vector<::ModelPartLocator>> mLocators;
35 ::ll::TypedStorage<8, 24, ::GeometryPtr> mSourceGeometry;
36 ::ll::TypedStorage<4, 4, ::SkeletalHierarchyIndex> mSkeletalHierarchyIndex;
37 ::ll::TypedStorage<1, 1, bool> mUseModelData;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 DataDrivenGeometry();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~DataDrivenGeometry();
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI DataDrivenGeometry(::DataDrivenModel& owner, ::std::string const& name, ::GeometryPtr sourceGeo);
54
55 MCAPI void clear();
56
57 MCAPI void copyBoneMatricesToActor(
58 ::RenderParams& renderParams,
59 ::gsl::span<::BoneOrientation const> boneOrientations,
60 ::RenderController const* renderControllerId
61 );
62
63 MCAPI void copyBoneMatricesToSkinnedMeshes(
64 ::RenderParams& renderParams,
65 ::gsl::span<::BoneOrientation const> boneOrientations,
66 ::RenderController const* renderControllerId
67 );
68
69 MCAPI void copyTransformMatricesToModelParts(::RenderParams& renderParams);
70
71 MCFOLD ::std::vector<::BoneOrientation> const& getDefaultBoneOrientations() const;
72
73 MCFOLD ::std::vector<::BoneOrientation>& getDefaultBoneOrientations();
74
75 MCFOLD ::std::vector<::ModelPart> const& getModelParts() const;
76
77 MCFOLD ::std::vector<::ModelPart>& getModelParts();
78
79 MCFOLD ::HashedString const& getName() const;
80
81 MCAPI ::std::vector<::HashedString> getQueryableBoneOrientations() const;
82
83 MCAPI ::SkeletalHierarchyIndex getSkeletalHierarchyIndex() const;
84
85 MCFOLD ::std::vector<::SkinnedMeshGroup>& getSkinnedMeshGroups();
86
87 MCAPI ::GeometryPtr const getSourceGeometry() const;
88
89 MCAPI void setupModelPart(
90 ::DataDrivenModel& owner,
91 ::GeometryPtr sourceGeo,
92 ::std::vector<::HashedString>& nodeNames,
93 ::ModelPart& part,
94 int parentIndex
95 );
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(::DataDrivenModel& owner, ::std::string const& name, ::GeometryPtr sourceGeo);
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109
110public:
111 // vftables
112 // NOLINTBEGIN
113 MCNAPI static void** $vftable();
114 // NOLINTEND
115};
Definition BoneOrientation.h:16
Definition DataDrivenGeometry.h:5
static MCAPI void ** $vftable()
Definition DataDrivenModel.h:5
Definition ModelPartLocator.h:11
Definition ModelPart.h:5
Definition RenderController.h:5
Definition RenderParams.h:30
Definition SkinnedMeshGroup.h:5