fix potential crasher: malloc->calloc
[blender.git] / source / blender / blenkernel / BKE_deform.h
index 8a34b286881cd2f49a4f5b9590620e193d0309c7..53f474aa97247e304d8b94044f9788174c530d92 100644 (file)
@@ -20,7 +20,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
@@ -40,15 +40,31 @@ struct ListBase;
 struct bDeformGroup;
 struct MDeformVert;
 
-void copy_defgroups (struct ListBase *lb1, struct ListBase *lb2);
-struct bDeformGroup *copy_defgroup (struct bDeformGroup *ingroup);
-struct bDeformGroup *get_named_vertexgroup (Object *ob, char *name);
-int get_defgroup_num (struct Object *ob, struct bDeformGroup *dg);
-int get_named_vertexgroup_num (Object *ob, const char *name);
-void unique_vertexgroup_name (struct bDeformGroup *dg, struct Object *ob);
+void                            defgroup_copy_list(struct ListBase *lb1, struct ListBase *lb2);
+struct bDeformGroup *defgroup_duplicate(struct bDeformGroup *ingroup);
+struct bDeformGroup *defgroup_find_name(struct Object *ob, const char *name);
+int                                     defgroup_find_index(struct Object *ob, struct bDeformGroup *dg);
+int                                    *defgroup_flip_map(struct Object *ob, int use_default);
+int                                     defgroup_flip_index(struct Object *ob, int index, int use_default);
+int                                     defgroup_name_index(struct Object *ob, const char *name);
+void                            defgroup_unique_name(struct bDeformGroup *dg, struct Object *ob);
 
-float deformvert_get_weight(const struct MDeformVert *dvert, int group_num);
-float vertexgroup_get_vertex_weight(const struct MDeformVert *dvert, int index, int group_num);
+struct MDeformWeight   *defvert_find_index(const struct MDeformVert *dv, int defgroup);
+struct MDeformWeight   *defvert_verify_index(struct MDeformVert *dv, int defgroup);
+
+float  defvert_find_weight(const struct MDeformVert *dvert, int group_num);
+float  defvert_array_find_weight_safe(const struct MDeformVert *dvert, int index, int group_num);
+
+void defvert_copy(struct MDeformVert *dvert_r, const struct MDeformVert *dvert);
+void defvert_sync(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int use_verify);
+void defvert_sync_mapped(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int *flip_map, int use_verify);
+void defvert_remap (struct MDeformVert *dvert, int *map);
+void defvert_flip(struct MDeformVert *dvert, int *flip_map);
+void defvert_normalize(struct MDeformVert *dvert);
+
+/* utility function, note that 32 chars is the maximum string length since its only
+ * used with defgroups currently */
+void flip_side_name(char *name, const char *from_name, int strip_number);
 
 #endif