File indexing completed on 2024-04-21 14:45:58

0001 #include <iostream>
0002 #include <cstdlib>
0003 
0004 #include "HTMesh.h"
0005 #include "MeshBuffer.h"
0006 
0007 MeshBuffer::MeshBuffer(HTMesh *mesh)
0008 {
0009     m_size   = 0;
0010     m_error  = 0;
0011     maxSize  = mesh->size();
0012     m_buffer = (Trixel *)malloc(sizeof(Trixel) * maxSize);
0013 
0014     if (m_buffer == nullptr)
0015     {
0016         fprintf(stderr, "MeshBuffer: Could not allocate buffer sized %d\n", maxSize * (int)sizeof(Trixel));
0017         exit(1);
0018     }
0019 }
0020 
0021 MeshBuffer::~MeshBuffer()
0022 {
0023     free(m_buffer);
0024 }
0025 
0026 int MeshBuffer::append(Trixel trixel)
0027 {
0028     if (m_size >= maxSize)
0029     {
0030         m_error++;
0031         return 0;
0032     }
0033     m_buffer[m_size++] = trixel;
0034     return 1;
0035 }
0036 
0037 void MeshBuffer::fill()
0038 {
0039     for (Trixel i = 0; i < (int)maxSize; i++)
0040     {
0041         m_buffer[i] = i;
0042     }
0043     m_size = maxSize;
0044 }