Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_add.c
| Show First 20 Lines • Show All 1,107 Lines • ▼ Show 20 Lines | switch (type) { | ||||
| case LA_AREA: return CTX_DATA_(BLT_I18NCONTEXT_ID_LIGHT, "Area"); | case LA_AREA: return CTX_DATA_(BLT_I18NCONTEXT_ID_LIGHT, "Area"); | ||||
| default: | default: | ||||
| return CTX_DATA_(BLT_I18NCONTEXT_ID_LIGHT, "Light"); | return CTX_DATA_(BLT_I18NCONTEXT_ID_LIGHT, "Light"); | ||||
| } | } | ||||
| } | } | ||||
| static int object_light_add_exec(bContext *C, wmOperator *op) | static int object_light_add_exec(bContext *C, wmOperator *op) | ||||
| { | { | ||||
| Scene *scene = CTX_data_scene(C); | |||||
| Object *ob; | Object *ob; | ||||
| Light *la; | Light *la; | ||||
| int type = RNA_enum_get(op->ptr, "type"); | int type = RNA_enum_get(op->ptr, "type"); | ||||
| ushort local_view_bits; | ushort local_view_bits; | ||||
| float loc[3], rot[3]; | float loc[3], rot[3]; | ||||
| WM_operator_view3d_unit_defaults(C, op); | WM_operator_view3d_unit_defaults(C, op); | ||||
| if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &local_view_bits, NULL)) { | if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, &local_view_bits, NULL)) { | ||||
| Show All 14 Lines | default: | ||||
| size *= 0.5f; | size *= 0.5f; | ||||
| break; | break; | ||||
| } | } | ||||
| BKE_object_obdata_size_init(ob, size); | BKE_object_obdata_size_init(ob, size); | ||||
| la = (Light *)ob->data; | la = (Light *)ob->data; | ||||
| la->type = type; | la->type = type; | ||||
| if (BKE_scene_uses_cycles(scene)) { | |||||
| ED_node_shader_default(C, &la->id); | |||||
| la->use_nodes = true; | |||||
| } | |||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| } | } | ||||
| void OBJECT_OT_light_add(wmOperatorType *ot) | void OBJECT_OT_light_add(wmOperatorType *ot) | ||||
| { | { | ||||
| /* identifiers */ | /* identifiers */ | ||||
| ot->name = "Add Light"; | ot->name = "Add Light"; | ||||
| ot->description = "Add a light object to the scene"; | ot->description = "Add a light object to the scene"; | ||||
| ▲ Show 20 Lines • Show All 1,373 Lines • Show Last 20 Lines | |||||