16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 03:09:18 +02:00
This commit is contained in:
milek7
2018-08-02 20:38:39 +02:00
parent f6f7fee8d8
commit e603d2fefe
22 changed files with 1007 additions and 613 deletions

View File

@@ -599,6 +599,15 @@ basic_cell::create_geometry( gfx::geometrybank_handle const &Bank ) {
m_geometrycreated = true; // helper for legacy animation code, get rid of it after refactoring
}
void basic_cell::create_map_geometry(std::vector<gfx::basic_vertex> &Bank)
{
if (!m_active)
return;
for (auto *path : m_paths)
path->create_map_geometry(Bank);
}
// executes event assigned to specified launcher
void
basic_cell::launch_event( TEventLauncher *Launcher ) {
@@ -902,6 +911,15 @@ basic_section::create_geometry() {
}
}
void basic_section::create_map_geometry(const gfx::geometrybank_handle handle)
{
std::vector<gfx::basic_vertex> lines;
for (auto &cell : m_cells)
cell.create_map_geometry(lines);
m_map_geometryhandle = GfxRenderer.Insert(lines, handle, GL_LINES);
}
// provides access to section enclosing specified point
basic_cell &
basic_section::cell( glm::dvec3 const &Location ) {
@@ -1557,6 +1575,19 @@ basic_region::section( glm::dvec3 const &Location ) {
return *section;
}
void basic_region::create_map_geometry()
{
m_map_geometrybank = GfxRenderer.Create_Bank();
for (int row = 0; row < EU07_REGIONSIDESECTIONCOUNT; row++)
for (int column = 0; column < EU07_REGIONSIDESECTIONCOUNT; column++)
{
basic_section *s = m_sections[row * EU07_REGIONSIDESECTIONCOUNT + column];
if (s)
s->create_map_geometry(m_map_geometrybank);
}
}
} // scene
//---------------------------------------------------------------------------