Commit: d522f558024aea4ebfd51f7c3e517386d292045b
Author: Julian Eisel
Date:   Fri Aug 5 04:23:43 2016 +0200
Branches: temp_localview_split
https://developer.blender.org/rBd522f558024aea4ebfd51f7c3e517386d292045b

More checks for new local view

===================================================================

M       source/blender/blenkernel/intern/object.c
M       source/blender/editors/gpencil/gpencil_utils.c
M       source/blender/editors/object/object_select.c
M       source/blender/editors/space_view3d/view3d_edit.c
M       source/blender/editors/space_view3d/view3d_select.c
M       source/blender/editors/transform/transform_conversions.c
M       source/blender/editors/transform/transform_manipulator.c
M       source/blender/editors/transform/transform_orientations.c
M       source/blender/editors/transform/transform_snap_object.c
M       source/blender/makesdna/DNA_scene_types.h

===================================================================

diff --git a/source/blender/blenkernel/intern/object.c 
b/source/blender/blenkernel/intern/object.c
index d736a45..f5b593e 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -96,6 +96,7 @@
 #include "BKE_library_query.h"
 #include "BKE_library_remap.h"
 #include "BKE_linestyle.h"
+#include "BKE_localview.h"
 #include "BKE_mesh.h"
 #include "BKE_editmesh.h"
 #include "BKE_mball.h"
diff --git a/source/blender/editors/gpencil/gpencil_utils.c 
b/source/blender/editors/gpencil/gpencil_utils.c
index f2c542d..2dd9a5d 100644
--- a/source/blender/editors/gpencil/gpencil_utils.c
+++ b/source/blender/editors/gpencil/gpencil_utils.c
@@ -49,6 +49,7 @@
 
 #include "BKE_context.h"
 #include "BKE_gpencil.h"
+#include "BKE_localview.h"
 #include "BKE_tracking.h"
 #include "BKE_action.h"
 
diff --git a/source/blender/editors/object/object_select.c 
b/source/blender/editors/object/object_select.c
index f1b7186..b534c22 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -58,6 +58,7 @@
 #include "BKE_report.h"
 #include "BKE_scene.h"
 #include "BKE_library.h"
+#include "BKE_localview.h"
 #include "BKE_deform.h"
 
 #include "WM_api.h"
diff --git a/source/blender/editors/space_view3d/view3d_edit.c 
b/source/blender/editors/space_view3d/view3d_edit.c
index 3cce4ee..5c6aa08 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -51,6 +51,7 @@
 #include "BKE_context.h"
 #include "BKE_font.h"
 #include "BKE_library.h"
+#include "BKE_localview.h"
 #include "BKE_object.h"
 #include "BKE_paint.h"
 #include "BKE_report.h"
diff --git a/source/blender/editors/space_view3d/view3d_select.c 
b/source/blender/editors/space_view3d/view3d_select.c
index a460d89..48ed876 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -64,6 +64,7 @@
 #include "BKE_context.h"
 #include "BKE_curve.h"
 #include "BKE_depsgraph.h"
+#include "BKE_localview.h"
 #include "BKE_mball.h"
 #include "BKE_mesh.h"
 #include "BKE_object.h"
diff --git a/source/blender/editors/transform/transform_conversions.c 
b/source/blender/editors/transform/transform_conversions.c
index ad2b40b..c72027a 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -73,6 +73,7 @@
 #include "BKE_global.h"
 #include "BKE_gpencil.h"
 #include "BKE_key.h"
+#include "BKE_localview.h"
 #include "BKE_main.h"
 #include "BKE_mesh.h"
 #include "BKE_mesh_mapping.h"
diff --git a/source/blender/editors/transform/transform_manipulator.c 
b/source/blender/editors/transform/transform_manipulator.c
index 075f311..52e27f7 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -58,6 +58,7 @@
 #include "BKE_pointcache.h"
 #include "BKE_editmesh.h"
 #include "BKE_lattice.h"
+#include "BKE_localview.h"
 #include "BKE_gpencil.h"
 
 #include "BIF_gl.h"
@@ -340,7 +341,8 @@ static int calc_manipulator_stats(const bContext *C)
        }
        else if (obedit) {
                ob = obedit;
-               if ((ob->lay & v3d->lay) == 0) return 0;
+               if (v3d->localviewd ? !BKE_localview_is_object_visible(v3d, ob) 
: (ob->lay & v3d->lay) == 0)
+                       return 0;
 
                if (obedit->type == OB_MESH) {
                        BMEditMesh *em = BKE_editmesh_from_object(obedit);
@@ -524,7 +526,8 @@ static int calc_manipulator_stats(const bContext *C)
                int mode = TFM_ROTATION; // mislead counting bones... bah. We 
don't know the manipulator mode, could be mixed
                bool ok = false;
 
-               if ((ob->lay & v3d->lay) == 0) return 0;
+               if (v3d->localviewd ? !BKE_localview_is_object_visible(v3d, ob) 
: (ob->lay & v3d->lay) == 0)
+                       return 0;
 
                if ((v3d->around == V3D_AROUND_ACTIVE) && (pchan = 
BKE_pose_channel_active(ob))) {
                        /* doesn't check selection or visibility intentionally 
*/
diff --git a/source/blender/editors/transform/transform_orientations.c 
b/source/blender/editors/transform/transform_orientations.c
index 90a4aa3..ecfbe1d 100644
--- a/source/blender/editors/transform/transform_orientations.c
+++ b/source/blender/editors/transform/transform_orientations.c
@@ -50,6 +50,7 @@
 #include "BKE_context.h"
 #include "BKE_editmesh.h"
 #include "BKE_report.h"
+#include "BKE_localview.h"
 #include "BKE_main.h"
 #include "BKE_screen.h"
 
diff --git a/source/blender/editors/transform/transform_snap_object.c 
b/source/blender/editors/transform/transform_snap_object.c
index 1d4872c..4a4cdf9 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -49,6 +49,7 @@
 #include "BKE_object.h"
 #include "BKE_anim.h"  /* for duplis */
 #include "BKE_editmesh.h"
+#include "BKE_localview.h"
 #include "BKE_main.h"
 #include "BKE_tracking.h"
 
diff --git a/source/blender/makesdna/DNA_scene_types.h 
b/source/blender/makesdna/DNA_scene_types.h
index 90e8d8b..d50b6ce 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1821,30 +1821,39 @@ extern const char *RE_engine_id_CYCLES;
 /* depricate this! */
 #define TESTBASE(v3d, base)  (                                                \
        ((base)->flag & SELECT) &&                                              
  \
-       ((base)->lay & v3d->lay) &&                                             
  \
+       (v3d->localviewd ? BKE_localview_is_object_visible(v3d, base->object) : 
((base)->lay & v3d->lay)) && \
        (((base)->object->restrictflag & OB_RESTRICT_VIEW) == 0))
 #define TESTBASELIB(v3d, base)  (                                             \
        ((base)->flag & SELECT) &&                                              
  \
-       ((base)->lay & v3d->lay) &&                                             
  \
+       (v3d->localviewd ? BKE_localview_is_object_visible(v3d, base->object) : 
((base)->lay & v3d->lay)) && \
        ((base)->object->id.lib == NULL) &&                                     
  \
        (((base)->object->restrictflag & OB_RESTRICT_VIEW) == 0))
 #define TESTBASELIB_BGMODE(v3d, scene, base)  (                               \
        ((base)->flag & SELECT) &&                                              
  \
+       ((v3d && v3d->localviewd) ?                                             
  \
+           BKE_localview_info_cmp(v3d->localviewd->info, 
base->object->localview) : \
+           (v3d ? v3d->lay : scene->lay)) &&                                   
  \
        ((base)->lay & (v3d ? v3d->lay : scene->lay)) &&                        
  \
        ((base)->object->id.lib == NULL) &&                                     
  \
        (((base)->object->restrictflag & OB_RESTRICT_VIEW) == 0))
 #define BASE_EDITABLE_BGMODE(v3d, scene, base)  (                             \
        ((base)->lay & (v3d ? v3d->lay : scene->lay)) &&                        
  \
+       ((v3d && v3d->localviewd) ?                                             
  \
+           BKE_localview_info_cmp(v3d->localviewd->info, 
base->object->localview) : \
+           (v3d ? v3d->lay : scene->lay)) &&                                   
  \
        ((base)->object->id.lib == NULL) &&                                     
  \
        (((base)->object->restrictflag & OB_RESTRICT_VIEW) == 0))
 #define BASE_SELECTABLE(v3d, base)  (                                         \
-       (base->lay & v3d->lay) &&                                               
  \
+       (v3d->localviewd ? BKE_localview_is_object_visible(v3d, base->object) : 
((base)->lay & v3d->lay)) && \
        (base->object->restrictflag & (OB_RESTRICT_SELECT | OB_RESTRICT_VIEW)) 
== 0)
 #define BASE_VISIBLE(v3d, base)  (                                            \
-       (base->lay & v3d->lay) &&                                               
  \
+       (v3d->localviewd ? BKE_localview_is_object_visible(v3d, base->object) : 
((base)->lay & v3d->lay)) && \
        (base->object->restrictflag & OB_RESTRICT_VIEW) == 0)
 #define BASE_VISIBLE_BGMODE(v3d, scene, base)  (                              \
        (base->lay & (v3d ? v3d->lay : scene->lay)) &&                          
  \
+       ((v3d && v3d->localviewd) ?                                             
  \
+           BKE_localview_info_cmp(v3d->localviewd->info, 
base->object->localview) : \
+           (v3d ? v3d->lay : scene->lay)) &&                                   
  \
        (base->object->restrictflag & OB_RESTRICT_VIEW) == 0)
 
 #define FIRSTBASE              scene->base.first

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to