Fix cycles not working in 3d local view, and missing update when toggling hiding
in the outliner.
This commit is contained in:
@@ -1564,13 +1564,15 @@ static void endlocalview(Main *bmain, Scene *scene, ScrArea *sa)
|
||||
|
||||
static int localview_exec(bContext *C, wmOperator *UNUSED(unused))
|
||||
{
|
||||
Main *bmain = CTX_data_main(C);
|
||||
View3D *v3d = CTX_wm_view3d(C);
|
||||
|
||||
if (v3d->localvd)
|
||||
endlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
|
||||
else
|
||||
initlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
|
||||
|
||||
|
||||
DAG_id_type_tag(bmain, ID_OB);
|
||||
ED_area_tag_redraw(CTX_wm_area(C));
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
|
||||
@@ -174,6 +174,11 @@ static void rna_Object_matrix_world_update(Main *bmain, Scene *scene, PointerRNA
|
||||
rna_Object_internal_update(bmain, scene, ptr);
|
||||
}
|
||||
|
||||
static void rna_Object_hide_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
DAG_id_type_tag(bmain, ID_OB);
|
||||
}
|
||||
|
||||
static void rna_Object_matrix_local_get(PointerRNA *ptr, float values[16])
|
||||
{
|
||||
Object *ob = ptr->id.data;
|
||||
@@ -1971,6 +1976,12 @@ static void rna_def_object(BlenderRNA *brna)
|
||||
RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Object_layer_update");
|
||||
|
||||
prop = RNA_def_property(srna, "layers_local_view", PROP_BOOLEAN, PROP_LAYER_MEMBER);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "lay", 0x01000000);
|
||||
RNA_def_property_array(prop, 8);
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Local View Layers", "3D local view layers the object is on");
|
||||
|
||||
prop = RNA_def_property(srna, "select", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SELECT);
|
||||
RNA_def_property_ui_text(prop, "Select", "Object selection state");
|
||||
@@ -2308,7 +2319,7 @@ static void rna_def_object(BlenderRNA *brna)
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_VIEW);
|
||||
RNA_def_property_ui_text(prop, "Restrict View", "Restrict visibility in the viewport");
|
||||
RNA_def_property_ui_icon(prop, ICON_RESTRICT_VIEW_OFF, 1);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Object_hide_update");
|
||||
|
||||
prop = RNA_def_property(srna, "hide_select", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_SELECT);
|
||||
@@ -2320,7 +2331,7 @@ static void rna_def_object(BlenderRNA *brna)
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "restrictflag", OB_RESTRICT_RENDER);
|
||||
RNA_def_property_ui_text(prop, "Restrict Render", "Restrict renderability");
|
||||
RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, NULL);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Object_hide_update");
|
||||
|
||||
/* anim */
|
||||
rna_def_animdata_common(srna);
|
||||
@@ -2579,6 +2590,12 @@ static void rna_def_object_base(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Layers", "Layers the object base is on");
|
||||
RNA_def_property_boolean_funcs(prop, NULL, "rna_Base_layer_set");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Base_layer_update");
|
||||
|
||||
prop = RNA_def_property(srna, "layers_local_view", PROP_BOOLEAN, PROP_LAYER_MEMBER);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "lay", 0x01000000);
|
||||
RNA_def_property_array(prop, 8);
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Local View Layers", "3D local view layers the object base is on");
|
||||
|
||||
prop = RNA_def_property(srna, "select", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BA_SELECT);
|
||||
|
||||
@@ -1699,6 +1699,12 @@ static void rna_def_space_view3d(BlenderRNA *brna)
|
||||
RNA_def_property_boolean_funcs(prop, NULL, "rna_SpaceView3D_layer_set");
|
||||
RNA_def_property_ui_text(prop, "Visible Layers", "Layers visible in this 3D View");
|
||||
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_SpaceView3D_layer_update");
|
||||
|
||||
prop = RNA_def_property(srna, "layers_local_view", PROP_BOOLEAN, PROP_LAYER_MEMBER);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "lay", 0x01000000);
|
||||
RNA_def_property_array(prop, 8);
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Local View Layers", "Local view layers visible in this 3D View");
|
||||
|
||||
prop = RNA_def_property(srna, "layers_used", PROP_BOOLEAN, PROP_LAYER_MEMBER);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "lay_used", 1);
|
||||
|
||||
Reference in New Issue
Block a user