[Bf-blender-cvs] [973e9e925ea] greasepencil-object: Merge branch 'blender2.8' into greasepencil-object

Antonio Vazquez noreply at git.blender.org
Wed Jun 6 16:24:54 CEST 2018


Commit: 973e9e925ea9720cd73a330a4312e616ae690b81
Author: Antonio Vazquez
Date:   Wed Jun 6 16:23:23 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB973e9e925ea9720cd73a330a4312e616ae690b81

Merge branch 'blender2.8' into greasepencil-object

 Conflicts:
	release/scripts/startup/bl_ui/space_topbar.py
	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

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



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

diff --cc release/scripts/startup/bl_ui/space_topbar.py
index 1e8f2bc9b35,c231d05ecdb..069a28457cc
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@@ -158,15 -141,7 +158,15 @@@ class TOPBAR_HT_lower_bar(Header)
          elif mode == 'POSE':
              pass
          elif mode == 'PARTICLE':
-             pass
+             layout.popover_group(space_type='PROPERTIES', region_type='WINDOW', context=".paint_common", category="")
 +        elif mode == 'GPENCIL_PAINT':
 +            layout.popover_group(space_type='PROPERTIES', region_type='WINDOW', context=".greasepencil_paint", category="")
 +        elif mode == 'GPENCIL_EDIT':
 +            layout.popover_group(space_type='PROPERTIES', region_type='WINDOW', context=".greasepencil_edit", category="")
 +        elif mode == 'GPENCIL_SCULPT':
 +            layout.popover_group(space_type='PROPERTIES', region_type='WINDOW', context=".greasepencil_sculpt", category="")
 +        elif mode == 'GPENCIL_WEIGHT':
 +            layout.popover_group(space_type='PROPERTIES', region_type='WINDOW', context=".greasepencil_weight", category="")
  
      def draw_right(self, context):
          layout = self.layout
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 69fbfa4a9d0,8861ffc956a..a61e1e41908
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -546,8 -572,7 +569,8 @@@ void DepsgraphNodeBuilder::build_object
  		case OB_SURF:
  		case OB_MBALL:
  		case OB_LATTICE:
 +		case OB_GPENCIL:
- 			build_obdata_geom(object);
+ 			build_object_data_geometry(object);
  			/* TODO(sergey): Only for until we support granular
  			 * update of curves.
  			 */
@@@ -1144,25 -1164,10 +1162,24 @@@ void DepsgraphNodeBuilder::build_object
  			op_node->set_as_entry();
  			break;
  		}
 +		
- 		case OB_GPENCIL:
++		case ID_GD:
 +		{
 +			/* GPencil evaluation operations. */
- 			bGPdata *gpd = (bGPdata *)obdata;
- 			ID *gpd_id = &gpd->id; /* No COW for now, as GP uses its own cache system. See gpencil_engine.c */
- 			
- 			op_node = add_operation_node(gpd_id, 
++			op_node = add_operation_node(obdata, 
 +			                             DEG_NODE_TYPE_GEOMETRY,
 +			                             function_bind(BKE_gpencil_eval_geometry,
 +			                                           _1,
- 			                                           gpd),
- 			                                           DEG_OPCODE_PLACEHOLDER,
++													   (bGPdata *)obdata_cow),
++													   DEG_OPCODE_PLACEHOLDER,
 +			                                           "Geometry Eval");
 +			op_node->set_as_entry();
 +			break;
 +		}
+ 		default:
+ 			BLI_assert(!"Should not happen");
+ 			break;
  	}
- 
  	op_node = add_operation_node(obdata, DEG_NODE_TYPE_GEOMETRY, NULL,
  	                             DEG_OPCODE_PLACEHOLDER, "Eval Done");
  	op_node->set_as_exit();
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.h
index aa32f0f610e,d3b7cd63148..147b3230037
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
@@@ -36,9 -36,10 +36,11 @@@
  #include "DEG_depsgraph.h"
  
  struct Base;
+ struct bArmature;
  struct CacheFile;
+ struct Camera;
  struct bGPdata;
 +struct Palette;
  struct ListBase;
  struct GHash;
  struct ID;
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index ad8969920cd,f02a48e803e..570ae9a245a
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@@ -592,9 -627,8 +623,9 @@@ void DepsgraphRelationBuilder::build_ob
  		case OB_SURF:
  		case OB_MBALL:
  		case OB_LATTICE:
 +		case OB_GPENCIL:
  		{
- 			build_obdata_geom(object);
+ 			build_object_data_geometry(object);
  			break;
  		}
  		case OB_ARMATURE:
@@@ -1815,59 -1898,24 +1895,48 @@@ void DepsgraphRelationBuilder::build_ob
  			}
  			break;
  		}
- 
- 		case OB_SURF: /* Nurbs Surface */
- 		{
+ 		case ID_LT:
  			break;
- 		}
- 
- 		case OB_LATTICE: /* Lattice */
- 		{
- 			break;
- 		}
- 		
- 		case OB_GPENCIL: /* Grease Pencil */
- 		{
++		case ID_GD: /* Grease Pencil */
 +			bGPdata *gpd = (bGPdata *)obdata;
- 			
++
 +			/* Geometry cache needs to be recalculated on frame change
- 			 * (e.g. to fix crashes after scrubbing the timeline when
- 			 *  onion skinning is enabled, since the ghosts need to be
- 			 *  re-added to the cache once scrubbing ends)
- 			 */
++			* (e.g. to fix crashes after scrubbing the timeline when
++			*  onion skinning is enabled, since the ghosts need to be
++			*  re-added to the cache once scrubbing ends)
++			*/
 +			TimeSourceKey time_key;
 +			ComponentKey geometry_key(obdata, DEG_NODE_TYPE_GEOMETRY);
 +			add_relation(time_key, geometry_key, "GP Frame Change");
- 			
++
 +			/* Geometry cache also needs to be recalculated when Material
- 			 * settings change (e.g. when fill.opacity changes on/off,
- 			 * we need to rebuild the bGPDstroke->triangles caches)
- 			 */
++			* settings change (e.g. when fill.opacity changes on/off,
++			* we need to rebuild the bGPDstroke->triangles caches)
++			*/
 +			for (int i = 0; i < gpd->totcol; i++) {
 +				Material *ma = gpd->mat[i];
 +				if ((ma) && (ma->gp_style)) {
 +					OperationKey material_key(&ma->id,
- 					                          DEG_NODE_TYPE_SHADING,
- 					                          DEG_OPCODE_MATERIAL_UPDATE);
++						DEG_NODE_TYPE_SHADING,
++						DEG_OPCODE_MATERIAL_UPDATE);
 +					add_relation(material_key, geometry_key, "Material -> GP Data");
 +				}
 +			}
 +			break;
- 		}
- 	}
+ 		default:
+ 			BLI_assert(!"Should not happen");
+ 			break;
 -	}
 -}
  
- 	/* ShapeKeys */
- 	Key *key = BKE_key_from_object(object);
- 	if (key) {
- 		build_shapekeys(obdata, key);
+ void DepsgraphRelationBuilder::build_armature(bArmature *armature)
+ {
+ 	if (built_map_.checkIsBuiltAndTag(armature)) {
+ 		return;
  	}
+ 	build_animdata(&armature->id);
  }
  
- /* Cameras */
- // TODO: Link scene-camera links in somehow...
- void DepsgraphRelationBuilder::build_camera(Object *object)
+ void DepsgraphRelationBuilder::build_camera(Camera *camera)
  {
- 	Camera *camera = (Camera *)object->data;
  	if (built_map_.checkIsBuiltAndTag(camera)) {
  		return;
  	}
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.h
index 3ec0afaff97,ec932eccc9f..0f400e75453
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
@@@ -49,9 -49,10 +49,11 @@@
  #include "intern/nodes/deg_node_operation.h"
  
  struct Base;
+ struct bArmature;
  struct bGPdata;
 +struct Palette;
  struct CacheFile;
+ struct Camera;
  struct ListBase;
  struct GHash;
  struct ID;



More information about the Bf-blender-cvs mailing list