Xinqi Bao's Git

README.md: updated paper url
[XbSlicer.git] / src / BufferReadBinary.hh
1 /*
2 Buffer for reading binary STL file
3 */
4 #pragma once
5
6 #include <fcntl.h>
7 #include <sys/stat.h>
8 #include <unistd.h>
9
10 #include <string>
11 //#include "Components.hh"
12
13 class BufferReadBinary
14 {
15 private:
16 char* prebuffer; // just before buffer
17 char* buffer;
18 char* phead;
19 int fn;
20 uint32_t BUFFER_SIZE = 32768; // 32K
21 uint32_t PREBUFFER_SIZE = 64;
22 uint32_t readIn;
23 uint32_t remain; // bytes that left in buffer, not enough for one triangle
24 uint32_t numTrianglesInFile;
25 uint32_t numTrianglesInBlock;
26
27 public:
28 BufferReadBinary(std::string& fileTarget);
29 ~BufferReadBinary();
30 uint32_t getNumTrianglesInFile();
31 uint32_t getNumTrianglesInBlock();
32 void step2Bytes();
33 void stepFloat();
34 float getFloat();
35 void readBuffer();
36 };