Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Common.hpp
1
2#pragma once
3#include <vector>
4#include <alicorn/std/string.forward.hpp>
5#include <alicorn/boost/filesystem.forward.hpp>
6#include <Covellite/Api/Renders.hpp>
7#include "IBasement.hpp"
8
9namespace basement
10{
11
29class Common :
30 public IBasement
31{
32protected:
33 using String_t = ::alicorn::extension::std::String;
34 using Path_t = ::boost::filesystem::path;
36 using Updater_t = ::covellite::api::Updater_t;
38 using ObjectId_t = ::covellite::expanse::ObjectId_t;
39 using GameObject_t = ::covellite::expanse::GameObject_t;
40
41protected:
42 class Id final
43 {
44 public:
45 String_t GetStringId(void) const;
46 bool operator< (const Id &) const;
47
48 private:
49 static size_t GetUniqueId(void);
50
51 private:
52 size_t m_Id;
53
54 public:
55 Id(void);
56 };
57
58protected:
59 static GameObject_t LoadTexture(const Path_t &, const String_t &,
60 const String_t & = uT("albedo"));
61 static GameObject_t LoadTexture(const Path_t &, const String_t &,
62 const String_t &, const int);
63 ObjectId_t CreateObject(const GameObject_t &);
64 void AddToRenderQueue(const ObjectId_t);
65
66private:
67 static GameObject_t LoadTexture(const Path_t &, const String_t &,
68 const Component_t::ComponentPtr_t &);
69
70private:
71 WindowExpanse_t * m_pWindowExpanse = nullptr;
72 ::std::vector<ObjectId_t> m_AllObjects;
73
74protected:
75 explicit Common(WindowExpanse_t &);
76 ~Common(void);
77};
78
79} // namespace basement
Definition Common.hpp:10
Класс входит в проект Covellite.Api Класс компонента.
Definition Component.hpp:35
Класс входит в проект Covellite.Expanse Интерфейс класса окна.
Definition IWindow.hpp:32
Класс входит в проект Example Класс общей логики отрисовки 3D сцены.
Definition Common.hpp:31
Класс входит в проект Example Интерфейсный класс для классов отрисовки 3D сцены.
Definition IBasement.hpp:47