Merge branch 'blender-v2.92-release'
[blender.git] / source / blender / modifiers / MOD_modifiertypes.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 /** \file
18  * \ingroup modifiers
19  */
20
21 #pragma once
22
23 #include "BKE_modifier.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 /* ****************** Type structures for all modifiers ****************** */
30
31 extern ModifierTypeInfo modifierType_None;
32 extern ModifierTypeInfo modifierType_Subsurf;
33 extern ModifierTypeInfo modifierType_Lattice;
34 extern ModifierTypeInfo modifierType_Curve;
35 extern ModifierTypeInfo modifierType_Build;
36 extern ModifierTypeInfo modifierType_Mirror;
37 extern ModifierTypeInfo modifierType_Decimate;
38 extern ModifierTypeInfo modifierType_Wave;
39 extern ModifierTypeInfo modifierType_Armature;
40 extern ModifierTypeInfo modifierType_Hook;
41 extern ModifierTypeInfo modifierType_Softbody;
42 extern ModifierTypeInfo modifierType_Boolean;
43 extern ModifierTypeInfo modifierType_Array;
44 extern ModifierTypeInfo modifierType_EdgeSplit;
45 extern ModifierTypeInfo modifierType_Displace;
46 extern ModifierTypeInfo modifierType_UVProject;
47 extern ModifierTypeInfo modifierType_Smooth;
48 extern ModifierTypeInfo modifierType_Cast;
49 extern ModifierTypeInfo modifierType_MeshDeform;
50 extern ModifierTypeInfo modifierType_ParticleSystem;
51 extern ModifierTypeInfo modifierType_ParticleInstance;
52 extern ModifierTypeInfo modifierType_Explode;
53 extern ModifierTypeInfo modifierType_Cloth;
54 extern ModifierTypeInfo modifierType_Collision;
55 extern ModifierTypeInfo modifierType_Bevel;
56 extern ModifierTypeInfo modifierType_Shrinkwrap;
57 extern ModifierTypeInfo modifierType_Fluidsim;
58 extern ModifierTypeInfo modifierType_Mask;
59 extern ModifierTypeInfo modifierType_SimpleDeform;
60 extern ModifierTypeInfo modifierType_Multires;
61 extern ModifierTypeInfo modifierType_Surface;
62 extern ModifierTypeInfo modifierType_Fluid;
63 extern ModifierTypeInfo modifierType_ShapeKey;
64 extern ModifierTypeInfo modifierType_Solidify;
65 extern ModifierTypeInfo modifierType_Screw;
66 extern ModifierTypeInfo modifierType_Ocean;
67 extern ModifierTypeInfo modifierType_Warp;
68 extern ModifierTypeInfo modifierType_NavMesh;
69 extern ModifierTypeInfo modifierType_WeightVGEdit;
70 extern ModifierTypeInfo modifierType_WeightVGMix;
71 extern ModifierTypeInfo modifierType_WeightVGProximity;
72 extern ModifierTypeInfo modifierType_DynamicPaint;
73 extern ModifierTypeInfo modifierType_Remesh;
74 extern ModifierTypeInfo modifierType_Skin;
75 extern ModifierTypeInfo modifierType_LaplacianSmooth;
76 extern ModifierTypeInfo modifierType_Triangulate;
77 extern ModifierTypeInfo modifierType_UVWarp;
78 extern ModifierTypeInfo modifierType_MeshCache;
79 extern ModifierTypeInfo modifierType_LaplacianDeform;
80 extern ModifierTypeInfo modifierType_Wireframe;
81 extern ModifierTypeInfo modifierType_Weld;
82 extern ModifierTypeInfo modifierType_DataTransfer;
83 extern ModifierTypeInfo modifierType_NormalEdit;
84 extern ModifierTypeInfo modifierType_CorrectiveSmooth;
85 extern ModifierTypeInfo modifierType_MeshSequenceCache;
86 extern ModifierTypeInfo modifierType_SurfaceDeform;
87 extern ModifierTypeInfo modifierType_WeightedNormal;
88 extern ModifierTypeInfo modifierType_Nodes;
89 extern ModifierTypeInfo modifierType_MeshToVolume;
90 extern ModifierTypeInfo modifierType_VolumeDisplace;
91 extern ModifierTypeInfo modifierType_VolumeToMesh;
92
93 /* MOD_util.c */
94 void modifier_type_init(ModifierTypeInfo *types[]);
95
96 #ifdef __cplusplus
97 }
98 #endif