17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 20:19:20 +02:00
Files
maszyna/betterRenderer/renderer/source/rt_model.h
maj00r 02c6e6895e cover the units that are not module units
The template-header propagation only walked files with a module
declaration, so EU07.cpp, windows.cpp, export_e3d_standalone.cpp and
every betterRenderer source were outside it - including the file with
main(). They reach cParser and friends through eu07.simcore and
instantiate their templates without the headers those bodies name.

Adds audit_modules.py, which checks the whole tree for the seven classes
this migration hit; all seven are clean now.
2026-09-10 02:04:06 +02:00

38 lines
930 B
C++

#pragma once
#include <memory>
#include "nvrenderer/nvrenderer.h"
// TSubModel/TModel3d are owned by the simulation core; a forward
// declaration here would be a second, conflicting declaration.
#include <array>
#include <chrono>
#include <cstddef>
#include <deque>
#include <limits>
#include <mutex>
#include <ostream>
#include <sstream>
#include <string>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
import eu07.simcore;
import eu07.glm;
namespace Rt {
struct IRtModel {
virtual TSubModel const* Intersect(NvRenderer::Renderable const& renderable,
glm::dvec3 const& ro,
glm::dvec3 const& rd) const {
return nullptr;
}
virtual ~IRtModel() = default;
};
std::shared_ptr<IRtModel> CreateRtModel(TModel3d const* src,
NvRenderer const* owner);
} // namespace Rt