rename bmesh ops since they are exposed in an api now.
This commit is contained in:
@@ -318,10 +318,10 @@ static void bm_rationalize_normals(BMesh *bm, int undo)
|
||||
return;
|
||||
}
|
||||
|
||||
BMO_op_initf(bm, &bmop, "righthandfaces faces=%af do_flip=%b", FALSE);
|
||||
BMO_op_initf(bm, &bmop, "recalc_face_normals faces=%af do_flip=%b", FALSE);
|
||||
|
||||
BMO_push(bm, &bmop);
|
||||
bmo_righthandfaces_exec(bm, &bmop);
|
||||
bmo_recalc_face_normals_exec(bm, &bmop);
|
||||
|
||||
BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) {
|
||||
BM_elem_flag_set(f, BM_ELEM_TAG, BMO_elem_flag_test(bm, f, FACE_FLIP));
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
*
|
||||
* Smooths vertices by using a basic vertex averaging scheme.
|
||||
*/
|
||||
static BMOpDefine bmo_vertexsmooth_def = {
|
||||
"vertexsmooth",
|
||||
static BMOpDefine bmo_smooth_vert_def = {
|
||||
"smooth_vert",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, //input vertices
|
||||
{BMO_OP_SLOT_BOOL, "mirror_clip_x"}, //set vertices close to the x axis before the operation to 0
|
||||
{BMO_OP_SLOT_BOOL, "mirror_clip_y"}, //set vertices close to the y axis before the operation to 0
|
||||
@@ -106,7 +106,7 @@ static BMOpDefine bmo_vertexsmooth_def = {
|
||||
{BMO_OP_SLOT_FLT, "clipdist"}, //clipping threshod for the above three slots
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_vertexsmooth_exec,
|
||||
bmo_smooth_vert_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -116,13 +116,13 @@ static BMOpDefine bmo_vertexsmooth_def = {
|
||||
* Computes an "outside" normal for the specified input faces.
|
||||
*/
|
||||
|
||||
static BMOpDefine bmo_righthandfaces_def = {
|
||||
"righthandfaces",
|
||||
static BMOpDefine bmo_recalc_face_normals_def = {
|
||||
"recalc_face_normals",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"},
|
||||
{BMO_OP_SLOT_BOOL, "do_flip"}, //internal flag, used by bmesh_rationalize_normals
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_righthandfaces_exec,
|
||||
bmo_recalc_face_normals_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES,
|
||||
};
|
||||
|
||||
@@ -136,15 +136,15 @@ static BMOpDefine bmo_righthandfaces_def = {
|
||||
* if usefaces is 0 then geomout spits out verts and edges,
|
||||
* otherwise it spits out faces.
|
||||
*/
|
||||
static BMOpDefine bmo_regionextend_def = {
|
||||
"regionextend",
|
||||
static BMOpDefine bmo_region_extend_def = {
|
||||
"region_extend",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "geom"}, //input geometry
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "geomout"}, //output slot, computed boundary geometry.
|
||||
{BMO_OP_SLOT_BOOL, "constrict"}, //find boundary inside the regions, not outside.
|
||||
{BMO_OP_SLOT_BOOL, "use_faces"}, //extend from faces instead of edges
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_regionextend_exec,
|
||||
bmo_region_extend_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -154,14 +154,14 @@ static BMOpDefine bmo_regionextend_def = {
|
||||
* Rotates edges topologically. Also known as "spin edge" to some people.
|
||||
* Simple example: [/] becomes [|] then [\].
|
||||
*/
|
||||
static BMOpDefine bmo_edgerotate_def = {
|
||||
"edgerotate",
|
||||
static BMOpDefine bmo_rotate_edges_def = {
|
||||
"rotate_edges",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "edges"}, //input edges
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "edgeout"}, //newly spun edges
|
||||
{BMO_OP_SLOT_BOOL, "ccw"}, //rotate edge counter-clockwise if true, othewise clockwise
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_edgerotate_exec,
|
||||
bmo_rotate_edges_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
@@ -171,12 +171,12 @@ static BMOpDefine bmo_edgerotate_def = {
|
||||
* Reverses the winding (vertex order) of faces. This has the effect of
|
||||
* flipping the normal.
|
||||
*/
|
||||
static BMOpDefine bmo_reversefaces_def = {
|
||||
"reversefaces",
|
||||
static BMOpDefine bmo_reverse_faces_def = {
|
||||
"reverse_faces",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, //input faces
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_reversefaces_exec,
|
||||
bmo_reverse_faces_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES,
|
||||
};
|
||||
|
||||
@@ -186,14 +186,14 @@ static BMOpDefine bmo_reversefaces_def = {
|
||||
* Splits input edges (but doesn't do anything else).
|
||||
* This creates a 2-valence vert.
|
||||
*/
|
||||
static BMOpDefine bmo_edgebisect_def = {
|
||||
"edgebisect",
|
||||
static BMOpDefine bmo_bisect_edges_def = {
|
||||
"bisect_edges",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "edges"}, //input edges
|
||||
{BMO_OP_SLOT_INT, "numcuts"}, //number of cuts
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "outsplit"}, //newly created vertices and edges
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_edgebisect_exec,
|
||||
bmo_bisect_edges_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
@@ -225,17 +225,17 @@ static BMOpDefine bmo_mirror_def = {
|
||||
* Takes input verts and find vertices they should weld to. Outputs a
|
||||
* mapping slot suitable for use with the weld verts bmop.
|
||||
*
|
||||
* If keepverts is used, vertices outside that set can only be merged
|
||||
* If keep_verts is used, vertices outside that set can only be merged
|
||||
* with vertices in that set.
|
||||
*/
|
||||
static BMOpDefine bmo_finddoubles_def = {
|
||||
"finddoubles",
|
||||
static BMOpDefine bmo_find_doubles_def = {
|
||||
"find_doubles",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, //input vertices
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "keepverts"}, //list of verts to keep
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "keep_verts"}, //list of verts to keep
|
||||
{BMO_OP_SLOT_FLT, "dist"}, //minimum distance
|
||||
{BMO_OP_SLOT_MAPPING, "targetmapout"},
|
||||
{0, /* null-terminating sentinel */}},
|
||||
bmo_finddoubles_exec,
|
||||
bmo_find_doubles_exec,
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -305,11 +305,11 @@ static BMOpDefine bmo_pointmerge_facedata_def = {
|
||||
* the bounding box center. (I know, it's not averaging but
|
||||
* the vert_snap_to_bb_center is just too long).
|
||||
*/
|
||||
static BMOpDefine bmo_vert_average_facedata_def = {
|
||||
"vert_average_facedata",
|
||||
static BMOpDefine bmo_average_vert_facedata_def = {
|
||||
"average_vert_facedata",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, /* input vertice */
|
||||
{0, /* null-terminating sentinel */}},
|
||||
bmo_vert_average_facedata_exec,
|
||||
bmo_average_vert_facedata_exec,
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -321,7 +321,7 @@ static BMOpDefine bmo_vert_average_facedata_def = {
|
||||
static BMOpDefine bmo_pointmerge_def = {
|
||||
"pointmerge",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, /* input vertice */
|
||||
{BMO_OP_SLOT_VEC, "mergeco"},
|
||||
{BMO_OP_SLOT_VEC, "merge_co"},
|
||||
{0, /* null-terminating sentinel */}},
|
||||
bmo_pointmerge_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES,
|
||||
@@ -347,11 +347,11 @@ static BMOpDefine bmo_collapse_uvs_def = {
|
||||
* use or will use this bmop). You pass in mappings from vertices to the vertices
|
||||
* they weld with.
|
||||
*/
|
||||
static BMOpDefine bmo_weldverts_def = {
|
||||
"weldverts",
|
||||
static BMOpDefine bmo_weld_verts_def = {
|
||||
"weld_verts",
|
||||
{{BMO_OP_SLOT_MAPPING, "targetmap"}, /* maps welded vertices to verts they should weld to */
|
||||
{0, /* null-terminating sentinel */}},
|
||||
bmo_weldverts_exec,
|
||||
bmo_weld_verts_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES,
|
||||
};
|
||||
|
||||
@@ -361,12 +361,12 @@ static BMOpDefine bmo_weldverts_def = {
|
||||
* Creates a single vertex; this bmop was necessary
|
||||
* for click-create-vertex.
|
||||
*/
|
||||
static BMOpDefine bmo_makevert_def = {
|
||||
"makevert",
|
||||
static BMOpDefine bmo_create_vert_def = {
|
||||
"create_vert",
|
||||
{{BMO_OP_SLOT_VEC, "co"}, //the coordinate of the new vert
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "newvertout"}, //the new vert
|
||||
{0, /* null-terminating sentinel */}},
|
||||
bmo_makevert_exec,
|
||||
bmo_create_vert_exec,
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -572,13 +572,13 @@ static BMOpDefine bmo_mesh_to_bmesh_def = {
|
||||
*
|
||||
* Extrudes faces individually.
|
||||
*/
|
||||
static BMOpDefine bmo_extrude_indivface_def = {
|
||||
"extrude_face_indiv",
|
||||
static BMOpDefine bmo_extrude_discrete_faces_def = {
|
||||
"extrude_discrete_faces",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, //input faces
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "faceout"}, //output faces
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "skirtout"}, //output skirt geometry, faces and edges
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_extrude_face_indiv_exec,
|
||||
bmo_extrude_discrete_faces_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -612,12 +612,12 @@ static BMOpDefine bmo_extrude_vert_indiv_def = {
|
||||
0
|
||||
};
|
||||
|
||||
static BMOpDefine bmo_connectverts_def = {
|
||||
"connectverts",
|
||||
static BMOpDefine bmo_connect_verts_def = {
|
||||
"connect_verts",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"},
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "edgeout"},
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_connectverts_exec,
|
||||
bmo_connect_verts_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
@@ -691,8 +691,8 @@ static BMOpDefine bmo_triangulate_def = {
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
static BMOpDefine bmo_esubd_def = {
|
||||
"esubd",
|
||||
static BMOpDefine bmo_subdivide_edges_def = {
|
||||
"subdivide_edges",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "edges"},
|
||||
{BMO_OP_SLOT_FLT, "smooth"},
|
||||
{BMO_OP_SLOT_FLT, "fractal"},
|
||||
@@ -714,21 +714,21 @@ static BMOpDefine bmo_esubd_def = {
|
||||
|
||||
{0} /* null-terminating sentinel */,
|
||||
},
|
||||
bmo_esubd_exec,
|
||||
bmo_subdivide_edges_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
static BMOpDefine bmo_del_def = {
|
||||
"del",
|
||||
static BMOpDefine bmo_delete_def = {
|
||||
"delete",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "geom"},
|
||||
{BMO_OP_SLOT_INT, "context"},
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_del_exec,
|
||||
bmo_delete_exec,
|
||||
0
|
||||
};
|
||||
|
||||
static BMOpDefine bmo_dupe_def = {
|
||||
"dupe",
|
||||
static BMOpDefine bmo_duplicate_def = {
|
||||
"duplicate",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "geom"},
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "origout"},
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "newout"},
|
||||
@@ -739,7 +739,7 @@ static BMOpDefine bmo_dupe_def = {
|
||||
{BMO_OP_SLOT_MAPPING, "isovertmap"},
|
||||
{BMO_OP_SLOT_PNT, "dest"}, /* destination bmesh, if NULL will use current on */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_dupe_exec,
|
||||
bmo_duplicate_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -783,14 +783,14 @@ static BMOpDefine bmo_spin_def = {
|
||||
*
|
||||
* Find similar faces (area/material/perimeter, ...).
|
||||
*/
|
||||
static BMOpDefine bmo_similarfaces_def = {
|
||||
"similarfaces",
|
||||
static BMOpDefine bmo_similar_faces_def = {
|
||||
"similar_faces",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, /* input faces */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "faceout"}, /* output faces */
|
||||
{BMO_OP_SLOT_INT, "type"}, /* type of selection */
|
||||
{BMO_OP_SLOT_FLT, "thresh"}, /* threshold of selection */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_similarfaces_exec,
|
||||
bmo_similar_faces_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -799,14 +799,14 @@ static BMOpDefine bmo_similarfaces_def = {
|
||||
*
|
||||
* Find similar edges (length, direction, edge, seam, ...).
|
||||
*/
|
||||
static BMOpDefine bmo_similaredges_def = {
|
||||
"similaredges",
|
||||
static BMOpDefine bmo_similar_edges_def = {
|
||||
"similar_edges",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "edges"}, /* input edges */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "edgeout"}, /* output edges */
|
||||
{BMO_OP_SLOT_INT, "type"}, /* type of selection */
|
||||
{BMO_OP_SLOT_FLT, "thresh"}, /* threshold of selection */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_similaredges_exec,
|
||||
bmo_similar_edges_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -815,14 +815,14 @@ static BMOpDefine bmo_similaredges_def = {
|
||||
*
|
||||
* Find similar vertices (normal, face, vertex group, ...).
|
||||
*/
|
||||
static BMOpDefine bmo_similarverts_def = {
|
||||
"similarverts",
|
||||
static BMOpDefine bmo_similar_verts_def = {
|
||||
"similar_verts",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, /* input vertices */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "vertout"}, /* output vertices */
|
||||
{BMO_OP_SLOT_INT, "type"}, /* type of selection */
|
||||
{BMO_OP_SLOT_FLT, "thresh"}, /* threshold of selection */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_similarverts_exec,
|
||||
bmo_similar_verts_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -830,12 +830,12 @@ static BMOpDefine bmo_similarverts_def = {
|
||||
* uv rotation
|
||||
* cycle the uvs
|
||||
*/
|
||||
static BMOpDefine bmo_face_rotateuvs_def = {
|
||||
"face_rotateuvs",
|
||||
static BMOpDefine bmo_rotate_uvs_def = {
|
||||
"rotate_uvs",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, /* input faces */
|
||||
{BMO_OP_SLOT_INT, "dir"}, /* direction */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_face_rotateuvs_exec,
|
||||
bmo_rotate_uvs_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -843,11 +843,11 @@ static BMOpDefine bmo_face_rotateuvs_def = {
|
||||
* uv reverse
|
||||
* reverse the uvs
|
||||
*/
|
||||
static BMOpDefine bmo_face_reverseuvs_def = {
|
||||
"face_reverseuvs",
|
||||
static BMOpDefine bmo_reverse_uvs_def = {
|
||||
"reverse_uvs",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, /* input faces */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_face_reverseuvs_exec,
|
||||
bmo_reverse_uvs_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -855,12 +855,12 @@ static BMOpDefine bmo_face_reverseuvs_def = {
|
||||
* color rotation
|
||||
* cycle the colors
|
||||
*/
|
||||
static BMOpDefine bmo_face_rotatecolors_def = {
|
||||
"face_rotatecolors",
|
||||
static BMOpDefine bmo_rotate_colors_def = {
|
||||
"rotate_colors",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, /* input faces */
|
||||
{BMO_OP_SLOT_INT, "dir"}, /* direction */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_rotatecolors_exec,
|
||||
bmo_rotate_colors_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -868,11 +868,11 @@ static BMOpDefine bmo_face_rotatecolors_def = {
|
||||
* color reverse
|
||||
* reverse the colors
|
||||
*/
|
||||
static BMOpDefine bmo_face_reversecolors_def = {
|
||||
"face_reversecolors",
|
||||
static BMOpDefine bmo_reverse_colors_def = {
|
||||
"reverse_colors",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "faces"}, /* input faces */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_face_reversecolors_exec,
|
||||
bmo_reverse_colors_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -881,14 +881,14 @@ static BMOpDefine bmo_face_reversecolors_def = {
|
||||
*
|
||||
* Find similar vertices (normal, face, vertex group, ...).
|
||||
*/
|
||||
static BMOpDefine bmo_vertexshortestpath_def = {
|
||||
"vertexshortestpath",
|
||||
static BMOpDefine bmo_shortest_path_def = {
|
||||
"shortest_path",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "startv"}, /* start vertex */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "endv"}, /* end vertex */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "vertout"}, /* output vertices */
|
||||
{BMO_OP_SLOT_INT, "type"}, /* type of selection */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_vertexshortestpath_exec,
|
||||
bmo_shortest_path_exec,
|
||||
0
|
||||
};
|
||||
|
||||
@@ -897,15 +897,15 @@ static BMOpDefine bmo_vertexshortestpath_def = {
|
||||
*
|
||||
* Disconnects faces along input edges.
|
||||
*/
|
||||
static BMOpDefine bmo_edgesplit_def = {
|
||||
"edgesplit",
|
||||
static BMOpDefine bmo_split_edges_def = {
|
||||
"split_edges",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "edges"}, /* input edges */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "edgeout"}, /* old output disconnected edges */
|
||||
/* needed for vertex rip so we can rip only half an edge at a boundary wich would otherwise split off */
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, /* optional tag verts, use to have greater control of splits */
|
||||
{BMO_OP_SLOT_BOOL, "use_verts"}, /* use 'verts' for splitting, else just find verts to split from edges */
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_edgesplit_exec,
|
||||
bmo_split_edges_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
@@ -1134,14 +1134,14 @@ static BMOpDefine bmo_wireframe_def = {
|
||||
*
|
||||
* Translates vertes along an edge
|
||||
*/
|
||||
static BMOpDefine bmo_vertex_slide_def = {
|
||||
"vertex_slide",
|
||||
static BMOpDefine bmo_slide_vert_def = {
|
||||
"slide_vert",
|
||||
{{BMO_OP_SLOT_ELEMENT_BUF, "vert"},
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "edge"},
|
||||
{BMO_OP_SLOT_ELEMENT_BUF, "vertout"},
|
||||
{BMO_OP_SLOT_FLT, "distance_t"},
|
||||
{0} /* null-terminating sentinel */},
|
||||
bmo_vertex_slide_exec,
|
||||
bmo_slide_vert_exec,
|
||||
BMO_OP_FLAG_UNTAN_MULTIRES
|
||||
};
|
||||
|
||||
@@ -1176,75 +1176,76 @@ static BMOpDefine bmo_convex_hull_def = {
|
||||
};
|
||||
|
||||
BMOpDefine *opdefines[] = {
|
||||
&bmo_split_def,
|
||||
&bmo_spin_def,
|
||||
&bmo_dupe_def,
|
||||
&bmo_del_def,
|
||||
&bmo_esubd_def,
|
||||
&bmo_triangulate_def,
|
||||
&bmo_dissolve_faces_def,
|
||||
&bmo_dissolve_edges_def,
|
||||
&bmo_dissolve_edge_loop_def,
|
||||
&bmo_dissolve_verts_def,
|
||||
&bmo_dissolve_limit_def,
|
||||
&bmo_extrude_face_region_def,
|
||||
&bmo_connectverts_def,
|
||||
&bmo_extrude_vert_indiv_def,
|
||||
&bmo_mesh_to_bmesh_def,
|
||||
&bmo_object_load_bmesh_def,
|
||||
&bmo_transform_def,
|
||||
&bmo_translate_def,
|
||||
&bmo_rotate_def,
|
||||
&bmo_edgenet_fill_def,
|
||||
&bmo_contextual_create_def,
|
||||
&bmo_makevert_def,
|
||||
&bmo_weldverts_def,
|
||||
&bmo_remove_doubles_def,
|
||||
&bmo_finddoubles_def,
|
||||
&bmo_mirror_def,
|
||||
&bmo_edgebisect_def,
|
||||
&bmo_reversefaces_def,
|
||||
&bmo_edgerotate_def,
|
||||
&bmo_regionextend_def,
|
||||
&bmo_righthandfaces_def,
|
||||
&bmo_vertexsmooth_def,
|
||||
&bmo_extrude_edge_only_def,
|
||||
&bmo_extrude_indivface_def,
|
||||
&bmo_collapse_uvs_def,
|
||||
&bmo_pointmerge_def,
|
||||
&bmo_collapse_def,
|
||||
&bmo_similarfaces_def,
|
||||
&bmo_similaredges_def,
|
||||
&bmo_similarverts_def,
|
||||
&bmo_pointmerge_facedata_def,
|
||||
&bmo_vert_average_facedata_def,
|
||||
&bmo_face_rotateuvs_def,
|
||||
&bmo_bmesh_to_mesh_def,
|
||||
&bmo_face_reverseuvs_def,
|
||||
&bmo_edgenet_prepare_def,
|
||||
&bmo_face_rotatecolors_def,
|
||||
&bmo_face_reversecolors_def,
|
||||
&bmo_vertexshortestpath_def,
|
||||
&bmo_scale_def,
|
||||
&bmo_edgesplit_def,
|
||||
&bmo_automerge_def,
|
||||
&bmo_create_uvsphere_def,
|
||||
&bmo_average_vert_facedata_def,
|
||||
&bmo_beautify_fill_def,
|
||||
&bmo_bevel_def,
|
||||
&bmo_bisect_edges_def,
|
||||
&bmo_bmesh_to_mesh_def,
|
||||
&bmo_bridge_loops_def,
|
||||
&bmo_collapse_def,
|
||||
&bmo_collapse_uvs_def,
|
||||
&bmo_connect_verts_def,
|
||||
&bmo_contextual_create_def,
|
||||
&bmo_convex_hull_def,
|
||||
&bmo_create_circle_def,
|
||||
&bmo_create_cone_def,
|
||||
&bmo_create_cube_def,
|
||||
&bmo_create_grid_def,
|
||||
&bmo_create_icosphere_def,
|
||||
&bmo_create_monkey_def,
|
||||
&bmo_create_cube_def,
|
||||
&bmo_create_circle_def,
|
||||
&bmo_create_cone_def,
|
||||
&bmo_join_triangles_def,
|
||||
&bmo_bevel_def,
|
||||
&bmo_beautify_fill_def,
|
||||
&bmo_triangle_fill_def,
|
||||
&bmo_bridge_loops_def,
|
||||
&bmo_solidify_def,
|
||||
&bmo_create_uvsphere_def,
|
||||
&bmo_create_vert_def,
|
||||
&bmo_delete_def,
|
||||
&bmo_dissolve_edge_loop_def,
|
||||
&bmo_dissolve_edges_def,
|
||||
&bmo_dissolve_faces_def,
|
||||
&bmo_dissolve_limit_def,
|
||||
&bmo_dissolve_verts_def,
|
||||
&bmo_duplicate_def,
|
||||
&bmo_edgenet_fill_def,
|
||||
&bmo_edgenet_prepare_def,
|
||||
&bmo_extrude_discrete_faces_def,
|
||||
&bmo_extrude_edge_only_def,
|
||||
&bmo_extrude_face_region_def,
|
||||
&bmo_extrude_vert_indiv_def,
|
||||
&bmo_find_doubles_def,
|
||||
&bmo_inset_def,
|
||||
&bmo_join_triangles_def,
|
||||
&bmo_mesh_to_bmesh_def,
|
||||
&bmo_mirror_def,
|
||||
&bmo_object_load_bmesh_def,
|
||||
&bmo_pointmerge_def,
|
||||
&bmo_pointmerge_facedata_def,
|
||||
&bmo_recalc_face_normals_def,
|
||||
&bmo_region_extend_def,
|
||||
&bmo_remove_doubles_def,
|
||||
&bmo_reverse_colors_def,
|
||||
&bmo_reverse_faces_def,
|
||||
&bmo_reverse_uvs_def,
|
||||
&bmo_rotate_colors_def,
|
||||
&bmo_rotate_def,
|
||||
&bmo_rotate_edges_def,
|
||||
&bmo_rotate_uvs_def,
|
||||
&bmo_scale_def,
|
||||
&bmo_shortest_path_def,
|
||||
&bmo_similar_edges_def,
|
||||
&bmo_similar_faces_def,
|
||||
&bmo_similar_verts_def,
|
||||
&bmo_slide_vert_def,
|
||||
&bmo_smooth_vert_def,
|
||||
&bmo_solidify_def,
|
||||
&bmo_spin_def,
|
||||
&bmo_split_def,
|
||||
&bmo_split_edges_def,
|
||||
&bmo_subdivide_edges_def,
|
||||
&bmo_transform_def,
|
||||
&bmo_translate_def,
|
||||
&bmo_triangle_fill_def,
|
||||
&bmo_triangulate_def,
|
||||
&bmo_weld_verts_def,
|
||||
&bmo_wireframe_def,
|
||||
&bmo_vertex_slide_def,
|
||||
&bmo_convex_hull_def,
|
||||
|
||||
};
|
||||
|
||||
int bmesh_total_ops = (sizeof(opdefines) / sizeof(void *));
|
||||
|
||||
@@ -194,7 +194,7 @@ int BMO_mesh_disabled_flag_count(BMesh *bm, const char htype, const short oflag)
|
||||
* this system is used to execute or initialize an operator,
|
||||
* using a formatted-string system.
|
||||
*
|
||||
* for example, BMO_op_callf(bm, "del geom=%hf context=%i", BM_ELEM_SELECT, DEL_FACES);
|
||||
* for example, BMO_op_callf(bm, "delete geom=%hf context=%i", BM_ELEM_SELECT, DEL_FACES);
|
||||
* . . .will execute the delete operator, feeding in selected faces, deleting them.
|
||||
*
|
||||
* the basic format for the format string is:
|
||||
|
||||
@@ -1320,7 +1320,7 @@ static int bmo_opname_to_opcode(const char *opname)
|
||||
}
|
||||
|
||||
/* Example:
|
||||
* BMO_op_callf(bm, "del %i %hv", DEL_ONLYFACES, BM_ELEM_SELECT);
|
||||
* BMO_op_callf(bm, "delete %i %hv", DEL_ONLYFACES, BM_ELEM_SELECT);
|
||||
*
|
||||
* i - int
|
||||
* b - boolean (same as int but 1/0 only)
|
||||
|
||||
@@ -33,74 +33,74 @@ struct BMOperator;
|
||||
void BMO_push(BMesh *bm, BMOperator *op);
|
||||
void BMO_pop(BMesh *bm);
|
||||
|
||||
void bmo_split_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_spin_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dupe_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_del_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_esubd_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_triangulate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_faces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_verts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_limit_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_vertex_slide_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_connectverts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_vert_indiv_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_mesh_to_bmesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bmesh_to_mesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_translate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_transform_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_contextual_create_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgenet_fill_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_makevert_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_edgeloop_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_weldverts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_remove_doubles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_finddoubles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_mirror_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgebisect_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_reversefaces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgerotate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_regionextend_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_righthandfaces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_vertexsmooth_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_face_indiv_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_collapse_uvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_pointmerge_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_collapse_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similarfaces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similaredges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similarverts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_pointmerge_facedata_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_vert_average_facedata_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_face_rotateuvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_object_load_bmesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_face_reverseuvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgenet_prepare(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotatecolors_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_face_reversecolors_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_vertexshortestpath_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_scale_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgesplit_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_automerge_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_cone_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_monkey_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_icosphere_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_uvsphere_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_grid_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_cube_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_join_triangles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bevel_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_average_vert_facedata_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_beautify_fill_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_triangle_fill_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_circle_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bevel_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bisect_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bmesh_to_mesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_bridge_loops_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_solidify_face_region_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_inset_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_wireframe_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_collapse_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_collapse_uvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_connect_verts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_contextual_create_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_convex_hull_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_circle_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_cone_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_cube_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_grid_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_icosphere_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_monkey_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_uvsphere_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_create_vert_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_delete_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_edgeloop_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_faces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_limit_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_dissolve_verts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_duplicate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgenet_fill_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_edgenet_prepare(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_discrete_faces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_edge_only_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_extrude_vert_indiv_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_find_doubles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_inset_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_join_triangles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_mesh_to_bmesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_mirror_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_object_load_bmesh_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_pointmerge_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_pointmerge_facedata_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_recalc_face_normals_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_region_extend_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_remove_doubles_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_reverse_colors_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_reverse_faces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_reverse_uvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotate_colors_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotate_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_rotate_uvs_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_scale_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_shortest_path_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similar_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similar_faces_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_similar_verts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_slide_vert_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_smooth_vert_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_solidify_face_region_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_spin_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_split_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_split_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_subdivide_edges_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_transform_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_translate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_triangle_fill_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_triangulate_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_weld_verts_exec(BMesh *bm, BMOperator *op);
|
||||
void bmo_wireframe_exec(BMesh *bm, BMOperator *op);
|
||||
|
||||
#endif /* __BMESH_OPERATORS_PRIVATE_H__ */
|
||||
|
||||
@@ -865,7 +865,7 @@ void bmo_bevel_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
#endif
|
||||
|
||||
BMO_op_callf(bm, "del geom=%fv context=%i", BEVEL_DEL, DEL_VERTS);
|
||||
BMO_op_callf(bm, "delete geom=%fv context=%i", BEVEL_DEL, DEL_VERTS);
|
||||
|
||||
/* clean up any edges that might not get properly delete */
|
||||
BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) {
|
||||
@@ -873,8 +873,8 @@ void bmo_bevel_exec(BMesh *bm, BMOperator *op)
|
||||
BMO_elem_flag_enable(bm, e, BEVEL_DEL);
|
||||
}
|
||||
|
||||
BMO_op_callf(bm, "del geom=%fe context=%i", BEVEL_DEL, DEL_EDGES);
|
||||
BMO_op_callf(bm, "del geom=%ff context=%i", BEVEL_DEL, DEL_FACES);
|
||||
BMO_op_callf(bm, "delete geom=%fe context=%i", BEVEL_DEL, DEL_EDGES);
|
||||
BMO_op_callf(bm, "delete geom=%ff context=%i", BEVEL_DEL, DEL_FACES);
|
||||
|
||||
BLI_smallhash_release(&hash);
|
||||
BLI_array_free(tags);
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#define EDGE_MARK 4
|
||||
#define EDGE_DONE 8
|
||||
|
||||
void bmo_connectverts_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_connect_verts_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMIter iter, liter;
|
||||
BMFace *f, *nf;
|
||||
|
||||
@@ -164,7 +164,7 @@ void bmo_dissolve_faces_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
}
|
||||
|
||||
BMO_op_callf(bm, "del geom=%ff context=%i", FACE_ORIG, DEL_FACES);
|
||||
BMO_op_callf(bm, "delete geom=%ff context=%i", FACE_ORIG, DEL_FACES);
|
||||
|
||||
|
||||
if (use_verts) {
|
||||
|
||||
@@ -314,7 +314,7 @@ static void BKE_mesh_copy(BMOperator *op, BMesh *source, BMesh *target)
|
||||
* BMOP_DUPE_FNEW: Buffer containing pointers to the new mesh faces
|
||||
*/
|
||||
|
||||
void bmo_dupe_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_duplicate_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOperator *dupeop = op;
|
||||
BMesh *bm2 = BMO_slot_ptr_get(op, "dest");
|
||||
@@ -345,7 +345,7 @@ void BMO_dupe_from_flag(BMesh *bm, int htype, const char hflag)
|
||||
{
|
||||
BMOperator dupeop;
|
||||
|
||||
BMO_op_init(bm, &dupeop, "dupe");
|
||||
BMO_op_init(bm, &dupeop, "duplicate");
|
||||
BMO_slot_buffer_from_enabled_hflag(bm, &dupeop, "geom", htype, hflag);
|
||||
|
||||
BMO_op_exec(bm, &dupeop);
|
||||
@@ -381,8 +381,8 @@ void bmo_split_exec(BMesh *bm, BMOperator *op)
|
||||
const short use_only_faces = BMO_slot_bool_get(op, "use_only_faces");
|
||||
|
||||
/* initialize our sub-operator */
|
||||
BMO_op_init(bm, &dupeop, "dupe");
|
||||
BMO_op_init(bm, &delop, "del");
|
||||
BMO_op_init(bm, &dupeop, "duplicate");
|
||||
BMO_op_init(bm, &delop, "delete");
|
||||
|
||||
BMO_slot_copy(splitop, &dupeop, "geom", "geom");
|
||||
BMO_op_exec(bm, &dupeop);
|
||||
@@ -443,7 +443,7 @@ void bmo_split_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
|
||||
|
||||
void bmo_del_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_delete_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
#define DEL_INPUT 1
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ static void bm_edgesplit_validate_seams(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
|
||||
/* keep this operator fast, its used in a modifier */
|
||||
void bmo_edgesplit_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_split_edges_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMEdge *e;
|
||||
|
||||
@@ -49,7 +49,7 @@ enum {
|
||||
#define VERT_NONMAN 2
|
||||
#define EDGE_NONMAN 2
|
||||
|
||||
void bmo_extrude_face_indiv_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_extrude_discrete_faces_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMIter liter, liter2;
|
||||
@@ -118,7 +118,7 @@ void bmo_extrude_face_indiv_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
BLI_array_free(edges);
|
||||
|
||||
BMO_op_callf(bm, "del geom=%ff context=%i", EXT_DEL, DEL_ONLYFACES);
|
||||
BMO_op_callf(bm, "delete geom=%ff context=%i", EXT_DEL, DEL_ONLYFACES);
|
||||
BMO_slot_buffer_from_enabled_flag(bm, op, "faceout", BM_FACE, EXT_KEEP);
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
|
||||
int found, fwd, delorig = FALSE;
|
||||
|
||||
/* initialize our sub-operators */
|
||||
BMO_op_init(bm, &dupeop, "dupe");
|
||||
BMO_op_init(bm, &dupeop, "duplicate");
|
||||
|
||||
BMO_slot_buffer_flag_enable(bm, op, "edgefacein", BM_EDGE | BM_FACE, EXT_INPUT);
|
||||
|
||||
@@ -341,7 +341,7 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
|
||||
if (delorig == TRUE) {
|
||||
BMO_op_initf(bm, &delop, "del geom=%fvef context=%i",
|
||||
BMO_op_initf(bm, &delop, "delete geom=%fvef context=%i",
|
||||
EXT_DEL, DEL_ONLYTAGGED);
|
||||
}
|
||||
|
||||
@@ -647,7 +647,7 @@ void bmo_solidify_face_region_exec(BMesh *bm, BMOperator *op)
|
||||
thickness = BMO_slot_float_get(op, "thickness");
|
||||
|
||||
/* Flip original faces (so the shell is extruded inward) */
|
||||
BMO_op_init(bm, &reverseop, "reversefaces");
|
||||
BMO_op_init(bm, &reverseop, "reverse_faces");
|
||||
BMO_slot_copy(op, &reverseop, "geom", "faces");
|
||||
BMO_op_exec(bm, &reverseop);
|
||||
BMO_op_finish(bm, &reverseop);
|
||||
|
||||
@@ -84,7 +84,7 @@ void bmo_mirror_exec(BMesh *bm, BMOperator *op)
|
||||
BMO_op_callf(bm, "scale verts=%fv vec=%v", ELE_NEW, scale);
|
||||
BMO_op_callf(bm, "transform verts=%fv mat=%m4", ELE_NEW, imtx);
|
||||
|
||||
BMO_op_init(bm, &weldop, "weldverts");
|
||||
BMO_op_init(bm, &weldop, "weld_verts");
|
||||
|
||||
v = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
|
||||
for (i = 0; i < ototvert; i++) {
|
||||
|
||||
@@ -427,7 +427,7 @@ void bmo_create_icosphere_exec(BMesh *bm, BMOperator *op)
|
||||
BMOperator bmop;
|
||||
|
||||
BMO_op_initf(bm, &bmop,
|
||||
"esubd edges=%fe "
|
||||
"subdivide_edges edges=%fe "
|
||||
"smooth=%f "
|
||||
"numcuts=%i "
|
||||
"use_gridfill=%b use_sphere=%b",
|
||||
|
||||
@@ -96,7 +96,7 @@ int remdoubles_face_overlaps(BMesh *bm, BMVert **varr,
|
||||
}
|
||||
#endif
|
||||
|
||||
void bmo_weldverts_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_weld_verts_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMIter iter, liter;
|
||||
BMVert *v, *v2;
|
||||
@@ -227,7 +227,7 @@ void bmo_weldverts_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
}
|
||||
|
||||
BMO_op_callf(bm, "del geom=%fvef context=%i", ELE_DEL, DEL_ONLYTAGGED);
|
||||
BMO_op_callf(bm, "delete geom=%fvef context=%i", ELE_DEL, DEL_ONLYTAGGED);
|
||||
|
||||
BLI_array_free(edges);
|
||||
BLI_array_free(loops);
|
||||
@@ -301,7 +301,7 @@ void bmo_pointmerge_facedata_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
}
|
||||
|
||||
void bmo_vert_average_facedata_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_average_vert_facedata_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMIter iter;
|
||||
@@ -345,10 +345,10 @@ void bmo_pointmerge_exec(BMesh *bm, BMOperator *op)
|
||||
BMVert *v, *snapv = NULL;
|
||||
float vec[3];
|
||||
|
||||
BMO_slot_vec_get(op, "mergeco", vec);
|
||||
BMO_slot_vec_get(op, "merge_co", vec);
|
||||
|
||||
//BMO_op_callf(bm, "collapse_uvs edges=%s", op, "edges");
|
||||
BMO_op_init(bm, &weldop, "weldverts");
|
||||
BMO_op_init(bm, &weldop, "weld_verts");
|
||||
|
||||
BMO_ITER (v, &siter, bm, op, "verts", BM_VERT) {
|
||||
if (!snapv) {
|
||||
@@ -375,7 +375,7 @@ void bmo_collapse_exec(BMesh *bm, BMOperator *op)
|
||||
int i, tot;
|
||||
|
||||
BMO_op_callf(bm, "collapse_uvs edges=%s", op, "edges");
|
||||
BMO_op_init(bm, &weldop, "weldverts");
|
||||
BMO_op_init(bm, &weldop, "weld_verts");
|
||||
|
||||
BMO_slot_buffer_flag_enable(bm, op, "edges", BM_EDGE, EDGE_MARK);
|
||||
|
||||
@@ -487,7 +487,7 @@ void bmo_collapse_uvs_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
}
|
||||
|
||||
void bmesh_finddoubles_common(BMesh *bm, BMOperator *op, BMOperator *optarget, const char *targetmapname)
|
||||
void bmesh_find_doubles_common(BMesh *bm, BMOperator *op, BMOperator *optarget, const char *targetmapname)
|
||||
{
|
||||
BMOIter oiter;
|
||||
BMVert *v, *v2;
|
||||
@@ -505,17 +505,17 @@ void bmesh_finddoubles_common(BMesh *bm, BMOperator *op, BMOperator *optarget, c
|
||||
verts[i++] = v;
|
||||
}
|
||||
|
||||
/* Test whether keepverts arg exists and is non-empty */
|
||||
if (BMO_slot_exists(op, "keepverts")) {
|
||||
keepvert = BMO_iter_new(&oiter, bm, op, "keepverts", BM_VERT) != NULL;
|
||||
/* Test whether keep_verts arg exists and is non-empty */
|
||||
if (BMO_slot_exists(op, "keep_verts")) {
|
||||
keepvert = BMO_iter_new(&oiter, bm, op, "keep_verts", BM_VERT) != NULL;
|
||||
}
|
||||
|
||||
/* sort by vertex coordinates added together */
|
||||
qsort(verts, BLI_array_count(verts), sizeof(void *), vergaverco);
|
||||
|
||||
/* Flag keepverts */
|
||||
/* Flag keep_verts */
|
||||
if (keepvert) {
|
||||
BMO_slot_buffer_flag_enable(bm, op, "keepverts", BM_VERT, VERT_KEEP);
|
||||
BMO_slot_buffer_flag_enable(bm, op, "keep_verts", BM_VERT, VERT_KEEP);
|
||||
}
|
||||
|
||||
len = BLI_array_count(verts);
|
||||
@@ -561,16 +561,16 @@ void bmo_remove_doubles_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOperator weldop;
|
||||
|
||||
BMO_op_init(bm, &weldop, "weldverts");
|
||||
bmesh_finddoubles_common(bm, op, &weldop, "targetmap");
|
||||
BMO_op_init(bm, &weldop, "weld_verts");
|
||||
bmesh_find_doubles_common(bm, op, &weldop, "targetmap");
|
||||
BMO_op_exec(bm, &weldop);
|
||||
BMO_op_finish(bm, &weldop);
|
||||
}
|
||||
|
||||
|
||||
void bmo_finddoubles_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_find_doubles_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
bmesh_finddoubles_common(bm, op, op, "targetmapout");
|
||||
bmesh_find_doubles_common(bm, op, op, "targetmapout");
|
||||
}
|
||||
|
||||
void bmo_automerge_exec(BMesh *bm, BMOperator *op)
|
||||
@@ -591,12 +591,12 @@ void bmo_automerge_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
/* Search for doubles among all vertices, but only merge non-VERT_KEEP
|
||||
* vertices into VERT_KEEP vertices. */
|
||||
BMO_op_initf(bm, &findop, "finddoubles verts=%av keepverts=%fv", VERT_KEEP);
|
||||
BMO_op_initf(bm, &findop, "find_doubles verts=%av keep_verts=%fv", VERT_KEEP);
|
||||
BMO_slot_copy(op, &findop, "dist", "dist");
|
||||
BMO_op_exec(bm, &findop);
|
||||
|
||||
/* weld the vertices */
|
||||
BMO_op_init(bm, &weldop, "weldverts");
|
||||
BMO_op_init(bm, &weldop, "weld_verts");
|
||||
BMO_slot_copy(&findop, &weldop, "targetmapout", "targetmap");
|
||||
BMO_op_exec(bm, &weldop);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
* Slides a vertex along a connected edge
|
||||
*
|
||||
*/
|
||||
void bmo_vertex_slide_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_slide_vert_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter oiter;
|
||||
BMIter iter;
|
||||
@@ -61,7 +61,7 @@ void bmo_vertex_slide_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
if (!vertex) {
|
||||
if (G.debug & G_DEBUG) {
|
||||
fprintf(stderr, "vertex_slide: No vertex selected...");
|
||||
fprintf(stderr, "slide_vert: No vertex selected...");
|
||||
}
|
||||
BMO_error_raise(bm, op, BMERR_INVALID_SELECTION, "Vertex Slide Error: Invalid selection.");
|
||||
return;
|
||||
@@ -81,7 +81,7 @@ void bmo_vertex_slide_exec(BMesh *bm, BMOperator *op)
|
||||
/* Only allow sliding if an edge is selected */
|
||||
if (selected_edges == 0) {
|
||||
if (G.debug & G_DEBUG) {
|
||||
fprintf(stderr, "vertex_slide: select a single edge\n");
|
||||
fprintf(stderr, "slide_vert: select a single edge\n");
|
||||
}
|
||||
BMO_error_raise(bm, op, BMERR_INVALID_SELECTION, "Vertex Slide Error: Invalid selection.");
|
||||
return;
|
||||
|
||||
@@ -672,7 +672,7 @@ typedef struct SubDFaceData {
|
||||
BMFace *face;
|
||||
} SubDFaceData;
|
||||
|
||||
void bmo_esubd_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_subdivide_edges_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOpSlot *einput;
|
||||
SubDPattern *pat;
|
||||
@@ -1038,7 +1038,7 @@ void BM_mesh_esubdivide(BMesh *bm, const char edge_hflag,
|
||||
|
||||
/* use_sphere isnt exposed here since its only used for new primitives */
|
||||
BMO_op_initf(bm, &op,
|
||||
"esubd edges=%he "
|
||||
"subdivide_edges edges=%he "
|
||||
"smooth=%f fractal=%f along_normal=%f "
|
||||
"numcuts=%i "
|
||||
"quadcornertype=%i "
|
||||
@@ -1096,7 +1096,7 @@ void BM_mesh_esubdivide(BMesh *bm, const char edge_hflag,
|
||||
BMO_op_finish(bm, &op);
|
||||
}
|
||||
|
||||
void bmo_edgebisect_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_bisect_edges_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMEdge *e;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
#include "intern/bmesh_operators_private.h" /* own include */
|
||||
|
||||
void bmo_makevert_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_create_vert_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
float vec[3];
|
||||
|
||||
@@ -108,7 +108,7 @@ void bmo_rotate_exec(BMesh *bm, BMOperator *op)
|
||||
BMO_op_callf(bm, "translate verts=%s vec=%v", op, "verts", vec);
|
||||
}
|
||||
|
||||
void bmo_reversefaces_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_reverse_faces_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMFace *f;
|
||||
@@ -118,7 +118,7 @@ void bmo_reversefaces_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
}
|
||||
|
||||
void bmo_edgerotate_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_rotate_edges_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMEdge *e, *e2;
|
||||
@@ -172,7 +172,7 @@ void bmo_edgerotate_exec(BMesh *bm, BMOperator *op)
|
||||
#define SEL_FLAG 1
|
||||
#define SEL_ORIG 2
|
||||
|
||||
static void bmo_regionextend_extend(BMesh *bm, BMOperator *op, int usefaces)
|
||||
static void bmo_region_extend_extend(BMesh *bm, BMOperator *op, int usefaces)
|
||||
{
|
||||
BMVert *v;
|
||||
BMEdge *e;
|
||||
@@ -211,7 +211,7 @@ static void bmo_regionextend_extend(BMesh *bm, BMOperator *op, int usefaces)
|
||||
}
|
||||
}
|
||||
|
||||
static void bmo_regionextend_constrict(BMesh *bm, BMOperator *op, int usefaces)
|
||||
static void bmo_region_extend_constrict(BMesh *bm, BMOperator *op, int usefaces)
|
||||
{
|
||||
BMVert *v;
|
||||
BMEdge *e;
|
||||
@@ -253,7 +253,7 @@ static void bmo_regionextend_constrict(BMesh *bm, BMOperator *op, int usefaces)
|
||||
}
|
||||
}
|
||||
|
||||
void bmo_regionextend_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_region_extend_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
int use_faces = BMO_slot_bool_get(op, "use_faces");
|
||||
int constrict = BMO_slot_bool_get(op, "constrict");
|
||||
@@ -261,9 +261,9 @@ void bmo_regionextend_exec(BMesh *bm, BMOperator *op)
|
||||
BMO_slot_buffer_flag_enable(bm, op, "geom", BM_ALL, SEL_ORIG);
|
||||
|
||||
if (constrict)
|
||||
bmo_regionextend_constrict(bm, op, use_faces);
|
||||
bmo_region_extend_constrict(bm, op, use_faces);
|
||||
else
|
||||
bmo_regionextend_extend(bm, op, use_faces);
|
||||
bmo_region_extend_extend(bm, op, use_faces);
|
||||
|
||||
BMO_slot_buffer_from_enabled_flag(bm, op, "geomout", BM_ALL, SEL_FLAG);
|
||||
}
|
||||
@@ -275,7 +275,7 @@ void bmo_regionextend_exec(BMesh *bm, BMOperator *op)
|
||||
#define FACE_MARK 4
|
||||
#define FACE_FLIP 8
|
||||
|
||||
/* NOTE: these are the original righthandfaces comment in editmesh_mods.c,
|
||||
/* NOTE: these are the original recalc_face_normals comment in editmesh_mods.c,
|
||||
* copied here for reference. */
|
||||
|
||||
/* based at a select-connected to witness loose objects */
|
||||
@@ -296,7 +296,7 @@ void bmo_regionextend_exec(BMesh *bm, BMOperator *op)
|
||||
|
||||
/* NOTE: BM_ELEM_TAG is used on faces to tell if they are flipped. */
|
||||
|
||||
void bmo_righthandfaces_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_recalc_face_normals_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMIter liter, liter2;
|
||||
BMOIter siter;
|
||||
@@ -397,13 +397,13 @@ void bmo_righthandfaces_exec(BMesh *bm, BMOperator *op)
|
||||
/* check if we have faces yet to do. if so, recurse */
|
||||
BMO_ITER (f, &siter, bm, op, "faces", BM_FACE) {
|
||||
if (!BMO_elem_flag_test(bm, f, FACE_VIS)) {
|
||||
bmo_righthandfaces_exec(bm, op);
|
||||
bmo_recalc_face_normals_exec(bm, op);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void bmo_vertexsmooth_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_smooth_vert_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter siter;
|
||||
BMIter iter;
|
||||
@@ -511,7 +511,7 @@ typedef struct SimSel_FaceExt {
|
||||
* Select similar faces, the choices are in the enum in source/blender/bmesh/bmesh_operators.h
|
||||
* We select either similar faces based on material, image, area, perimeter, normal, or the coplanar faces
|
||||
*/
|
||||
void bmo_similarfaces_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_similar_faces_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMIter fm_iter;
|
||||
BMFace *fs, *fm;
|
||||
@@ -684,7 +684,7 @@ typedef struct SimSel_EdgeExt {
|
||||
* select similar edges: the choices are in the enum in source/blender/bmesh/bmesh_operators.h
|
||||
* choices are length, direction, face, ...
|
||||
*/
|
||||
void bmo_similaredges_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_similar_edges_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter es_iter; /* selected edges iterator */
|
||||
BMIter e_iter; /* mesh edges iterator */
|
||||
@@ -882,7 +882,7 @@ typedef struct SimSel_VertExt {
|
||||
* select similar vertices: the choices are in the enum in source/blender/bmesh/bmesh_operators.h
|
||||
* choices are normal, face, vertex group...
|
||||
*/
|
||||
void bmo_similarverts_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_similar_verts_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter vs_iter; /* selected verts iterator */
|
||||
BMIter v_iter; /* mesh verts iterator */
|
||||
@@ -996,7 +996,7 @@ void bmo_similarverts_exec(BMesh *bm, BMOperator *op)
|
||||
* Cycle UVs for a face
|
||||
**************************************************************************** */
|
||||
|
||||
void bmo_face_rotateuvs_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_rotate_uvs_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter fs_iter; /* selected faces iterator */
|
||||
BMFace *fs; /* current face */
|
||||
@@ -1063,7 +1063,7 @@ void bmo_face_rotateuvs_exec(BMesh *bm, BMOperator *op)
|
||||
* Reverse UVs for a face
|
||||
**************************************************************************** */
|
||||
|
||||
void bmo_face_reverseuvs_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_reverse_uvs_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter fs_iter; /* selected faces iterator */
|
||||
BMFace *fs; /* current face */
|
||||
@@ -1103,7 +1103,7 @@ void bmo_face_reverseuvs_exec(BMesh *bm, BMOperator *op)
|
||||
* Cycle colors for a face
|
||||
**************************************************************************** */
|
||||
|
||||
void bmo_rotatecolors_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_rotate_colors_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter fs_iter; /* selected faces iterator */
|
||||
BMFace *fs; /* current face */
|
||||
@@ -1169,7 +1169,7 @@ void bmo_rotatecolors_exec(BMesh *bm, BMOperator *op)
|
||||
* Reverse colors for a face
|
||||
*************************************************************************** */
|
||||
|
||||
void bmo_face_reversecolors_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_reverse_colors_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter fs_iter; /* selected faces iterator */
|
||||
BMFace *fs; /* current face */
|
||||
@@ -1213,7 +1213,7 @@ typedef struct ElemNode {
|
||||
HeapNode *hn; /* heap node */
|
||||
} ElemNode;
|
||||
|
||||
void bmo_vertexshortestpath_exec(BMesh *bm, BMOperator *op)
|
||||
void bmo_shortest_path_exec(BMesh *bm, BMOperator *op)
|
||||
{
|
||||
BMOIter vs_iter /* , vs2_iter */; /* selected verts iterator */
|
||||
BMIter v_iter; /* mesh verts iterator */
|
||||
|
||||
@@ -2007,9 +2007,9 @@ static void knifenet_fill_faces(KnifeTool_OpData *kcd)
|
||||
remerge_faces(kcd);
|
||||
|
||||
/* delete left over faces */
|
||||
BMO_op_callf(bm, "del geom=%ff context=%i", DEL, DEL_ONLYFACES);
|
||||
BMO_op_callf(bm, "del geom=%fe context=%i", DEL, DEL_EDGES);
|
||||
BMO_op_callf(bm, "del geom=%fv context=%i", DEL, DEL_VERTS);
|
||||
BMO_op_callf(bm, "delete geom=%ff context=%i", DEL, DEL_ONLYFACES);
|
||||
BMO_op_callf(bm, "delete geom=%fe context=%i", DEL, DEL_EDGES);
|
||||
BMO_op_callf(bm, "delete geom=%fv context=%i", DEL, DEL_VERTS);
|
||||
|
||||
if (face_nets)
|
||||
MEM_freeN(face_nets);
|
||||
|
||||
@@ -347,7 +347,7 @@ static int edbm_rip_call_edgesplit(BMEditMesh *em, wmOperator *op)
|
||||
{
|
||||
BMOperator bmop;
|
||||
|
||||
if (!EDBM_op_init(em, &bmop, op, "edgesplit edges=%he verts=%hv use_verts=%b",
|
||||
if (!EDBM_op_init(em, &bmop, op, "split_edges edges=%he verts=%hv use_verts=%b",
|
||||
BM_ELEM_TAG, BM_ELEM_SELECT, TRUE))
|
||||
{
|
||||
return FALSE;
|
||||
|
||||
@@ -710,7 +710,7 @@ static int similar_face_select_exec(bContext *C, wmOperator *op)
|
||||
float thresh = RNA_float_get(op->ptr, "threshold");
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "similarfaces faces=%hf type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
EDBM_op_init(em, &bmop, op, "similar_faces faces=%hf type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -748,7 +748,7 @@ static int similar_edge_select_exec(bContext *C, wmOperator *op)
|
||||
float thresh = RNA_float_get(op->ptr, "threshold");
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "similaredges edges=%he type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
EDBM_op_init(em, &bmop, op, "similar_edges edges=%he type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -789,7 +789,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
|
||||
float thresh = RNA_float_get(op->ptr, "threshold");
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "similarverts verts=%hv type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
EDBM_op_init(em, &bmop, op, "similar_verts verts=%hv type=%i thresh=%f", BM_ELEM_SELECT, type, thresh);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
|
||||
@@ -211,7 +211,7 @@ static void vtx_slide_confirm(bContext *C, wmOperator *op)
|
||||
if (other_d < vso->snap_threshold) {
|
||||
BM_vert_select_set(bm, other, TRUE);
|
||||
BM_vert_select_set(bm, vso->start_vtx, TRUE);
|
||||
EDBM_op_callf(em, op, "pointmerge verts=%hv mergeco=%v", BM_ELEM_SELECT, other->co);
|
||||
EDBM_op_callf(em, op, "pointmerge verts=%hv merge_co=%v", BM_ELEM_SELECT, other->co);
|
||||
EDBM_flag_disable_all(em, BM_ELEM_SELECT);
|
||||
}
|
||||
else {
|
||||
@@ -687,7 +687,7 @@ static int edbm_vertex_slide_exec(bContext *C, wmOperator *op)
|
||||
|
||||
/* Prepare operator */
|
||||
if (!EDBM_op_init(em, &bmop, op,
|
||||
"vertex_slide vert=%e edge=%hev distance_t=%f",
|
||||
"slide_vert vert=%e edge=%hev distance_t=%f",
|
||||
start_vert, BM_ELEM_SELECT, distance_t))
|
||||
{
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
@@ -172,7 +172,7 @@ void EMBM_project_snap_verts(bContext *C, ARegion *ar, Object *obedit, BMEditMes
|
||||
|
||||
/* individual face extrude */
|
||||
/* will use vertex normals for extrusion directions, so *nor is unaffected */
|
||||
static short edbm_extrude_face_indiv(BMEditMesh *em, wmOperator *op, const char hflag, float *UNUSED(nor))
|
||||
static short edbm_extrude_discrete_faces(BMEditMesh *em, wmOperator *op, const char hflag, float *UNUSED(nor))
|
||||
{
|
||||
BMOIter siter;
|
||||
BMIter liter;
|
||||
@@ -180,7 +180,7 @@ static short edbm_extrude_face_indiv(BMEditMesh *em, wmOperator *op, const char
|
||||
BMLoop *l;
|
||||
BMOperator bmop;
|
||||
|
||||
EDBM_op_init(em, &bmop, op, "extrude_face_indiv faces=%hf", hflag);
|
||||
EDBM_op_init(em, &bmop, op, "extrude_discrete_faces faces=%hf", hflag);
|
||||
|
||||
/* deselect original verts */
|
||||
EDBM_flag_disable_all(em, BM_ELEM_SELECT);
|
||||
@@ -473,7 +473,7 @@ static int edbm_extrude_mesh(Scene *scene, Object *obedit, BMEditMesh *em, wmOpe
|
||||
else if (nr == 1) transmode = edbm_extrude_edge(obedit, em, BM_ELEM_SELECT, nor);
|
||||
else if (nr == 4) transmode = edbm_extrude_verts_indiv(em, op, BM_ELEM_SELECT, nor);
|
||||
else if (nr == 3) transmode = edbm_extrude_edges_indiv(em, op, BM_ELEM_SELECT, nor);
|
||||
else transmode = edbm_extrude_face_indiv(em, op, BM_ELEM_SELECT, nor);
|
||||
else transmode = edbm_extrude_discrete_faces(em, op, BM_ELEM_SELECT, nor);
|
||||
|
||||
if (transmode == 0) {
|
||||
BKE_report(op->reports, RPT_ERROR, "Not a valid selection for extrude");
|
||||
@@ -614,7 +614,7 @@ static int edbm_extrude_faces_exec(bContext *C, wmOperator *op)
|
||||
BMEditMesh *em = BMEdit_FromObject(obedit);
|
||||
float nor[3];
|
||||
|
||||
edbm_extrude_face_indiv(em, op, BM_ELEM_SELECT, nor);
|
||||
edbm_extrude_discrete_faces(em, op, BM_ELEM_SELECT, nor);
|
||||
|
||||
EDBM_update_generic(C, em, TRUE);
|
||||
|
||||
@@ -853,7 +853,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent
|
||||
invert_m4_m4(vc.obedit->imat, vc.obedit->obmat);
|
||||
mul_m4_v3(vc.obedit->imat, min); // back in object space
|
||||
|
||||
EDBM_op_init(vc.em, &bmop, op, "makevert co=%v", min);
|
||||
EDBM_op_init(vc.em, &bmop, op, "create_vert co=%v", min);
|
||||
BMO_op_exec(vc.em->bm, &bmop);
|
||||
|
||||
BMO_ITER (v1, &oiter, vc.em->bm, &bmop, "newvertout", BM_VERT) {
|
||||
@@ -912,24 +912,24 @@ static int edbm_delete_exec(bContext *C, wmOperator *op)
|
||||
int type = RNA_enum_get(op->ptr, "type");
|
||||
|
||||
if (type == 0) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%hv context=%i", BM_ELEM_SELECT, DEL_VERTS)) /* Erase Vertices */
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%hv context=%i", BM_ELEM_SELECT, DEL_VERTS)) /* Erase Vertices */
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
else if (type == 1) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%he context=%i", BM_ELEM_SELECT, DEL_EDGES)) /* Erase Edges */
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%he context=%i", BM_ELEM_SELECT, DEL_EDGES)) /* Erase Edges */
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
else if (type == 2) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%hf context=%i", BM_ELEM_SELECT, DEL_FACES)) /* Erase Faces */
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%hf context=%i", BM_ELEM_SELECT, DEL_FACES)) /* Erase Faces */
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
else if (type == 3) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%hef context=%i", BM_ELEM_SELECT, DEL_EDGESFACES)) /* Edges and Faces */
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%hef context=%i", BM_ELEM_SELECT, DEL_EDGESFACES)) /* Edges and Faces */
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
else if (type == 4) {
|
||||
//"Erase Only Faces";
|
||||
if (!EDBM_op_callf(em, op, "del geom=%hf context=%i",
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%hf context=%i",
|
||||
BM_ELEM_SELECT, DEL_ONLYFACES))
|
||||
{
|
||||
return OPERATOR_CANCELLED;
|
||||
@@ -1197,7 +1197,7 @@ static int edbm_vert_connect(bContext *C, wmOperator *op)
|
||||
BMOperator bmop;
|
||||
int len = 0;
|
||||
|
||||
if (!EDBM_op_init(em, &bmop, op, "connectverts verts=%hv", BM_ELEM_SELECT)) {
|
||||
if (!EDBM_op_init(em, &bmop, op, "connect_verts verts=%hv", BM_ELEM_SELECT)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
BMO_op_exec(bm, &bmop);
|
||||
@@ -1234,7 +1234,7 @@ static int edbm_edge_split_exec(bContext *C, wmOperator *op)
|
||||
BMOperator bmop;
|
||||
int len = 0;
|
||||
|
||||
if (!EDBM_op_init(em, &bmop, op, "edgesplit edges=%he", BM_ELEM_SELECT)) {
|
||||
if (!EDBM_op_init(em, &bmop, op, "split_edges edges=%he", BM_ELEM_SELECT)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
BMO_op_exec(bm, &bmop);
|
||||
@@ -1318,7 +1318,7 @@ static int edbm_flip_normals_exec(bContext *C, wmOperator *op)
|
||||
Object *obedit = CTX_data_edit_object(C);
|
||||
BMEditMesh *em = BMEdit_FromObject(obedit);
|
||||
|
||||
if (!EDBM_op_callf(em, op, "reversefaces faces=%hf", BM_ELEM_SELECT))
|
||||
if (!EDBM_op_callf(em, op, "reverse_faces faces=%hf", BM_ELEM_SELECT))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
EDBM_update_generic(C, em, TRUE);
|
||||
@@ -1386,7 +1386,7 @@ static int edbm_edge_rotate_selected_exec(bContext *C, wmOperator *op)
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
EDBM_op_init(em, &bmop, op, "edgerotate edges=%he ccw=%b", BM_ELEM_TAG, do_ccw);
|
||||
EDBM_op_init(em, &bmop, op, "rotate_edges edges=%he ccw=%b", BM_ELEM_TAG, do_ccw);
|
||||
|
||||
/* avoids leaving old verts selected which can be a problem running multiple times,
|
||||
* since this means the edges become selected around the face which then attempt to rotate */
|
||||
@@ -1490,11 +1490,11 @@ static int edbm_normals_make_consistent_exec(bContext *C, wmOperator *op)
|
||||
|
||||
/* doflip has to do with bmesh_rationalize_normals, it's an internal
|
||||
* thing */
|
||||
if (!EDBM_op_callf(em, op, "righthandfaces faces=%hf do_flip=%b", BM_ELEM_SELECT, TRUE))
|
||||
if (!EDBM_op_callf(em, op, "recalc_face_normals faces=%hf do_flip=%b", BM_ELEM_SELECT, TRUE))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
if (RNA_boolean_get(op->ptr, "inside"))
|
||||
EDBM_op_callf(em, op, "reversefaces faces=%hf", BM_ELEM_SELECT);
|
||||
EDBM_op_callf(em, op, "reverse_faces faces=%hf", BM_ELEM_SELECT);
|
||||
|
||||
EDBM_update_generic(C, em, TRUE);
|
||||
|
||||
@@ -1560,7 +1560,7 @@ static int edbm_do_smooth_vertex_exec(bContext *C, wmOperator *op)
|
||||
|
||||
for (i = 0; i < repeat; i++) {
|
||||
if (!EDBM_op_callf(em, op,
|
||||
"vertexsmooth verts=%hv mirror_clip_x=%b mirror_clip_y=%b mirror_clip_z=%b clipdist=%f",
|
||||
"smooth_vert verts=%hv mirror_clip_x=%b mirror_clip_y=%b mirror_clip_z=%b clipdist=%f",
|
||||
BM_ELEM_SELECT, mirrx, mirry, mirrz, clipdist))
|
||||
{
|
||||
return OPERATOR_CANCELLED;
|
||||
@@ -1678,7 +1678,7 @@ static int edbm_rotate_uvs_exec(bContext *C, wmOperator *op)
|
||||
int dir = RNA_enum_get(op->ptr, "direction");
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "face_rotateuvs faces=%hf dir=%i", BM_ELEM_SELECT, dir);
|
||||
EDBM_op_init(em, &bmop, op, "rotate_uvs faces=%hf dir=%i", BM_ELEM_SELECT, dir);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -1701,7 +1701,7 @@ static int edbm_reverse_uvs_exec(bContext *C, wmOperator *op)
|
||||
BMOperator bmop;
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "face_reverseuvs faces=%hf", BM_ELEM_SELECT);
|
||||
EDBM_op_init(em, &bmop, op, "reverse_uvs faces=%hf", BM_ELEM_SELECT);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -1727,7 +1727,7 @@ static int edbm_rotate_colors_exec(bContext *C, wmOperator *op)
|
||||
int dir = RNA_enum_get(op->ptr, "direction");
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "face_rotatecolors faces=%hf dir=%i", BM_ELEM_SELECT, dir);
|
||||
EDBM_op_init(em, &bmop, op, "rotate_colors faces=%hf dir=%i", BM_ELEM_SELECT, dir);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -1752,7 +1752,7 @@ static int edbm_reverse_colors_exec(bContext *C, wmOperator *op)
|
||||
BMOperator bmop;
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "face_reversecolors faces=%hf", BM_ELEM_SELECT);
|
||||
EDBM_op_init(em, &bmop, op, "reverse_colors faces=%hf", BM_ELEM_SELECT);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -1865,7 +1865,7 @@ static int merge_firstlast(BMEditMesh *em, int first, int uvmerge, wmOperator *w
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
if (!EDBM_op_callf(em, wmop, "pointmerge verts=%hv mergeco=%v", BM_ELEM_SELECT, mergevert->co))
|
||||
if (!EDBM_op_callf(em, wmop, "pointmerge verts=%hv merge_co=%v", BM_ELEM_SELECT, mergevert->co))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
@@ -1906,11 +1906,11 @@ static int merge_target(BMEditMesh *em, Scene *scene, View3D *v3d, Object *ob,
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
if (uvmerge) {
|
||||
if (!EDBM_op_callf(em, wmop, "vert_average_facedata verts=%hv", BM_ELEM_SELECT))
|
||||
if (!EDBM_op_callf(em, wmop, "average_vert_facedata verts=%hv", BM_ELEM_SELECT))
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
if (!EDBM_op_callf(em, wmop, "pointmerge verts=%hv mergeco=%v", BM_ELEM_SELECT, co))
|
||||
if (!EDBM_op_callf(em, wmop, "pointmerge verts=%hv merge_co=%v", BM_ELEM_SELECT, co))
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
@@ -2032,12 +2032,12 @@ static int edbm_remove_doubles_exec(bContext *C, wmOperator *op)
|
||||
BMOperator bmop;
|
||||
int count;
|
||||
|
||||
EDBM_op_init(em, &bmop, op, "finddoubles verts=%hv dist=%f", BM_ELEM_SELECT, RNA_float_get(op->ptr, "mergedist"));
|
||||
EDBM_op_init(em, &bmop, op, "find_doubles verts=%hv dist=%f", BM_ELEM_SELECT, RNA_float_get(op->ptr, "mergedist"));
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
|
||||
count = BMO_slot_map_count(em->bm, &bmop, "targetmapout");
|
||||
|
||||
if (!EDBM_op_callf(em, op, "weldverts targetmap=%s", &bmop, "targetmapout")) {
|
||||
if (!EDBM_op_callf(em, op, "weld_verts targetmap=%s", &bmop, "targetmapout")) {
|
||||
BMO_op_finish(em->bm, &bmop);
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
@@ -2109,7 +2109,7 @@ static int edbm_select_vertex_path_exec(bContext *C, wmOperator *op)
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
/* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */
|
||||
EDBM_op_init(em, &bmop, op, "vertexshortestpath startv=%e endv=%e type=%i", sv->ele, ev->ele, type);
|
||||
EDBM_op_init(em, &bmop, op, "shortest_path startv=%e endv=%e type=%i", sv->ele, ev->ele, type);
|
||||
|
||||
/* execute the operator */
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
@@ -2714,7 +2714,7 @@ static int edbm_knife_cut_exec(bContext *C, wmOperator *op)
|
||||
BLI_ghash_insert(gh, bv, scr);
|
||||
}
|
||||
|
||||
if (!EDBM_op_init(em, &bmop, op, "esubd")) {
|
||||
if (!EDBM_op_init(em, &bmop, op, "subdivide_edges")) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
@@ -2820,7 +2820,7 @@ static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase, wmO
|
||||
ED_base_object_select(basenew, BA_DESELECT);
|
||||
|
||||
EDBM_op_callf(em, wmop, "dupe geom=%hvef dest=%p", BM_ELEM_SELECT, bm_new);
|
||||
EDBM_op_callf(em, wmop, "del geom=%hvef context=%i", BM_ELEM_SELECT, DEL_FACES);
|
||||
EDBM_op_callf(em, wmop, "delete geom=%hvef context=%i", BM_ELEM_SELECT, DEL_FACES);
|
||||
|
||||
/* clean up any loose edges */
|
||||
BM_ITER_MESH (e, &iter, em->bm, BM_EDGES_OF_MESH) {
|
||||
@@ -2831,7 +2831,7 @@ static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase, wmO
|
||||
BM_edge_select_set(em->bm, e, FALSE);
|
||||
}
|
||||
}
|
||||
EDBM_op_callf(em, wmop, "del geom=%hvef context=%i", BM_ELEM_SELECT, DEL_EDGES);
|
||||
EDBM_op_callf(em, wmop, "delete geom=%hvef context=%i", BM_ELEM_SELECT, DEL_EDGES);
|
||||
|
||||
/* clean up any loose verts */
|
||||
BM_ITER_MESH (v, &iter, em->bm, BM_VERTS_OF_MESH) {
|
||||
@@ -2843,7 +2843,7 @@ static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase, wmO
|
||||
}
|
||||
}
|
||||
|
||||
EDBM_op_callf(em, wmop, "del geom=%hvef context=%i", BM_ELEM_SELECT, DEL_VERTS);
|
||||
EDBM_op_callf(em, wmop, "delete geom=%hvef context=%i", BM_ELEM_SELECT, DEL_VERTS);
|
||||
|
||||
BM_mesh_normals_update(bm_new, TRUE);
|
||||
|
||||
@@ -4966,7 +4966,7 @@ static int edbm_wireframe_exec(bContext *C, wmOperator *op)
|
||||
BM_mesh_elem_hflag_disable_all(em->bm, BM_FACE, BM_ELEM_TAG, FALSE);
|
||||
BMO_slot_buffer_hflag_enable(em->bm, &bmop, "faces", BM_FACE, BM_ELEM_TAG, FALSE);
|
||||
|
||||
BMO_op_callf(em->bm, "del geom=%hvef context=%i", BM_ELEM_TAG, DEL_FACES);
|
||||
BMO_op_callf(em->bm, "delete geom=%hvef context=%i", BM_ELEM_TAG, DEL_FACES);
|
||||
}
|
||||
|
||||
BM_mesh_elem_hflag_disable_all(em->bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT, FALSE);
|
||||
@@ -5032,7 +5032,7 @@ static int edbm_convex_hull_exec(bContext *C, wmOperator *op)
|
||||
|
||||
/* Delete unused vertices, edges, and faces */
|
||||
if (RNA_boolean_get(op->ptr, "delete_unused")) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%s context=%i",
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%s context=%i",
|
||||
&bmop, "unused_geom", DEL_ONLYTAGGED))
|
||||
{
|
||||
EDBM_op_finish(em, &bmop, op, TRUE);
|
||||
@@ -5042,7 +5042,7 @@ static int edbm_convex_hull_exec(bContext *C, wmOperator *op)
|
||||
|
||||
/* Delete hole edges/faces */
|
||||
if (RNA_boolean_get(op->ptr, "make_holes")) {
|
||||
if (!EDBM_op_callf(em, op, "del geom=%s context=%i",
|
||||
if (!EDBM_op_callf(em, op, "delete geom=%s context=%i",
|
||||
&bmop, "holes_geom", DEL_ONLYTAGGED))
|
||||
{
|
||||
EDBM_op_finish(em, &bmop, op, TRUE);
|
||||
|
||||
@@ -485,7 +485,7 @@ void EDBM_select_more(BMEditMesh *em)
|
||||
int use_faces = em->selectmode == SCE_SELECT_FACE;
|
||||
|
||||
BMO_op_initf(em->bm, &bmop,
|
||||
"regionextend geom=%hvef constrict=%b use_faces=%b",
|
||||
"region_extend geom=%hvef constrict=%b use_faces=%b",
|
||||
BM_ELEM_SELECT, FALSE, use_faces);
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
/* don't flush selection in edge/vertex mode */
|
||||
@@ -501,7 +501,7 @@ void EDBM_select_less(BMEditMesh *em)
|
||||
int use_faces = em->selectmode == SCE_SELECT_FACE;
|
||||
|
||||
BMO_op_initf(em->bm, &bmop,
|
||||
"regionextend geom=%hvef constrict=%b use_faces=%b",
|
||||
"region_extend geom=%hvef constrict=%b use_faces=%b",
|
||||
BM_ELEM_SELECT, TRUE, use_faces);
|
||||
BMO_op_exec(em->bm, &bmop);
|
||||
/* don't flush selection in edge/vertex mode */
|
||||
|
||||
@@ -173,7 +173,7 @@ static int *find_doubles_index_map(BMesh *bm, BMOperator *dupe_op,
|
||||
int *index_map, i;
|
||||
|
||||
BMO_op_initf(bm, &find_op,
|
||||
"finddoubles verts=%av dist=%f keepverts=%s",
|
||||
"find_doubles verts=%av dist=%f keep_verts=%s",
|
||||
amd->merge_dist, dupe_op, "geom");
|
||||
|
||||
BMO_op_exec(bm, &find_op);
|
||||
@@ -235,7 +235,7 @@ static void bm_merge_dm_transform(BMesh *bm, DerivedMesh *dm, float mat[4][4],
|
||||
BMOperator find_op;
|
||||
|
||||
BMO_op_initf(bm, &find_op,
|
||||
"finddoubles verts=%Hv dist=%f keepverts=%s",
|
||||
"find_doubles verts=%Hv dist=%f keep_verts=%s",
|
||||
BM_ELEM_TAG, amd->merge_dist,
|
||||
dupe_op, dupe_slot_name);
|
||||
|
||||
@@ -287,7 +287,7 @@ static void merge_first_last(BMesh *bm,
|
||||
BMVert *v, *v2;
|
||||
|
||||
BMO_op_initf(bm, &find_op,
|
||||
"finddoubles verts=%s dist=%f keepverts=%s",
|
||||
"find_doubles verts=%s dist=%f keep_verts=%s",
|
||||
dupe_first, "geom", amd->merge_dist,
|
||||
dupe_first, "geom");
|
||||
|
||||
@@ -410,7 +410,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
|
||||
bmesh_edit_begin(em->bm, 0);
|
||||
|
||||
if (amd->flags & MOD_ARR_MERGE)
|
||||
BMO_op_init(em->bm, &weld_op, "weldverts");
|
||||
BMO_op_init(em->bm, &weld_op, "weld_verts");
|
||||
|
||||
BMO_op_initf(em->bm, &dupe_op, "dupe geom=%avef");
|
||||
first_dupe_op = dupe_op;
|
||||
|
||||
@@ -103,7 +103,7 @@ static DerivedMesh *doEdgeSplit(DerivedMesh *dm, EdgeSplitModifierData *emd, Obj
|
||||
}
|
||||
}
|
||||
|
||||
BMO_op_callf(bm, "edgesplit edges=%fe", EDGE_MARK);
|
||||
BMO_op_callf(bm, "split_edges edges=%fe", EDGE_MARK);
|
||||
|
||||
BMO_pop(bm);
|
||||
|
||||
|
||||
@@ -318,7 +318,7 @@ static int build_hull(SkinOutput *so, Frame **frames, int totframe)
|
||||
|
||||
BMO_op_finish(bm, &op);
|
||||
|
||||
BMO_op_callf(bm, "del geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED);
|
||||
BMO_op_callf(bm, "delete geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1035,7 +1035,7 @@ static BMFace *collapse_face_corners(BMesh *bm, BMFace *f, int n,
|
||||
int i;
|
||||
|
||||
shortest_edge = BM_face_find_shortest_loop(f)->e;
|
||||
BMO_op_initf(bm, &op, "weldverts");
|
||||
BMO_op_initf(bm, &op, "weld_verts");
|
||||
|
||||
/* Note: could probably calculate merges in one go to be
|
||||
* faster */
|
||||
@@ -1175,7 +1175,7 @@ static void skin_fix_hole_no_good_verts(BMesh *bm, Frame *frame, BMFace *split_f
|
||||
/* Extrude the split face */
|
||||
BM_mesh_elem_hflag_disable_all(bm, BM_FACE, BM_ELEM_TAG, FALSE);
|
||||
BM_elem_flag_enable(split_face, BM_ELEM_TAG);
|
||||
BMO_op_initf(bm, &op, "extrude_face_indiv faces=%hf", BM_ELEM_TAG);
|
||||
BMO_op_initf(bm, &op, "extrude_discrete_faces faces=%hf", BM_ELEM_TAG);
|
||||
BMO_op_exec(bm, &op);
|
||||
|
||||
/* Update split face (should only be one new face created
|
||||
@@ -1198,7 +1198,7 @@ static void skin_fix_hole_no_good_verts(BMesh *bm, Frame *frame, BMFace *split_f
|
||||
BM_mesh_elem_hflag_disable_all(bm, BM_EDGE, BM_ELEM_TAG, FALSE);
|
||||
BM_elem_flag_enable(longest_edge, BM_ELEM_TAG);
|
||||
|
||||
BMO_op_callf(bm, "esubd edges=%he numcuts=%i quadcornertype=%i",
|
||||
BMO_op_callf(bm, "subdivide_edges edges=%he numcuts=%i quadcornertype=%i",
|
||||
BM_ELEM_TAG, 1, SUBD_STRAIGHT_CUT);
|
||||
}
|
||||
else if (split_face->len > 4) {
|
||||
@@ -1230,7 +1230,7 @@ static void skin_fix_hole_no_good_verts(BMesh *bm, Frame *frame, BMFace *split_f
|
||||
|
||||
/* Delete split face and merge */
|
||||
BM_face_kill(bm, split_face);
|
||||
BMO_op_init(bm, &op, "weldverts");
|
||||
BMO_op_init(bm, &op, "weld_verts");
|
||||
for (i = 0; i < 4; i++) {
|
||||
BMO_slot_map_ptr_insert(bm, &op, "targetmap",
|
||||
verts[i], frame->verts[best_order[i]]);
|
||||
@@ -1395,7 +1395,7 @@ static void hull_merge_triangles(SkinOutput *so, const SkinModifierData *smd)
|
||||
}
|
||||
}
|
||||
|
||||
BMO_op_callf(so->bm, "del geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED);
|
||||
BMO_op_callf(so->bm, "delete geom=%hef context=%i", BM_ELEM_TAG, DEL_ONLYTAGGED);
|
||||
|
||||
BLI_heap_free(heap, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user