opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
custom_rendering_option_flags.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <cstdint>
7#include <span>
8#include <utility>
9
10namespace opyn
11{
12 enum class CustomRenderingOptionFlags : uint32_t {
13 None = 0,
14 DrawFloor = 1<<0,
15 MeshNormals = 1<<1,
16 Shadows = 1<<2,
17 DrawSelectionRims = 1<<3,
19 NUM_FLAGS = 5,
20
22 };
23
25 {
26 return (std::to_underlying(lhs) & std::to_underlying(rhs)) != 0;
27 }
28
30 {
31 if (v) {
32 flags = static_cast<CustomRenderingOptionFlags>(std::to_underlying(flags) | std::to_underlying(flag));
33 }
34 else {
35 flags = static_cast<CustomRenderingOptionFlags>(std::to_underlying(flags) & ~std::to_underlying(flag));
36 }
37 }
38
40 {
41 i = i < osc::num_flags<CustomRenderingOptionFlags>() ? i : 0;
42 return static_cast<CustomRenderingOptionFlags>(1<<i);
43 }
44
50 std::span<const CustomRenderingOptionFlagsMetadata> GetAllCustomRenderingOptionFlagsMetadata();
51}
Definition c_string_view.h:12
Definition component_registry.h:14
constexpr void SetOption(CustomRenderingOptionFlags &flags, CustomRenderingOptionFlags flag, bool v)
Definition custom_rendering_option_flags.h:29
constexpr bool operator&(LandmarkCSVFlags lhs, LandmarkCSVFlags rhs)
Definition landmark_csv_flags.h:18
std::span< const CustomRenderingOptionFlagsMetadata > GetAllCustomRenderingOptionFlagsMetadata()
CustomRenderingOptionFlags
Definition custom_rendering_option_flags.h:12
constexpr CustomRenderingOptionFlags CustomRenderingIthOption(size_t i)
Definition custom_rendering_option_flags.h:39
Definition custom_rendering_option_flags.h:45
osc::CStringView id
Definition custom_rendering_option_flags.h:46
CustomRenderingOptionFlags value
Definition custom_rendering_option_flags.h:48
osc::CStringView label
Definition custom_rendering_option_flags.h:47