[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