| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #pragma once
- namespace SparseVoxelTreePerformanceTest
- {
- inline int EncodeIndex(int x, int y, int z);
-
- public class Level4
- {
- unsigned char X;
- unsigned char Y;
- unsigned char Z;
- unsigned int* Children;
- void Subdivide();
- int EncodeIndex(unsigned char x, unsigned char y, unsigned char z);
- public:
- unsigned int Voxel;
- Level4(unsigned char x, unsigned char y, unsigned char z, int voxel);
- ~Level4();
- int GetVoxel(unsigned char x, unsigned char y, unsigned char z);
- void SetVoxel(unsigned char x, unsigned char y, unsigned char z, int voxel);
- int GetMemoryUsage();
- bool Compact();
- };
- public class Level8
- {
- unsigned char X;
- unsigned char Y;
- unsigned char Z;
- Level4* Children;
- void Subdivide();
- int EncodeIndex(unsigned char x, unsigned char y, unsigned char z);
- public:
- unsigned int Voxel;
- Level8(unsigned char x, unsigned char y, unsigned char z, int voxel);
- ~Level8();
- int GetVoxel(unsigned char x, unsigned char y, unsigned char z);
- void SetVoxel(unsigned char x, unsigned char y, unsigned char z, int voxel);
- int GetMemoryUsage();
- bool Compact();
- };
- public class Level16
- {
- unsigned char X;
- unsigned char Y;
- unsigned char Z;
- Level8* Children;
- void Subdivide();
- int EncodeIndex(unsigned char x, unsigned char y, unsigned char z);
- public:
- unsigned int Voxel;
- Level16(unsigned char x, unsigned char y, unsigned char z, int voxel);
- ~Level16();
- int GetVoxel(unsigned char x, unsigned char y, unsigned char z);
- void SetVoxel(unsigned char x, unsigned char y, unsigned char z, int voxel);
- int GetMemoryUsage();
- bool Compact();
- };
- public ref class Chunk
- {
- unsigned int Voxel;
- Level16* Children;
- void Subdivide();
- int EncodeIndex(unsigned char x, unsigned char y, unsigned char z);
- public:
- Chunk(int voxel);
- ~Chunk();
- int GetVoxel(unsigned char x, unsigned char y, unsigned char z);
- void SetVoxel(unsigned char x, unsigned char y, unsigned char z, int voxel);
- int GetMemoryUsage();
- void Compact();
- };
- }
|