Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
3DScene.impl.hpp
1
2
#pragma once
3
#include <set>
4
#include <Covellite/Expanse/I3DScene.hpp>
5
#include "IProduce3DObject.impl.hpp"
6
7
namespace
covellite
8
{
9
10
namespace
expanse
11
{
12
30
class
C3DScene final :
31
public
IProduce3DObject,
32
public
I3DScene
33
{
34
using
Object_t = ::std::pair<size_t, ObjectId_t>;
35
36
public
:
37
// Интерфейс IProduce3DObject:
38
void
Add
(
const
ObjectId_t,
const
C3DObject_t &)
override
;
39
void
Remove
(
const
ObjectId_t)
override
;
40
41
public
:
42
// Интерфейс I3DScene:
43
void
Add
(
const
ObjectId_t)
override
;
44
45
public
:
46
void
Render(
void
);
47
48
private
:
49
const
C3DObject_t &
Get
(
const
ObjectId_t)
const
;
50
51
private
:
52
struct
CombinationLess
53
{
54
inline
bool
operator()(
const
Object_t & _Left,
const
Object_t & _Right)
const
noexcept
55
{
56
return
_Left.first < _Right.first;
57
}
58
};
59
60
::std::vector<C3DObject_t> m_Renders;
61
::std::vector<ObjectId_t> m_RenderQueue;
62
63
public
:
64
C3DScene(
void
);
65
C3DScene(
const
C3DScene &) =
delete
;
66
C3DScene(C3DScene &&) =
delete
;
67
C3DScene & operator= (
const
C3DScene &) =
delete
;
68
C3DScene & operator= (C3DScene &&) =
delete
;
69
~C3DScene(
void
) =
default
;
70
71
private
:
72
FRIEND_TEST(C3DScene_test,
/*DISABLED_*/
Test_Produce3DObjects);
73
};
74
75
}
// namespace expanse
76
77
}
// namespace covellite
covellite::expanse::C3DScene::Add
void Add(const ObjectId_t) override
Функция добавления идентификатора объекта в очередь рендеринга.
covellite::expanse::C3DScene::Get
const C3DObject_t & Get(const ObjectId_t) const
Функция получения набора рендеров 3D объекта по его идентификатору.
Определения
3DScene.cpp:112
covellite::expanse::C3DScene::Add
void Add(const ObjectId_t, const C3DObject_t &) override
Функция добавления 3D объекта в 3D сцену.
covellite::expanse::C3DScene::Remove
void Remove(const ObjectId_t) override
Функция удаления 3D объекта из 3D cцены.
Определения
3DScene.cpp:46
covellite::expanse::I3DScene
Класс входит в проект Covellite.Expanse Интерфейс класса 3D сцены.
Определения
I3DScene.hpp:27
Solution
Solution
Covellite.Expanse
Covellite.Expanse
3DScene.impl.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0