Toast Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
voxel_mesh.hpp
Go to the documentation of this file.
1
7
8
#pragma once
9
#include "
voxel_piece.hpp
"
10
11
namespace
assets {
12
class
VoxelPalette
;
13
}
14
15
namespace
toast {
16
18
class
[[ToastNode, Icon(
"MeshItem"
)]] TOAST_API
VoxelMesh
:
public
VoxelPiece
{
19
public
:
20
[[nodiscard,
Reflect
]]
21
auto
getModel()
const
->
const
assets::Handle<assets::VoxelModel>
&;
22
24
[[
Reflect
]]
25
void
setModel
(
assets::Handle<assets::VoxelModel>
model);
26
28
[[nodiscard,
Reflect
]]
29
auto
getPalette
()
const
->
const
assets::Handle<assets::VoxelPalette>
&;
30
31
[[
Reflect
]]
32
void
setPalette(
assets::Handle<assets::VoxelPalette>
palette);
33
34
[[nodiscard]]
35
auto
sourcePaletteUid
()
const
-> uint64_t
override
;
36
38
[[nodiscard]]
39
auto
resolvedModel
()
const
->
const
assets::VoxelModel
*;
40
41
protected
:
42
auto
prepareGrid
() -> std::unique_ptr<voxel::Volume>
override
;
43
auto
pieceSize
() -> glm::ivec3
override
;
44
45
[[
Reflect
, Name(
"Model"
)]]
46
assets::Handle<assets::VoxelModel>
m_model;
47
48
[[
Reflect
, Name(
"Palette Override"
)]]
49
assets::Handle<assets::VoxelPalette>
m_palette;
50
};
51
52
}
assets::Handle
Type-safe smart pointer for assets.
Definition
core_types.hpp:149
assets::VoxelModel
Definition
voxel_model.hpp:43
assets::VoxelPalette
Definition
voxel_palette.hpp:40
toast::Reflect
Definition
reflect.hpp:244
toast::VoxelMesh
Definition
voxel_mesh.hpp:18
toast::VoxelMesh::setModel
void setModel(assets::Handle< assets::VoxelModel > model)
Definition
voxel_mesh.cpp:16
toast::VoxelMesh::sourcePaletteUid
auto sourcePaletteUid() const -> uint64_t override
Definition
voxel_mesh.cpp:30
toast::VoxelMesh::resolvedModel
auto resolvedModel() const -> const assets::VoxelModel *
Definition
voxel_mesh.cpp:38
toast::VoxelMesh::pieceSize
auto pieceSize() -> glm::ivec3 override
Definition
voxel_mesh.cpp:42
toast::VoxelMesh::getPalette
auto getPalette() const -> const assets::Handle< assets::VoxelPalette > &
Definition
voxel_mesh.cpp:21
toast::VoxelMesh::prepareGrid
auto prepareGrid() -> std::unique_ptr< voxel::Volume > override
Definition
voxel_mesh.cpp:47
toast::VoxelPiece
Definition
voxel_piece.hpp:41
voxel_piece.hpp
Base of everything a ProceduralVoxel builds itself from.
engine
src
toast
voxel
nodes
voxel_mesh.hpp
Generated by
1.17.0