Cleanup: pass 'rctf' rectangle to 2D box drawing functions
[blender.git] / source / blender / modifiers / intern / MOD_util.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 /* so modifier types match their defines */
24 #include "MOD_modifiertypes.h"
25
26 #include "DEG_depsgraph_build.h"
27
28 struct MDeformVert;
29 struct Mesh;
30 struct ModifierData;
31 struct ModifierEvalContext;
32 struct Object;
33
34 void MOD_init_texture(struct MappingInfoModifierData *dmd, const struct ModifierEvalContext *ctx);
35 void MOD_get_texture_coords(struct MappingInfoModifierData *dmd,
36                             const struct ModifierEvalContext *ctx,
37                             struct Object *ob,
38                             struct Mesh *mesh,
39                             float (*cos)[3],
40                             float (*r_texco)[3]);
41
42 void MOD_previous_vcos_store(struct ModifierData *md, const float (*vert_coords)[3]);
43
44 struct Mesh *MOD_deform_mesh_eval_get(struct Object *ob,
45                                       struct BMEditMesh *em,
46                                       struct Mesh *mesh,
47                                       const float (*vertexCos)[3],
48                                       const int num_verts,
49                                       const bool use_normals,
50                                       const bool use_orco);
51
52 void MOD_get_vgroup(struct Object *ob,
53                     struct Mesh *mesh,
54                     const char *name,
55                     struct MDeformVert **dvert,
56                     int *defgrp_index);
57
58 void MOD_depsgraph_update_object_bone_relation(struct DepsNodeHandle *node,
59                                                struct Object *object,
60                                                const char *bonename,
61                                                const char *description);