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;
12namespace ClimateUtils { struct TargetSpace; }
13// clang-format on
14
15class RTree {
16public:
17 // RTree inner types declare
18 // clang-format off
19 struct Hint;
20 class Node;
21 // clang-format on
22
23 // RTree inner types define
24 class Node {
25 public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 112, ::std::array<::ClimateUtils::Parameter, 7>> mParameterSpace;
29 ::ll::TypedStorage<8, 24, ::std::vector<::RTree::Node>> mChildren;
30 ::ll::TypedStorage<8, 16, ::std::optional<::Biome const*>> mBiome;
31 ::ll::TypedStorage<8, 8, int64> mTotalMagnitude;
32 // NOLINTEND
33
34 public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI void
38 search(::ClimateUtils::TargetSpace const& target, ::std::pair<::RTree::Node const*, int64>& closestLeaf) const;
39
40 MCAPI ~Node();
41 // NOLINTEND
42
43 public:
44 // static functions
45 // NOLINTBEGIN
46 MCAPI static ::std::optional<::RTree::Node> branch(::std::vector<::RTree::Node>&& children);
47
48 MCAPI static ::std::vector<::RTree::Node> bucketize(::std::vector<::RTree::Node>&& nodes);
49
50 MCAPI static void sort(::std::vector<::RTree::Node>& children, int dimension, bool absolute);
51 // NOLINTEND
52
53 public:
54 // destructor thunk
55 // NOLINTBEGIN
56 MCFOLD void $dtor();
57 // NOLINTEND
58 };
59
60 struct Hint {
61 public:
62 // member variables
63 // NOLINTBEGIN
64 ::ll::TypedStorage<8, 8, ::RTree::Node const*> node;
65 // NOLINTEND
66 };
67
68public:
69 // member variables
70 // NOLINTBEGIN
71 ::ll::TypedStorage<8, 160, ::RTree::Node const> mRoot;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI ~RTree();
78 // NOLINTEND
79
80public:
81 // static functions
82 // NOLINTBEGIN
83 MCAPI static ::std::optional<::RTree::Node> build(::std::vector<::RTree::Node>&& children);
84
85 MCAPI static ::std::optional<::RTree> create(::std::vector<::BiomeNoiseTarget> const& biomes);
86 // NOLINTEND
87
88public:
89 // destructor thunk
90 // NOLINTBEGIN
91 MCFOLD void $dtor();
92 // NOLINTEND
93};
Definition Biome.h:23
Definition RTree.h:24
Definition RTree.h:15
Definition BiomeNoiseTarget.h:13
Definition TargetSpace.h:7
Definition RTree.h:60