LeviLamina
Loading...
Searching...
No Matches
VoxelShape.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/small_vector.h"
7#include "mc/deps/voxel_shapes/JoinOperation.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Vec3;
13namespace VoxelShapes { class Cells; }
14namespace VoxelShapes { struct SerializableVoxelShape; }
15// clang-format on
16
17namespace VoxelShapes {
18
19class VoxelShape {
20public:
21 // member variables
22 // NOLINTBEGIN
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 VoxelShape& operator=(VoxelShape const&);
32 VoxelShape();
33
34public:
35 // member functions
36 // NOLINTBEGIN
38
40
41 MCNAPI VoxelShape(
46 );
47
48 MCNAPI ::VoxelShapes::VoxelShape computeFaceShape(uchar face) const;
49
50#ifdef LL_PLAT_C
51 MCNAPI bool isEmpty() const;
52
53 MCNAPI bool isUnitCube() const;
54#endif
55
56 MCNAPI ::VoxelShapes::VoxelShape& operator=(::VoxelShapes::VoxelShape&&);
57
58 MCNAPI bool operator==(::VoxelShapes::VoxelShape const& rhs) const;
59
60 MCNAPI void rotate(::Vec3 const& rotationDegrees, ::Vec3 const& rotationPivot);
61
62 MCNAPI ::VoxelShapes::SerializableVoxelShape toSerializable() const;
63
64 MCNAPI ~VoxelShape();
65 // NOLINTEND
66
67public:
68 // static functions
69 // NOLINTBEGIN
70 MCNAPI static ::VoxelShapes::VoxelShape
71 createCuboidShape(float xMin, float yMin, float zMin, float xMax, float yMax, float zMax);
72
73 MCNAPI static ::VoxelShapes::VoxelShape createEmptyShape();
74
75 MCNAPI static ::VoxelShapes::VoxelShape createShapeFromAabbs(::gsl::span<::AABB const> boxes);
76
77 MCNAPI static ::VoxelShapes::VoxelShape fromSerializable(::VoxelShapes::SerializableVoxelShape const& serializable);
78
79 MCNAPI static ::VoxelShapes::VoxelShape join(
80 ::VoxelShapes::VoxelShape const& first,
81 ::VoxelShapes::VoxelShape const& second,
82 ::VoxelShapes::JoinOperation operation
83 );
84
85#ifdef LL_PLAT_C
86 MCNAPI static bool joinIsNotEmpty(
87 ::VoxelShapes::VoxelShape const& first,
88 ::VoxelShapes::VoxelShape const& second,
89 ::VoxelShapes::JoinOperation operation
90 );
91#endif
92
93 MCNAPI static ::VoxelShapes::VoxelShape joinUnoptimized(
94 ::VoxelShapes::VoxelShape const& first,
95 ::VoxelShapes::VoxelShape const& second,
96 ::VoxelShapes::JoinOperation operation
97 );
98
99 MCNAPI static ::VoxelShapes::VoxelShape transform(
101 ::Vec3 const& scale,
102 ::Vec3 const& scalePivot,
103 ::Vec3 const& rotation,
104 ::Vec3 const& rotationPivot,
105 ::Vec3 const& translation
106 );
107 // NOLINTEND
108
109public:
110 // static variables
111 // NOLINTBEGIN
112 MCNAPI static ::VoxelShapes::VoxelShape const& emptyShape();
113
114 MCNAPI static ::VoxelShapes::VoxelShape const& unitCubeShape();
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
121
122 MCNAPI void* $ctor(::VoxelShapes::VoxelShape const&);
123
124 MCNAPI void* $ctor(
129 );
130 // NOLINTEND
131
132public:
133 // destructor thunk
134 // NOLINTBEGIN
135 MCNAPI void $dtor();
136 // NOLINTEND
137};
138
139} // namespace VoxelShapes
Definition AABB.h:18
Definition small_vector.h:8
Definition Vec3.h:10
Definition Cells.h:19
Definition VoxelShape.h:19
static MCAPI ::VoxelShapes::VoxelShape const & unitCubeShape()
MCAPI VoxelShape(::VoxelShapes::Cells cells, ::Bedrock::small_vector< float, 12 > xCoords, ::Bedrock::small_vector< float, 12 > yCoords, ::Bedrock::small_vector< float, 12 > zCoords)
MCAPI VoxelShape(::VoxelShapes::VoxelShape const &)
static MCAPI ::VoxelShapes::VoxelShape createEmptyShape()
MCAPI::VoxelShapes::SerializableVoxelShape toSerializable() const
MCAPI void * $ctor(::VoxelShapes::VoxelShape const &)
MCAPI VoxelShape(::VoxelShapes::VoxelShape &&)
MCAPI void * $ctor(::VoxelShapes::Cells cells, ::Bedrock::small_vector< float, 12 > xCoords, ::Bedrock::small_vector< float, 12 > yCoords, ::Bedrock::small_vector< float, 12 > zCoords)
MCAPI void * $ctor(::VoxelShapes::VoxelShape &&)
MCAPI void rotate(::Vec3 const &rotationDegrees, ::Vec3 const &rotationPivot)
MCAPI bool operator==(::VoxelShapes::VoxelShape const &rhs) const
static MCAPI ::VoxelShapes::VoxelShape const & emptyShape()
static MCAPI ::VoxelShapes::VoxelShape createShapeFromAabbs(::gsl::span<::AABB const > boxes)
MCAPI::VoxelShapes::VoxelShape computeFaceShape(uchar face) const
static MCAPI ::VoxelShapes::VoxelShape joinUnoptimized(::VoxelShapes::VoxelShape const &first, ::VoxelShapes::VoxelShape const &second, ::VoxelShapes::JoinOperation operation)
MCAPI::VoxelShapes::VoxelShape & operator=(::VoxelShapes::VoxelShape &&)
static MCAPI ::VoxelShapes::VoxelShape transform(::VoxelShapes::VoxelShape shape, ::Vec3 const &scale, ::Vec3 const &scalePivot, ::Vec3 const &rotation, ::Vec3 const &rotationPivot, ::Vec3 const &translation)
static MCAPI ::VoxelShapes::VoxelShape join(::VoxelShapes::VoxelShape const &first, ::VoxelShapes::VoxelShape const &second, ::VoxelShapes::JoinOperation operation)
static MCAPI ::VoxelShapes::VoxelShape fromSerializable(::VoxelShapes::SerializableVoxelShape const &serializable)
static MCAPI ::VoxelShapes::VoxelShape createCuboidShape(float xMin, float yMin, float zMin, float xMax, float yMax, float zMax)
Definition SerializableVoxelShape.h:7
Definition Alias.h:14