Commit: ba9c9a8c962111acacf507a6902816d3adee4c5d
Author: Julian Eisel
Date:   Thu Jul 28 03:48:01 2016 +0200
Branches: temp_localview_split
https://developer.blender.org/rBba9c9a8c962111acacf507a6902816d3adee4c5d

Use LocalLayerInfo struct for area visibility bits

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

M       source/blender/blenkernel/BKE_utildefines.h
M       source/blender/blenloader/intern/versioning_270.c
M       source/blender/editors/space_view3d/view3d_view.c
M       source/blender/makesdna/DNA_view3d_types.h

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

diff --git a/source/blender/blenkernel/BKE_utildefines.h 
b/source/blender/blenkernel/BKE_utildefines.h
index 0b261e3..2a4c9f6 100644
--- a/source/blender/blenkernel/BKE_utildefines.h
+++ b/source/blender/blenkernel/BKE_utildefines.h
@@ -47,17 +47,17 @@ extern "C" {
 
 /* visibility check */
 #define BKE_LOCALVIEW_IS_OBJECT_VISIBLE(v3d, ob) \
-       (((v3d)->localviewd == NULL) || (((v3d)->localviewd->viewbits & 
(ob)->localview.viewbits) != 0))
+       (((v3d)->localviewd == NULL) || (((v3d)->localviewd->info.viewbits & 
(ob)->localview.viewbits) != 0))
 
 /* Adjust local view info of ob to be visible if v3d is in local view */
 #define BKE_LOCALVIEW_OBJECT_ASSIGN(v3d, ob) \
        if ((v3d)->localviewd) { \
-               (ob)->localview.viewbits |= (v3d)->localviewd->viewbits; \
+               (ob)->localview.viewbits |= (v3d)->localviewd->info.viewbits; \
        } (void)0
 /* Remove object from local view */
 #define BKE_LOCALVIEW_OBJECT_UNASSIGN(v3d, ob) \
        if ((v3d)->localviewd) { \
-               (ob)->localview.viewbits &= ~(v3d)->localviewd->viewbits; \
+               (ob)->localview.viewbits &= ~(v3d)->localviewd->info.viewbits; \
        } (void)0
 
 #ifdef __cplusplus
diff --git a/source/blender/blenloader/intern/versioning_270.c 
b/source/blender/blenloader/intern/versioning_270.c
index 6779b8d..014f8be 100644
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@ -200,7 +200,7 @@ static void do_version_localview_areadata(View3D *v3d)
        }
 
        LocalViewAreaData *new_lvd = MEM_mallocN(sizeof(*v3d->localviewd), 
__func__);
-       new_lvd->viewbits = 0; /* XXX */
+       new_lvd->info.viewbits = 0; /* XXX */
        new_lvd->near = old_lvd->near;
        new_lvd->far = old_lvd->far;
        new_lvd->drawtype = old_lvd->drawtype;
diff --git a/source/blender/editors/space_view3d/view3d_view.c 
b/source/blender/editors/space_view3d/view3d_view.c
index b8b65ec..2ff8504 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -1380,7 +1380,7 @@ static bool view3d_localview_init(
                        }
                }
                
-               v3d->localviewd->viewbits = locallay;
+               v3d->localviewd->info.viewbits = locallay;
                v3d->lay = locallay;
        }
        else {
diff --git a/source/blender/makesdna/DNA_view3d_types.h 
b/source/blender/makesdna/DNA_view3d_types.h
index e8c36c4..428cb62 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -85,10 +85,18 @@ typedef struct BGpic {
 /* Local View Data */
 
 /**
+ * Info about the current local view state. A local view area (View3D) and 
objects have this.
+ * By comparing them we see which objects are visible. (Use with 
BKE_LOCALVIEW_ macros!)
+ */
+typedef struct LocalViewInfo {
+       unsigned int viewbits; /* 32 bits to store up to 32 views */
+} LocalViewInfo;
+
+/**
  * Data for 3D view area (View3D) while in local view.
  */
 typedef struct LocalViewAreaData {
-       int viewbits; /* 32 bits to store up to 32 views */
+       LocalViewInfo info;
 
        /* Initial View3D values for reset after local view exit */
        float near, far;
@@ -109,13 +117,6 @@ typedef struct LocalViewRegionData {
        float ofs[3];
 } LocalViewRegionData;
 
-/**
- * An element that can be in local view has this (currently objects only).
- */
-typedef struct LocalViewInfo {
-       unsigned int viewbits; /* 32 bits to store up to 32 views (compared to 
LocalViewAreaData.viewbits) */
-} LocalViewInfo;
-
 /* ********************************* */
 
 typedef struct RegionView3D {

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

Reply via email to