2019-09-07 21:56:35 +02:00
|
|
|
#ifndef FE_OBJECT
|
|
|
|
#define FE_OBJECT
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-18 18:51:26 +02:00
|
|
|
#include "space.h"
|
|
|
|
#include "triangle.h"
|
2019-09-07 19:57:20 +02:00
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
|
2019-09-07 21:56:35 +02:00
|
|
|
struct fe_object
|
2019-09-07 19:57:20 +02:00
|
|
|
{
|
2019-09-07 21:56:35 +02:00
|
|
|
fe_triangle * faces;
|
2019-09-07 19:57:20 +02:00
|
|
|
uint32_t f_size;
|
|
|
|
bool f_owner;
|
2019-09-18 18:51:26 +02:00
|
|
|
fe_ivertex * points;
|
2019-09-07 19:57:20 +02:00
|
|
|
uint32_t p_size;
|
|
|
|
bool p_owner;
|
|
|
|
};
|
2019-09-07 21:56:35 +02:00
|
|
|
typedef struct fe_object fe_object;
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-07 21:56:35 +02:00
|
|
|
void fe_object_init(fe_object * object);
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-18 18:51:26 +02:00
|
|
|
void fe_object_set_points(fe_object * object, fe_ivertex * points, uint32_t n, bool copy);
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-07 21:56:35 +02:00
|
|
|
void fe_object_set_faces(fe_object * object, fe_triangle * faces, uint32_t n, bool copy);
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-07 21:56:35 +02:00
|
|
|
void fe_object_delete(fe_object * object);
|
2019-09-07 19:57:20 +02:00
|
|
|
|
2019-09-07 21:56:35 +02:00
|
|
|
void fe_object_display(fe_object * object);
|
2019-09-07 20:01:58 +02:00
|
|
|
|
2019-09-18 18:51:26 +02:00
|
|
|
void fe_object_debug(const fe_object * object);
|
|
|
|
|
|
|
|
fe_ipoint* fe_object_get_vertex(const fe_object * object, const int n);
|
|
|
|
|
2019-09-07 19:57:20 +02:00
|
|
|
#endif
|