forked from versenaut/quelsolaar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
la_tool.h
108 lines (77 loc) · 3.36 KB
/
la_tool.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/* la_tool_cloapse.c */
extern void la_t_collapse_two_vertexes(uint vertex_a, uint vertex_b);
extern void la_t_collapse_selected_vertexes(void);
extern void la_t_weld_selected_vertexes(void);
/* la_tool_draw.c */
extern void la_t_init_draw_line(void);
extern void la_t_new_draw_line(void);
extern void la_t_draw_line_add(float x, float y, boolean add);
extern boolean la_t_draw_select_menu_test(void);
typedef enum{
SM_SELECT,
SM_DESELECT,
SM_SUB,
SM_ADD
}SelectionMode;
extern boolean la_t_draw_line_test_delete(void);
extern boolean la_t_draw_line_draw_delete_overlay(void);
extern boolean la_t_draw_line_test_select(SelectionMode mode);
/* la_tool_edge_connector.c */
extern void la_t_init_edge_connector(void);
extern boolean la_t_edge_connector(uint *edge);
/* la_tool_manipulator.c */
extern void la_t_tm_init(void);
extern void la_t_tm_place(double x, double y, double z);
extern void la_t_tm_get_pos(double *pos);
extern void la_t_tm_get_vector(double *vector);
extern void la_t_tm_hide(boolean hide);
extern void la_t_tm_draw(BInputState *input, boolean active);
extern boolean la_t_tm_grab(BInputState *input);
extern void la_t_tm_view_center(void);
extern boolean la_t_tm_test_center(BInputState *input);
extern void la_t_tm_manipulate(BInputState *input, double *snap, uint snap_type);
extern void grab_one_vertex(BInputState *input, uint id, double *pos);
/* la_tool_poly_select.c */
extern void la_t_face_vector(double *origo, double *vector, uint v0, uint v1, uint v2);
extern void la_t_extrude(uint vertex_count, void (*func)(double *output, uint vertex_id, void *data), void *data);
extern void la_t_detach_selected_polygons(void);
extern void la_t_duplicate_selected_polygons(void);
extern void la_t_flip_selected_polygons(void);
extern void la_t_mirror(double *pos, double *vector);
extern void la_t_flatten(double *origo, double *vector);
extern void la_t_delete_selection(void);
/* la_tool_reshape.c */
extern void la_t_reshape_hull_start(BInputState *input, uint *edge);
extern void la_t_reshape_hull(BInputState *input);
extern void la_t_reshape_hull_draw(void);
extern void la_t_select_hull(uint *edge);
/* la_tool_revolve.c */
extern void la_t_revolve(uint *start_edge, uint revolve);
extern void la_t_tube(uint *start_edge, uint revolve);
extern void la_t_select_open_edge(void);
extern void la_t_crease_selected(uint32 crease_value);
/* la_tool_select.c */
extern uint la_t_poly_test(BInputState *input, double *mid, double *normal);
extern void la_t_poly_select(uint polygon);
extern void la_t_smooth_select(void);
/* la_tool_split.c */
extern void la_t_edge_splitter_start(BInputState *input, uint *edge);
extern void la_t_edge_splitter(BInputState *input);
extern void la_t_poly_spliter(uint id);
/* la_tool_deply.c */
extern void la_t_deploy(uint poly);
extern void la_t_polygon_select_fill(uint poly);
/* la_tool_slice.c */
extern void la_t_slice(double *pos, double *vector, boolean del);
/* la_tool_center.c */
extern void la_t_center_geometry(void);
extern void la_t_center_manipulator(void);
/* la_tool_neighbor.c */
extern void la_t_poly_triangulate(void);
extern void la_t_poly_auto_crease(void);
extern void la_t_poly_find_quads(void);
/* la_tool_cut_paste.c */
extern void la_t_copy(egreal *pos);
extern void la_t_paste(egreal *pos);
extern void la_t_copy_to_new_geometry(void);
extern void la_t_paste_to_new_geometry(void);