Fix [#22564] Object name by object type
Restored auto-naming newly created objects by type, for Mesh, Lamp, Meta
This commit is contained in:
@@ -986,7 +986,7 @@ static char *get_obdata_defname(int type)
|
||||
case OB_MESH: return "Mesh";
|
||||
case OB_CURVE: return "Curve";
|
||||
case OB_SURF: return "Surf";
|
||||
case OB_FONT: return "Font";
|
||||
case OB_FONT: return "Text";
|
||||
case OB_MBALL: return "Mball";
|
||||
case OB_CAMERA: return "Camera";
|
||||
case OB_LAMP: return "Lamp";
|
||||
|
||||
@@ -5219,8 +5219,8 @@ Nurb *add_nurbs_primitive(bContext *C, float mat[4][4], int type, int newname)
|
||||
float tmp_vec[3] = {0.f, 0.f, 0.f};
|
||||
|
||||
if(newname) {
|
||||
rename_id((ID *)obedit, "SurfDonut");
|
||||
rename_id((ID *)obedit->data, "SurfDonut");
|
||||
rename_id((ID *)obedit, "SurfTorus");
|
||||
rename_id((ID *)obedit->data, "SurfTorus");
|
||||
}
|
||||
|
||||
xzproj= 1;
|
||||
|
||||
@@ -1262,6 +1262,23 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
|
||||
|
||||
/* ********* add primitive operators ************* */
|
||||
|
||||
static char *get_mesh_defname(int type)
|
||||
{
|
||||
switch (type) {
|
||||
case PRIM_PLANE: return "Plane";
|
||||
case PRIM_CUBE: return "Cube";
|
||||
case PRIM_CIRCLE: return "Circle";
|
||||
case PRIM_CYLINDER: return "Tube";
|
||||
case PRIM_CONE: return "Cone";
|
||||
case PRIM_GRID: return "Grid";
|
||||
case PRIM_UVSPHERE: return "Sphere";
|
||||
case PRIM_ICOSPHERE: return "Icosphere";
|
||||
case PRIM_MONKEY: return "Monkey";
|
||||
default:
|
||||
return "Mesh";
|
||||
}
|
||||
}
|
||||
|
||||
static void make_prim_ext(bContext *C, float *loc, float *rot, int enter_editmode, unsigned int layer,
|
||||
int type, int tot, int seg,
|
||||
int subdiv, float dia, float depth, int ext, int fill)
|
||||
@@ -1274,6 +1291,9 @@ static void make_prim_ext(bContext *C, float *loc, float *rot, int enter_editmod
|
||||
if(obedit==NULL || obedit->type!=OB_MESH) {
|
||||
obedit= ED_object_add_type(C, OB_MESH, loc, rot, FALSE, layer);
|
||||
|
||||
rename_id((ID *)obedit, get_mesh_defname(type));
|
||||
rename_id((ID *)obedit->data, get_mesh_defname(type));
|
||||
|
||||
/* create editmode */
|
||||
ED_object_enter_editmode(C, EM_DO_UNDO|EM_IGNORE_LAYER); /* rare cases the active layer is messed up */
|
||||
newob = 1;
|
||||
|
||||
@@ -122,24 +122,39 @@ MetaElem *add_metaball_primitive(bContext *C, float mat[4][4], int type, int new
|
||||
case MB_BALL:
|
||||
ml->type = MB_BALL;
|
||||
ml->expx= ml->expy= ml->expz= 1.0;
|
||||
|
||||
rename_id((ID *)obedit, "Meta Ball");
|
||||
rename_id((ID *)obedit->data, "Meta Ball");
|
||||
break;
|
||||
case MB_TUBE:
|
||||
ml->type = MB_TUBE;
|
||||
ml->expx= ml->expy= ml->expz= 1.0;
|
||||
|
||||
rename_id((ID *)obedit, "Meta Tube");
|
||||
rename_id((ID *)obedit->data, "Meta Tube");
|
||||
break;
|
||||
case MB_PLANE:
|
||||
ml->type = MB_PLANE;
|
||||
ml->expx= ml->expy= ml->expz= 1.0;
|
||||
|
||||
rename_id((ID *)obedit, "Meta Plane");
|
||||
rename_id((ID *)obedit->data, "Meta Plane");
|
||||
break;
|
||||
case MB_ELIPSOID:
|
||||
ml->type = MB_ELIPSOID;
|
||||
ml->expx= 1.2f;
|
||||
ml->expy= 0.8f;
|
||||
ml->expz= 1.0;
|
||||
|
||||
rename_id((ID *)obedit, "Meta Ellipsoid");
|
||||
rename_id((ID *)obedit->data, "Meta Ellipsoid");
|
||||
break;
|
||||
case MB_CUBE:
|
||||
ml->type = MB_CUBE;
|
||||
ml->expx= ml->expy= ml->expz= 1.0;
|
||||
|
||||
rename_id((ID *)obedit, "Meta Cube");
|
||||
rename_id((ID *)obedit->data, "Meta Cube");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -671,6 +671,19 @@ void OBJECT_OT_armature_add(wmOperatorType *ot)
|
||||
ED_object_add_generic_props(ot, TRUE);
|
||||
}
|
||||
|
||||
static char *get_lamp_defname(int type)
|
||||
{
|
||||
switch (type) {
|
||||
case LA_LOCAL: return "Point";
|
||||
case LA_SUN: return "Sun";
|
||||
case LA_SPOT: return "Spot";
|
||||
case LA_HEMI: return "Hemi";
|
||||
case LA_AREA: return "Area";
|
||||
default:
|
||||
return "Lamp";
|
||||
}
|
||||
}
|
||||
|
||||
static int object_lamp_add_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
Object *ob;
|
||||
@@ -687,6 +700,9 @@ static int object_lamp_add_exec(bContext *C, wmOperator *op)
|
||||
if(ob && ob->data)
|
||||
((Lamp*)ob->data)->type= type;
|
||||
|
||||
rename_id((ID *)ob, get_lamp_defname(type));
|
||||
rename_id((ID *)ob->data, get_lamp_defname(type));
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user