LeviLamina
Loading...
Searching...
No Matches
RTree.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/biome/climate_utils/Parameter.h"
7
8// auto generated forward declare list
9// clang-format off
10class Biome;
11struct BiomeNoiseTarget;
13namespace ClimateUtils { struct TargetSpace; }
14// clang-format on
15
16class RTree {
17public:
18 // RTree inner types declare
19 // clang-format off
20 class Node;
21 struct Hint;
22 // clang-format on
23
24 // RTree inner types define
25 class Node {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 112, ::std::array<::ClimateUtils::Parameter, 7>> mParameterSpace;
30 ::ll::TypedStorage<8, 24, ::std::vector<::RTree::Node>> mChildren;
31 ::ll::TypedStorage<8, 16, ::std::optional<::Biome const*>> mBiome;
32 ::ll::TypedStorage<8, 8, int64> mTotalMagnitude;
33 // NOLINTEND
34
35 public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI void
39 search(::ClimateUtils::TargetSpace const& target, ::std::pair<::RTree::Node const*, int64>& closestLeaf) const;
40 // NOLINTEND
41
42 public:
43 // static functions
44 // NOLINTBEGIN
45 MCAPI static ::std::optional<::RTree::Node> branch(::std::vector<::RTree::Node>&& children);
46
47 MCAPI static ::std::vector<::RTree::Node> bucketize(::std::vector<::RTree::Node>&& nodes);
48
49 MCAPI static ::RTree::Node leaf(::ClimateParameters const& climateParameters, ::Biome const* biome);
50
51 MCAPI static void sort(::std::vector<::RTree::Node>& children, int dimension, bool absolute);
52 // NOLINTEND
53 };
54
55 struct Hint {
56 public:
57 // member variables
58 // NOLINTBEGIN
59 ::ll::TypedStorage<8, 8, ::RTree::Node const*> node;
60 // NOLINTEND
61 };
62
63public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 160, ::RTree::Node const> mRoot;
67 // NOLINTEND
68
69public:
70 // static functions
71 // NOLINTBEGIN
72 MCAPI static ::std::optional<::RTree::Node> build(::std::vector<::RTree::Node>&& children);
73
74 MCAPI static ::std::optional<::RTree> create(::std::vector<::BiomeNoiseTarget> const& biomes);
75 // NOLINTEND
76};
Definition Biome.h:24
Definition RTree.h:25
Definition RTree.h:16
Definition BiomeNoiseTarget.h:13
Definition ClimateParameters.h:13
Definition TargetSpace.h:7
Definition RTree.h:55