voxelman/meshers/transvoxel_uv_mesher/transvoxel_cell_data.h

35 lines
859 B
C
Raw Normal View History

2019-09-04 18:33:19 +02:00
#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;
2020-01-09 04:29:05 +01:00
void set_vertex_index(int index, int value);
2019-09-04 18:33:19 +02:00
int get_vertex_count() const;
2020-01-09 04:29:05 +01:00
void set_vertex_count(int value);
2019-09-04 18:33:19 +02:00
int get_triangle_count() const;
2020-01-09 04:29:05 +01:00
void set_triangle_count(int value);
2019-09-04 18:33:19 +02:00
TransvoxelCellData();
TransvoxelCellData(const RegularCellData &cell_data);
2020-01-09 04:29:05 +01:00
TransvoxelCellData(const TransitionCellData &cell_data);
2019-09-04 18:33:19 +02:00
~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