载入中...
搜索中...
未找到
src
modules
procgen
Semantic.cpp
浏览该文件的文档.
1
#include "
procgen/Semantic.h
"
2
3
#include <unordered_map>
4
5
namespace
eve::procgen
{
6
namespace
{
7
8
const
std::unordered_map<std::string, uint32_t> &nameToId() {
9
static
const
std::unordered_map<std::string, uint32_t>
m
= {
10
{
"empty"
,
Semantic::Empty
}, {
"wall"
,
Semantic::Wall
},
11
{
"floor"
,
Semantic::Floor
}, {
"corridor"
,
Semantic::Corridor
},
12
{
"water"
,
Semantic::Water
}, {
"sand"
,
Semantic::Sand
},
13
{
"grass"
,
Semantic::Grass
}, {
"dirt"
,
Semantic::Dirt
},
14
{
"stone"
,
Semantic::Stone
}, {
"snow"
,
Semantic::Snow
},
15
{
"door"
,
Semantic::Door
},
16
};
17
return
m
;
18
}
19
20
}
// namespace
21
22
const
char
*
semanticName
(uint32_t
id
) {
23
switch
(
id
) {
24
case
Semantic::Empty
:
return
"empty"
;
25
case
Semantic::Wall
:
return
"wall"
;
26
case
Semantic::Floor
:
return
"floor"
;
27
case
Semantic::Corridor
:
return
"corridor"
;
28
case
Semantic::Water
:
return
"water"
;
29
case
Semantic::Sand
:
return
"sand"
;
30
case
Semantic::Grass
:
return
"grass"
;
31
case
Semantic::Dirt
:
return
"dirt"
;
32
case
Semantic::Stone
:
return
"stone"
;
33
case
Semantic::Snow
:
return
"snow"
;
34
case
Semantic::Door
:
return
"door"
;
35
default
:
return
"unknown"
;
36
}
37
}
38
39
uint32_t
semanticId
(
const
std::string &
name
) {
40
auto
it = nameToId().find(
name
);
41
return
it == nameToId().end() ?
Semantic::Empty
: it->second;
42
}
43
44
}
// namespace eve::procgen
name
const char * name
Definition
RockMesh.cpp:21
Semantic.h
m
float m[16]
Definition
VirtualGeometryRenderer.cpp:18
eve::procgen::Semantic::Floor
constexpr uint32_t Floor
Definition
Semantic.h:12
eve::procgen::Semantic::Grass
constexpr uint32_t Grass
Definition
Semantic.h:16
eve::procgen::Semantic::Stone
constexpr uint32_t Stone
Definition
Semantic.h:18
eve::procgen::Semantic::Wall
constexpr uint32_t Wall
Definition
Semantic.h:11
eve::procgen::Semantic::Sand
constexpr uint32_t Sand
Definition
Semantic.h:15
eve::procgen::Semantic::Dirt
constexpr uint32_t Dirt
Definition
Semantic.h:17
eve::procgen::Semantic::Corridor
constexpr uint32_t Corridor
Definition
Semantic.h:13
eve::procgen::Semantic::Empty
constexpr uint32_t Empty
Definition
Semantic.h:10
eve::procgen::Semantic::Door
constexpr uint32_t Door
Definition
Semantic.h:20
eve::procgen::Semantic::Water
constexpr uint32_t Water
Definition
Semantic.h:14
eve::procgen::Semantic::Snow
constexpr uint32_t Snow
Definition
Semantic.h:19
eve::procgen
Definition
BuiltinAlgorithms.cpp:13
eve::procgen::semanticId
uint32_t semanticId(const std::string &name)
Definition
Semantic.cpp:39
eve::procgen::semanticName
const char * semanticName(uint32_t id)
Definition
Semantic.cpp:22