3#include "mc/_HeaderOutputPredefine.h"
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"
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;
47 virtual ~DataDrivenGeometry();
53 MCAPI DataDrivenGeometry(::DataDrivenModel& owner, ::std::string
const& name, ::GeometryPtr sourceGeo);
55 MCAPI
void copyTransformMatricesToModelParts(::RenderParams& renderParams);
57 MCAPI
void generateBoneTransformMatrices(
58 ::RenderParams& renderParams,
59 ::gsl::span<::BoneOrientation> boneOrientations,
60 ::RenderController
const* renderControllerId
63 MCAPI ::std::vector<::HashedString> getQueryableBoneOrientations()
const;
65 MCAPI ::SkeletalHierarchyIndex getSkeletalHierarchyIndex()
const;
67 MCAPI
void setupModelPart(
68 ::DataDrivenModel& owner,
69 ::GeometryPtr sourceGeo,
70 ::std::vector<::HashedString>& nodeNames,
79 MCAPI
void* $ctor(::DataDrivenModel& owner, ::std::string
const& name, ::GeometryPtr sourceGeo);
Definition BoneOrientation.h:19
Definition DataDrivenGeometry.h:5
static MCAPI void ** $vftable()
Definition DataDrivenModel.h:5
Definition ModelPartLocator.h:11
Definition RenderController.h:5
Definition RenderParams.h:30
Definition SkinnedMeshGroup.h:5