merge with 2.5 at 19207, plus some half-finished walker stuff
[blender.git] / source / blender / editors / include / ED_mesh.h
index 5a72ab201f42df1896e5e7e624642bb1713e03e3..f431b5d5f845c652de897758fca982b712d68ecd 100644 (file)
@@ -68,12 +68,17 @@ struct CustomData;
 #define B_JOINTRIA_SHARP       0X800
 #define B_JOINTRIA_MAT         0X1000
 
+/* bmeshutils.c */
+
+/*recalculate tesselations for ngons*/
+void EDBM_Tesselate(struct EditMesh *em);
 
 /* meshtools.c */
 
-intptr_t       mesh_octree_table(Object *ob, struct EditMesh *em, float *co, char mode);
-struct EditVert   *editmesh_get_x_mirror_vert(Object *ob, struct EditMesh *em, float *co);
-int                    mesh_get_x_mirror_vert(Object *ob, int index);
+intptr_t       mesh_octree_table(struct Object *ob, struct EditMesh *em, float *co, char mode);
+struct EditVert   *editmesh_get_x_mirror_vert(struct Object *ob, struct EditMesh *em, float *co);
+int                    mesh_get_x_mirror_vert(struct Object *ob, int index);
+int                    *mesh_get_x_mirror_faces(struct Object *ob, struct EditMesh *em);
 
 /* mesh_ops.c */
 void           ED_operatortypes_mesh(void);
@@ -112,16 +117,20 @@ void             EM_add_data_layer(struct EditMesh *em, struct CustomData *data,
 void           EM_select_edge(struct EditEdge *eed, int sel);
 void           EM_select_face(struct EditFace *efa, int sel);
 void           EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val);
+void           EM_select_swap(struct EditMesh *em);
+void           EM_toggle_select_all(struct EditMesh *em);
 void           EM_selectmode_flush(struct EditMesh *em);
 void           EM_deselect_flush(struct EditMesh *em);
 void           EM_selectmode_set(struct EditMesh *em);
 void           EM_select_flush(struct EditMesh *em);
 void           EM_convertsel(struct EditMesh *em, short oldmode, short selectmode);
-                       
+void           EM_validate_selections(struct EditMesh *em);
+
                        /* exported to transform */
 int                    EM_get_actSelection(struct EditMesh *em, struct EditSelection *ese);
 void           EM_editselection_normal(float *normal, struct EditSelection *ese);
 void           EM_editselection_plane(float *plane, struct EditSelection *ese);
+void           EM_editselection_center(float *center, struct EditSelection *ese);                      
 
 struct UvVertMap *EM_make_uv_vert_map(struct EditMesh *em, int selected, int do_face_idx_array, float *limit);
 struct UvMapVert *EM_get_uv_map_vert(struct UvVertMap *vmap, unsigned int v);
@@ -137,6 +146,9 @@ void                EM_free_backbuf(void);
 int                    EM_init_backbuf_border(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax);
 int                    EM_init_backbuf_circle(struct ViewContext *vc, short xs, short ys, short rads);
 
+void           EM_hide_mesh(struct EditMesh *em, int swap);
+void           EM_reveal_mesh(struct EditMesh *em);
+
 /* editface.c */
 struct MTFace  *EM_get_active_mtface(struct EditMesh *em, struct EditFace **act_efa, struct MCol **mcol, int sloppy);