aboutsummaryrefslogtreecommitdiff
path: root/src/mtx_qhull/zhull.h
blob: 2a20768a5a96fd499d4bf34a9ef77e2a9439730b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef QHULL_ZHULL_H
#define QHULL_ZHULL_H

#include <sys/types.h>
#include "list.h"
#include "vectors.h"

typedef struct facet_ {
    plane_t plane;
    list_t corners;
    list_t outsideset;
    list_t insideset;
    size_t farthest_outside_point;
    list_t neighbors;
    float maxdistance;
} facet_t;

typedef struct zhull_ {
    points_t pts;
    list_t facets;
    list_t facets_with_outsidepoints;
    list_t facets_with_insidepoints;
} zhull_t;

void calculateZHull(zhull_t *zh,int maxit);
void printZhull(const zhull_t * const  zh);
void freeZhull(zhull_t *zh);
zhull_t zhullInitPoints(const float *x, const float *y, 
        const float *z, const size_t num_points);
void printFacet(const zhull_t * const zh, 
      const facet_t * const f);

facet_t *getFacetByIndex(const list_t facets, const index_t index);

#endif /* QHULL_ZHULL_H */