Files
comaps/drape/index_buffer_mutator.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

39 lines
857 B
C++

#include "drape/index_buffer_mutator.hpp"
#include "drape/vertex_array_buffer.hpp"
#include <algorithm>
#include <cstring>
namespace dp
{
IndexBufferMutator::IndexBufferMutator(uint32_t baseSize)
{
m_buffer.Resize(baseSize);
}
void IndexBufferMutator::AppendIndexes(void const * indexes, uint32_t count)
{
uint32_t dstActiveSize = m_activeSize + count;
if (dstActiveSize > m_buffer.Size())
m_buffer.Resize(std::max(m_buffer.Size() * 2, dstActiveSize));
memcpy(m_buffer.GetRaw(m_activeSize), indexes, count * IndexStorage::SizeOfIndex());
m_activeSize = dstActiveSize;
}
void const * IndexBufferMutator::GetIndexes() const
{
return m_buffer.GetRawConst();
}
uint32_t IndexBufferMutator::GetIndexCount() const
{
return m_activeSize;
}
uint32_t IndexBufferMutator::GetCapacity() const
{
return m_buffer.Size();
}
} // namespace dp