voxelman/meshers/transvoxel_cell_data.h

35 lines
871 B
C++

#ifndef TRANSVOXEL_CELL_DATA_H
#define TRANSVOXEL_CELL_DATA_H
#include "core/reference.h"
#include "transvoxel_tables.h"
using namespace Transvoxel;
class TransvoxelCellData : public Reference {
GDCLASS(TransvoxelCellData, Reference)
public:
int get_vertex_index(int index) const;
void set_vertex_index(int index, int value);
int get_vertex_count() const;
void set_vertex_count(int value);
int get_triangle_count() const;
void set_triangle_count(int value);
TransvoxelCellData();
TransvoxelCellData(const RegularCellData &cell_data);
TransvoxelCellData(const TransitionCellData &cell_data);
~TransvoxelCellData();
protected:
static void _bind_methods();
private:
long geometryCounts; // High nibble is vertex count, low nibble is triangle count.
unsigned char vertexIndex[36]; // Groups of 3 indexes giving the triangulation.
};
#endif