33 #define FMT_HEADER_ONLY 1 34 #define FMT_STRING_ALIAS 1 38 #ifndef FMT_USE_WINDOWS_H 39 #define FMT_USE_WINDOWS_H 0 41 #include <fmt/format.h> 45 namespace visualization {
76 static const std::uint16_t kBadId = 0;
79 inline size_t Hash()
const {
80 return static_cast<std::uint16_t
>(
type) << 16 |
id;
84 return id == other.
id && type == other.
type;
92 return Hash() < other.
Hash();
95 explicit operator bool()
const {
return id != kBadId; }
99 std::uint16_t
GetId()
const {
return id; }
103 : type(aType), id(aId) {}
108 std::uint16_t
id = kBadId;
115 template <EntityType entityType>
120 const auto index =
static_cast<std::uint16_t
>(entityType);
121 auto id = ++uid_table[index];
131 if (
abstract.
type != entityType) {
150 template <EntityType entityType>
187 template <
typename FormatContext>
189 FormatContext& ctx) {
190 return format_to(ctx.out(),
"[{}, {}, hash: {}]",
196 template <
typename ParseContext>
197 constexpr
auto parse(ParseContext& ctx) {
REHandle< EntityType::Geometry > GeometryHandle
Definition: RendererHandle.h:155
std::ostream & operator<<(std::ostream &os, const REHandle_abstract &uid)
Definition: RendererHandle.cpp:38
REHandle< EntityType::Camera > CameraHandle
Definition: RendererHandle.h:159
REHandle_abstract(const EntityType aType, const std::uint16_t aId)
Definition: RendererHandle.h:102
REHandle_abstract()
Definition: RendererHandle.h:97
static REHandle Concretize(const REHandle_abstract &abstract)
Definition: RendererHandle.h:130
REHandle()
Definition: RendererHandle.h:139
REHandle & operator=(const REHandle &other)
Definition: RendererHandle.h:144
REHandle(std::uint16_t id)
Definition: RendererHandle.h:142
Definition: RendererHandle.h:116
Definition: Optional.h:912
bool operator==(const PointXYZ A, const PointXYZ B)
Definition: Cloud.h:151
REHandle< EntityType::Material > MaterialHandle
Definition: RendererHandle.h:160
std::uint16_t GetId() const
Definition: RendererHandle.h:99
REHandle< EntityType::MaterialInstance > MaterialInstanceHandle
Definition: RendererHandle.h:161
const EntityType type
Definition: RendererHandle.h:77
bool operator<(const REHandle_abstract &other) const
Definition: RendererHandle.h:91
REHandle< EntityType::Scene > SceneHandle
Definition: RendererHandle.h:154
REHandle< EntityType::RenderTarget > RenderTargetHandle
Definition: RendererHandle.h:163
EntityType
Definition: RendererHandle.h:49
REHandle< EntityType::Texture > TextureHandle
Definition: RendererHandle.h:162
static REHandle Next()
Definition: RendererHandle.h:119
static const char * TypeToString(EntityType type)
Definition: RendererHandle.cpp:44
char type
Definition: FilePCD.cpp:60
REHandle< EntityType::IndirectLight > IndirectLightHandle
Definition: RendererHandle.h:157
bool operator==(const REHandle_abstract &other) const
Definition: RendererHandle.h:83
REHandle< EntityType::Light > LightHandle
Definition: RendererHandle.h:156
Definition: PinholeCameraIntrinsic.cpp:35
REHandle(const REHandle &other)
Definition: RendererHandle.h:140
filament::Texture::InternalFormat format
Definition: FilamentResourceManager.cpp:199
REHandle< EntityType::View > ViewHandle
Definition: RendererHandle.h:153
static const std::uint16_t kBadId
Definition: RendererHandle.h:76
REHandle< EntityType::Skybox > SkyboxHandle
Definition: RendererHandle.h:158
std::uint16_t id
Definition: RendererHandle.h:108
REHandle< EntityType::VertexBuffer > VertexBufferHandle
Definition: RendererHandle.h:164
Definition: RendererHandle.h:73
REHandle< EntityType::IndexBuffer > IndexBufferHandle
Definition: RendererHandle.h:165
size_t Hash() const
Definition: RendererHandle.h:79
bool operator!=(const REHandle_abstract &other) const
Definition: RendererHandle.h:87
static const REHandle kBad
Definition: RendererHandle.h:117