[Bf-blender-cvs] [f32a18994ad] blender2.8: Merge branch 'master' into blender2.8
Sergey Sharybin
noreply at git.blender.org
Wed May 31 15:52:30 CEST 2017
Commit: f32a18994ad7f37eb568771f01bab9db53d38d54
Author: Sergey Sharybin
Date: Wed May 31 15:51:17 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBf32a18994ad7f37eb568771f01bab9db53d38d54
Merge branch 'master' into blender2.8
===================================================================
===================================================================
diff --cc source/blender/alembic/intern/abc_exporter.h
index 3831acaafab,f763922a73b..15158a9ef51
--- a/source/blender/alembic/intern/abc_exporter.h
+++ b/source/blender/alembic/intern/abc_exporter.h
@@@ -106,19 -103,21 +106,21 @@@ public
void operator()(Main *bmain, float &progress, bool &was_canceled);
- private:
- void getShutterSamples(double step, bool time_relative, std::vector<double> &samples);
+ protected:
+ void getShutterSamples(unsigned int nr_of_samples,
+ bool time_relative,
+ std::vector<double> &samples);
+ void getFrameSet(unsigned int nr_of_samples, std::set<double> &frames);
+ private:
Alembic::Abc::TimeSamplingPtr createTimeSampling(double step);
- void getFrameSet(double step, std::set<double> &frames);
-
void createTransformWritersHierarchy(EvaluationContext *eval_ctx);
AbcTransformWriter * createTransformWriter(Object *ob, Object *parent, Object *dupliObParent);
- void exploreTransform(EvaluationContext *eval_ctx, Object *ob, Object *parent, Object *dupliObParent = NULL);
- void exploreObject(EvaluationContext *eval_ctx, Object *ob, Object *dupliObParent);
+ void exploreTransform(EvaluationContext *eval_ctx, Base *ob_base, Object *parent, Object *dupliObParent);
+ void exploreObject(EvaluationContext *eval_ctx, Base *ob_base, Object *dupliObParent);
void createShapeWriters(EvaluationContext *eval_ctx);
- void createShapeWriter(Object *ob, Object *dupliObParent);
+ void createShapeWriter(Base *ob_base, Object *dupliObParent);
void createParticleSystemsWriters(Object *ob, AbcTransformWriter *xform);
AbcTransformWriter *getXForm(const std::string &name);
diff --cc source/blender/alembic/intern/alembic_capi.cc
index cfff13ec77e,5ac73175e5b..3cad132b7be
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@@ -332,24 -330,13 +332,24 @@@ bool ABC_export
* hardcore refactoring. */
new (&job->settings) ExportSettings();
job->settings.scene = job->scene;
+
+ /* Sybren: for now we only export the active scene layer.
+ * Later in the 2.8 development process this may be replaced by using
+ * a specific collection for Alembic I/O, which can then be toggled
+ * between "real" objects and cached Alembic files. */
+ job->settings.sl = CTX_data_scene_layer(C);
+
job->settings.frame_start = params->frame_start;
job->settings.frame_end = params->frame_end;
- job->settings.frame_step_xform = params->frame_step_xform;
- job->settings.frame_step_shape = params->frame_step_shape;
+ job->settings.frame_samples_xform = params->frame_samples_xform;
+ job->settings.frame_samples_shape = params->frame_samples_shape;
job->settings.shutter_open = params->shutter_open;
job->settings.shutter_close = params->shutter_close;
+
+ /* Sybren: For now this is ignored, until we can get selection
+ * detection working through Base pointers (instead of ob->flags). */
job->settings.selected_only = params->selected_only;
+
job->settings.export_face_sets = params->face_sets;
job->settings.export_normals = params->normals;
job->settings.export_uvs = params->uvs;
diff --cc source/blender/depsgraph/intern/eval/deg_eval.cc
index 8bed13d0499,54947ddbb5e..a2bc38a7b5e
--- a/source/blender/depsgraph/intern/eval/deg_eval.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval.cc
@@@ -123,7 -126,9 +123,9 @@@ static void deg_task_run_func(TaskPool
#endif
}
+ BLI_task_pool_delayed_push_begin(pool, thread_id);
- schedule_children(pool, state->graph, node, state->layers, thread_id);
+ schedule_children(pool, state->graph, node, thread_id);
+ BLI_task_pool_delayed_push_end(pool, thread_id);
}
typedef struct CalculatePengindData {
diff --cc source/blender/depsgraph/intern/eval/deg_eval_flush.cc
index e10f86f6e95,d64fdd83d39..afcf6994253
--- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
@@@ -164,14 -164,32 +164,33 @@@ void deg_graph_flush_updates(Main *bmai
* Plus it ensures visibility changes and relations and
* layers visibility update has proper flags to work with.
*/
- if (comp_node->type == DEPSNODE_TYPE_ANIMATION) {
- object->recalc |= OB_RECALC_TIME;
- }
- else if (comp_node->type == DEPSNODE_TYPE_TRANSFORM) {
- object->recalc |= OB_RECALC_OB;
- }
- else {
- object->recalc |= OB_RECALC_DATA;
+ switch (comp_node->type) {
+ case DEPSNODE_TYPE_UNDEFINED:
+ case DEPSNODE_TYPE_OPERATION:
+ case DEPSNODE_TYPE_ROOT:
+ case DEPSNODE_TYPE_TIMESOURCE:
+ case DEPSNODE_TYPE_ID_REF:
+ case DEPSNODE_TYPE_SUBGRAPH:
+ case DEPSNODE_TYPE_PARAMETERS:
+ case DEPSNODE_TYPE_SEQUENCER:
++ case DEPSNODE_TYPE_LAYER_COLLECTIONS:
+ /* Ignore, does not translate to object component. */
+ break;
+ case DEPSNODE_TYPE_ANIMATION:
+ object->recalc |= OB_RECALC_TIME;
+ break;
+ case DEPSNODE_TYPE_TRANSFORM:
+ object->recalc |= OB_RECALC_OB;
+ break;
+ case DEPSNODE_TYPE_GEOMETRY:
+ case DEPSNODE_TYPE_EVAL_POSE:
+ case DEPSNODE_TYPE_BONE:
+ case DEPSNODE_TYPE_EVAL_PARTICLES:
+ case DEPSNODE_TYPE_SHADING:
+ case DEPSNODE_TYPE_CACHE:
+ case DEPSNODE_TYPE_PROXY:
+ object->recalc |= OB_RECALC_DATA;
+ break;
}
}
}
diff --cc source/blender/depsgraph/util/deg_util_foreach.h
index 8c234eae7de,cb7361fc708..e00aa5dbb5e
--- a/source/blender/depsgraph/util/deg_util_foreach.h
+++ b/source/blender/depsgraph/util/deg_util_foreach.h
@@@ -36,30 -36,13 +36,5 @@@
# include <boost/foreach.hpp>
# define foreach BOOST_FOREACH
#else
-#pragma message("No available foreach() implementation. Using stub instead, disabling new depsgraph")
-
-#ifndef WITH_LEGACY_DEPSGRAPH
-# error "Unable to build new depsgraph and legacy one is disabled."
-#endif
-
-#define DISABLE_NEW_DEPSGRAPH
-
-# define foreach(x, y) for (x; false; (void)y)
+# error "Depsgraph requires either Boost or C++11 for range-based loops."
#endif
-
- #define GHASH_FOREACH_BEGIN(type, var, what) \
- do { \
- GHashIterator gh_iter##var; \
- GHASH_ITER(gh_iter##var, what) { \
- type var = reinterpret_cast<type>(BLI_ghashIterator_getValue(&gh_iter##var)); \
-
- #define GHASH_FOREACH_END() \
- } \
- } while(0)
-
- #define GSET_FOREACH_BEGIN(type, var, what) \
- do { \
- GSetIterator gh_iter##var; \
- GSET_ITER(gh_iter##var, what) { \
- type var = reinterpret_cast<type>(BLI_gsetIterator_getKey(&gh_iter##var)); \
-
- #define GSET_FOREACH_END() \
- } \
- } while(0)
-
- #define LINKLIST_FOREACH(type, var, list) \
- for (type var = (type)((list)->first); \
- var != NULL; \
- var = (type)(((Link*)(var))->next))
More information about the Bf-blender-cvs
mailing list