-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaze-export.h
33 lines (28 loc) · 1.09 KB
/
maze-export.h
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
/*
* maze-export.h
* MazeCubeGen: maze cube generator
*
* Copyright (c) 2020-2023 Bryan Franklin. All rights reserved.
*/
#ifndef MAZE_EXPORT_H
#define MAZE_EXPORT_H
#include "maze.h"
typedef struct maze_output_opts {
double scale;
double edgeWidth;
int separateMarkers;
} maze_output_opts_t;
/* export maze shape to an STL file */
int maze_export_stl(maze_t *maze, char *filename, maze_output_opts_t *opts);
int maze_export_stl_printable(maze_t *maze, char *filename, maze_output_opts_t *opts);
int maze_export_stl_flat(maze_t *maze, char *filename, maze_output_opts_t *opts);
int maze_export_stl_solution(maze_t *maze, char *filename, maze_output_opts_t *opts);
/* export maze shape as series of triangles */
void *maze_export_trig_list(maze_t *maze);
void maze_export_trig_list_free(void *list);
int maze_export_num_dims(void *list);
int maze_export_num_trigs(void *list);
float maze_export_vertex_dim(void *list, int trig, int vertex, int dim);
float maze_export_normal_dim(void *list, int trig, int vertex, int dim);
int maze_export_groupid(void *list, int trig);
#endif /* MAZE_EXPORT_H */