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();
32
33public:
34 // member functions
35 // NOLINTBEGIN
37
39
40 MCNAPI VoxelShape(
45 );
46
47 MCNAPI ::VoxelShapes::VoxelShape computeFaceShape(uchar face) const;
48
49 MCNAPI ::VoxelShapes::VoxelShape& operator=(::VoxelShapes::VoxelShape&&);
50
51 MCNAPI ::VoxelShapes::VoxelShape& operator=(::VoxelShapes::VoxelShape const&);
52
53 MCNAPI bool operator==(::VoxelShapes::VoxelShape const& rhs) const;
54
55 MCNAPI void rotate(::Vec3 const& rotationDegrees, ::Vec3 const& rotationPivot);
56
57 MCNAPI ::std::vector<::AABB> toAabbs() const;
58
59 MCNAPI ::VoxelShapes::SerializableVoxelShape toSerializable() const;
60
61 MCNAPI ~VoxelShape();
62 // NOLINTEND
63
64public:
65 // static functions
66 // NOLINTBEGIN
67 MCNAPI static ::VoxelShapes::VoxelShape
68 createCuboidShape(float xMin, float yMin, float zMin, float xMax, float yMax, float zMax);
69
70 MCNAPI static ::VoxelShapes::VoxelShape createEmptyShape();
71
72 MCNAPI static ::VoxelShapes::VoxelShape createShapeFromAabbs(::gsl::span<::AABB const> boxes);
73
74 MCNAPI static ::VoxelShapes::VoxelShape fromSerializable(::VoxelShapes::SerializableVoxelShape const& serializable);
75
76 MCNAPI static ::VoxelShapes::VoxelShape join(
77 ::VoxelShapes::VoxelShape const& first,
78 ::VoxelShapes::VoxelShape const& second,
79 ::VoxelShapes::JoinOperation operation
80 );
81
82#ifdef LL_PLAT_C
83 MCNAPI static bool joinIsNotEmpty(
84 ::VoxelShapes::VoxelShape const& first,
85 ::VoxelShapes::VoxelShape const& second,
86 ::VoxelShapes::JoinOperation operation
87 );
88#endif
89
90 MCNAPI static ::VoxelShapes::VoxelShape joinUnoptimized(
91 ::VoxelShapes::VoxelShape const& first,
92 ::VoxelShapes::VoxelShape const& second,
93 ::VoxelShapes::JoinOperation operation
94 );
95
96 MCNAPI static ::VoxelShapes::VoxelShape transform(
98 ::Vec3 const& scale,
99 ::Vec3 const& scalePivot,
100 ::Vec3 const& rotation,
101 ::Vec3 const& rotationPivot,
102 ::Vec3 const& translation
103 );
104 // NOLINTEND
105
106public:
107 // static variables
108 // NOLINTBEGIN
109 MCNAPI static ::VoxelShapes::VoxelShape const& emptyShape();
110
111 MCNAPI static ::VoxelShapes::VoxelShape const& unitCubeShape();
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
118
119 MCNAPI void* $ctor(::VoxelShapes::VoxelShape const&);
120
121 MCNAPI void* $ctor(
126 );
127 // NOLINTEND
128
129public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCNAPI void $dtor();
133 // NOLINTEND
134};
135
136} // 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 ::std::vector<::AABB > toAabbs() const
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)
MCAPI::VoxelShapes::VoxelShape & operator=(::VoxelShapes::VoxelShape const &)
Definition SerializableVoxelShape.h:7
Definition Alias.h:14