JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
QuadRecorder.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <string>
7#include <vector>
8
10
15
16namespace hmi {
17
37public:
42 void record(const ComposedScene& scene);
43
45 void clear() noexcept;
46
48 [[nodiscard]] const std::vector<ComposedQuad>& quads() const noexcept {
49 return _quads;
50 }
51
53 [[nodiscard]] std::size_t size() const noexcept {
54 return _quads.size();
55 }
56
58 [[nodiscard]] const SceneStatistics& statistics() const noexcept {
59 return _statistics;
60 }
61
67 [[nodiscard]] bool isLayerOrderRespected() const;
68
79 [[nodiscard]] bool areTextureGroupsContiguous() const;
80
85 [[nodiscard]] std::vector<RenderLayer> layerSequence() const;
86
92 [[nodiscard]] std::vector<TextureHandle> textureSequence() const;
93
99 [[nodiscard]] int countOnLayer(RenderLayer layer) const;
100
106 [[nodiscard]] int countWithTexture(TextureHandle texture) const;
107
115 [[nodiscard]] bool containsSpriteAt(float x, float y, float tolerance = 1e-4f) const;
116
121 [[nodiscard]] std::string describe() const;
122
123private:
124 std::vector<ComposedQuad> _quads;
126};
127
128} // namespace hmi
Composition du rendu : liste ordonnée des primitives d'une image, sans GPU (EX-NFR-004,...
Liste ordonnée des primitives d'une image, indépendante de Direct3D.
Definition ComposedScene.h:134
Capture la liste des primitives d'une image et répond aux questions qu'un test se pose.
Definition QuadRecorder.h:36
void clear() noexcept
Oublie la capture courante.
Definition QuadRecorder.cpp:18
std::vector< ComposedQuad > _quads
Definition QuadRecorder.h:124
std::size_t size() const noexcept
Definition QuadRecorder.h:53
void record(const ComposedScene &scene)
Capture l'état d'une scène composée (copie : la scène peut ensuite être réutilisée).
Definition QuadRecorder.cpp:12
SceneStatistics _statistics
Definition QuadRecorder.h:125
int countOnLayer(RenderLayer layer) const
Nombre de primitives capturées sur un calque donné.
Definition QuadRecorder.cpp:78
bool areTextureGroupsContiguous() const
Vérifie que chaque texture forme un seul groupe contigu par calque (EX-REN-043).
Definition QuadRecorder.cpp:39
int countWithTexture(TextureHandle texture) const
Nombre de primitives capturées liées à une texture donnée.
Definition QuadRecorder.cpp:85
const std::vector< ComposedQuad > & quads() const noexcept
Definition QuadRecorder.h:48
std::vector< TextureHandle > textureSequence() const
Suite des textures liées, sans répétition consécutive : une entrée par passe begin/end.
Definition QuadRecorder.cpp:67
bool isLayerOrderRespected() const
Vérifie que l'ordre des calques est respecté (EX-REN-014).
Definition QuadRecorder.cpp:27
const SceneStatistics & statistics() const noexcept
Definition QuadRecorder.h:58
std::vector< RenderLayer > layerSequence() const
Suite des calques rencontrés, sans répétition consécutive.
Definition QuadRecorder.cpp:56
bool containsSpriteAt(float x, float y, float tolerance=1e-4f) const
Cherche un rectangle composé à une position monde donnée.
Definition QuadRecorder.cpp:92
std::string describe() const
Résumé lisible de la capture, à joindre au message d'échec d'une assertion.
Definition QuadRecorder.cpp:100
Definition AudioEngine.cpp:15
void * TextureHandle
Identité opaque d'une texture liée, du point de vue de la composition.
Definition RenderLayer.h:107
RenderLayer
Calques de dessin, du plus arrière au plus avant (EX-REN-014, EX-DEC-002).
Definition RenderLayer.h:42
Compteurs d'une image composée, pour l'observabilité du volume soumis (EX-NFR-005).
Definition ComposedScene.h:92