merge with 2.5 (not trunk, last merge message said that on accident) at r22252
[blender.git] / source / blender / blenkernel / BKE_lattice.h
index 747dc27e1752d63bc400b0d0f890e603d933d7bf..2e4a5334c68e5e8667d3615c1f85b4d12be8302d 100644 (file)
@@ -1,15 +1,12 @@
 /**
  * $Id$
  *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -27,7 +24,7 @@
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  * june-2001 ton
  */
 
 
 struct Lattice;
 struct Object;
+struct Scene;
+struct DerivedMesh;
 struct BPoint;
+struct MDeformVert;
 
-extern struct Lattice *editLatt;
-extern int lt_applyflag;
-
-
-void resizelattice(struct Lattice *lt);
-struct Lattice *add_lattice(void);
+void resizelattice(struct Lattice *lt, int u, int v, int w, struct Object *ltOb);
+struct Lattice *add_lattice(char *name);
 struct Lattice *copy_lattice(struct Lattice *lt);
 void free_lattice(struct Lattice *lt);
 void make_local_lattice(struct Lattice *lt);
 void calc_lat_fudu(int flag, int res, float *fu, float *du);
+
 void init_latt_deform(struct Object *oblatt, struct Object *ob);
-void calc_latt_deform(float *co);
-void end_latt_deform(void);
-int object_deform(struct Object *ob);
-struct BPoint *latt_bp(struct Lattice *lt, int u, int v, int w);
+void calc_latt_deform(struct Object *, float *co, float weight);
+void end_latt_deform(struct Object *);
+
+int object_deform_mball(struct Object *ob);
 void outside_lattice(struct Lattice *lt);
 
+void curve_deform_verts(struct Scene *scene, struct Object *cuOb, struct Object *target, 
+                                               struct DerivedMesh *dm, float (*vertexCos)[3], 
+                                               int numVerts, char *vgroup, short defaxis);
+void curve_deform_vector(struct Scene *scene, struct Object *cuOb, struct Object *target, 
+                                                float *orco, float *vec, float mat[][3], int no_rot_axis);
+
+void lattice_deform_verts(struct Object *laOb, struct Object *target,
+                          struct DerivedMesh *dm, float (*vertexCos)[3],
+                          int numVerts, char *vgroup);
+void armature_deform_verts(struct Object *armOb, struct Object *target,
+                           struct DerivedMesh *dm, float (*vertexCos)[3],
+                           float (*defMats)[3][3], int numVerts, int deformflag, 
+                                                  float (*prevCos)[3], const char *defgrp_name);
+
+float (*lattice_getVertexCos(struct Object *ob, int *numVerts_r))[3];
+void lattice_applyVertexCos(struct Object *ob, float (*vertexCos)[3]);
+void lattice_calc_modifiers(struct Scene *scene, struct Object *ob);
+
+struct MDeformVert* lattice_get_deform_verts(struct Object *lattice);
 
 #endif
+