Geometry Nodes: new Material input node
[blender.git] / source / blender / nodes / NOD_geometry.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16
17 #pragma once
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23 #include "BKE_node.h"
24
25 extern struct bNodeTreeType *ntreeType_Geometry;
26
27 void register_node_tree_type_geo(void);
28
29 void register_node_type_geo_group(void);
30 void register_node_type_geo_custom_group(bNodeType *ntype);
31
32 void register_node_type_geo_align_rotation_to_vector(void);
33 void register_node_type_geo_attribute_clamp(void);
34 void register_node_type_geo_attribute_color_ramp(void);
35 void register_node_type_geo_attribute_combine_xyz(void);
36 void register_node_type_geo_attribute_compare(void);
37 void register_node_type_geo_attribute_convert(void);
38 void register_node_type_geo_attribute_curve_map(void);
39 void register_node_type_geo_attribute_fill(void);
40 void register_node_type_geo_attribute_map_range(void);
41 void register_node_type_geo_attribute_math(void);
42 void register_node_type_geo_attribute_mix(void);
43 void register_node_type_geo_attribute_proximity(void);
44 void register_node_type_geo_attribute_randomize(void);
45 void register_node_type_geo_attribute_separate_xyz(void);
46 void register_node_type_geo_attribute_transfer(void);
47 void register_node_type_geo_attribute_vector_math(void);
48 void register_node_type_geo_attribute_vector_rotate(void);
49 void register_node_type_geo_attribute_remove(void);
50 void register_node_type_geo_boolean(void);
51 void register_node_type_geo_bounding_box(void);
52 void register_node_type_geo_collection_info(void);
53 void register_node_type_geo_curve_to_mesh(void);
54 void register_node_type_geo_curve_resample(void);
55 void register_node_type_geo_edge_split(void);
56 void register_node_type_geo_input_material(void);
57 void register_node_type_geo_is_viewport(void);
58 void register_node_type_geo_join_geometry(void);
59 void register_node_type_geo_material_assign(void);
60 void register_node_type_geo_mesh_primitive_circle(void);
61 void register_node_type_geo_mesh_primitive_cone(void);
62 void register_node_type_geo_mesh_primitive_cube(void);
63 void register_node_type_geo_mesh_primitive_cylinder(void);
64 void register_node_type_geo_mesh_primitive_grid(void);
65 void register_node_type_geo_mesh_primitive_ico_sphere(void);
66 void register_node_type_geo_mesh_primitive_line(void);
67 void register_node_type_geo_mesh_primitive_uv_sphere(void);
68 void register_node_type_geo_object_info(void);
69 void register_node_type_geo_point_distribute(void);
70 void register_node_type_geo_point_instance(void);
71 void register_node_type_geo_point_rotate(void);
72 void register_node_type_geo_point_scale(void);
73 void register_node_type_geo_point_separate(void);
74 void register_node_type_geo_point_translate(void);
75 void register_node_type_geo_points_to_volume(void);
76 void register_node_type_geo_sample_texture(void);
77 void register_node_type_geo_subdivide(void);
78 void register_node_type_geo_subdivision_surface(void);
79 void register_node_type_geo_switch(void);
80 void register_node_type_geo_transform(void);
81 void register_node_type_geo_triangulate(void);
82 void register_node_type_geo_volume_to_mesh(void);
83
84 #ifdef __cplusplus
85 }
86 #endif