Merge branch 'master' into blender2.8

This commit is contained in:
Sergey Sharybin 2017-11-23 15:26:53 +01:00
commit 35e8138c95
2 changed files with 37 additions and 117 deletions

View File

@ -329,40 +329,28 @@ void ComponentDepsNode::finalize_build(Depsgraph * /*graph*/)
operations_map = NULL;
}
/* Parameter Component Defines ============================ */
/* Register all components. =============================== */
DEG_DEPSNODE_DEFINE(ParametersComponentDepsNode, DEG_NODE_TYPE_PARAMETERS, "Parameters Component");
static DepsNodeFactoryImpl<ParametersComponentDepsNode> DNTI_PARAMETERS;
#define DEG_COMPONENT_DEFINE(name, NAME) \
DEG_DEPSNODE_DEFINE(name ## ComponentDepsNode, \
DEG_NODE_TYPE_ ## NAME, \
#name " Component"); \
static DepsNodeFactoryImpl<name ## ComponentDepsNode> DNTI_ ## NAME
/* Animation Component Defines ============================ */
DEG_DEPSNODE_DEFINE(AnimationComponentDepsNode, DEG_NODE_TYPE_ANIMATION, "Animation Component");
static DepsNodeFactoryImpl<AnimationComponentDepsNode> DNTI_ANIMATION;
/* Transform Component Defines ============================ */
DEG_DEPSNODE_DEFINE(TransformComponentDepsNode, DEG_NODE_TYPE_TRANSFORM, "Transform Component");
static DepsNodeFactoryImpl<TransformComponentDepsNode> DNTI_TRANSFORM;
/* Proxy Component Defines ================================ */
DEG_DEPSNODE_DEFINE(ProxyComponentDepsNode, DEG_NODE_TYPE_PROXY, "Proxy Component");
static DepsNodeFactoryImpl<ProxyComponentDepsNode> DNTI_PROXY;
/* Geometry Component Defines ============================= */
DEG_DEPSNODE_DEFINE(GeometryComponentDepsNode, DEG_NODE_TYPE_GEOMETRY, "Geometry Component");
static DepsNodeFactoryImpl<GeometryComponentDepsNode> DNTI_GEOMETRY;
/* Sequencer Component Defines ============================ */
DEG_DEPSNODE_DEFINE(SequencerComponentDepsNode, DEG_NODE_TYPE_SEQUENCER, "Sequencer Component");
static DepsNodeFactoryImpl<SequencerComponentDepsNode> DNTI_SEQUENCER;
/* Pose Component ========================================= */
DEG_DEPSNODE_DEFINE(PoseComponentDepsNode, DEG_NODE_TYPE_EVAL_POSE, "Pose Eval Component");
static DepsNodeFactoryImpl<PoseComponentDepsNode> DNTI_EVAL_POSE;
DEG_COMPONENT_DEFINE(Animation, ANIMATION);
DEG_COMPONENT_DEFINE(Cache, CACHE);
DEG_COMPONENT_DEFINE(CopyOnWrite, COPY_ON_WRITE);
DEG_COMPONENT_DEFINE(Geometry, GEOMETRY);
DEG_COMPONENT_DEFINE(LayerCollections, LAYER_COLLECTIONS);
DEG_COMPONENT_DEFINE(Parameters, PARAMETERS);
DEG_COMPONENT_DEFINE(Particles, EVAL_PARTICLES);
DEG_COMPONENT_DEFINE(Proxy, PROXY);
DEG_COMPONENT_DEFINE(Pose, EVAL_POSE);
DEG_COMPONENT_DEFINE(Sequencer, SEQUENCER);
DEG_COMPONENT_DEFINE(Shading, SHADING);
DEG_COMPONENT_DEFINE(ShadingParameters, SHADING_PARAMETERS);
DEG_COMPONENT_DEFINE(Transform, TRANSFORM);
/* Bone Component ========================================= */
@ -383,38 +371,7 @@ void BoneComponentDepsNode::init(const ID *id, const char *subdata)
this->pchan = BKE_pose_channel_find_name(object->pose, subdata);
}
DEG_DEPSNODE_DEFINE(BoneComponentDepsNode, DEG_NODE_TYPE_BONE, "Bone Component");
static DepsNodeFactoryImpl<BoneComponentDepsNode> DNTI_BONE;
/* Particles Component Defines ============================ */
DEG_DEPSNODE_DEFINE(ParticlesComponentDepsNode, DEG_NODE_TYPE_EVAL_PARTICLES, "Particles Component");
static DepsNodeFactoryImpl<ParticlesComponentDepsNode> DNTI_EVAL_PARTICLES;
/* Shading Component Defines ============================ */
DEG_DEPSNODE_DEFINE(ShadingComponentDepsNode, DEG_NODE_TYPE_SHADING, "Shading Component");
static DepsNodeFactoryImpl<ShadingComponentDepsNode> DNTI_SHADING;
/* Shading Parameters Component Defines ============================ */
DEG_DEPSNODE_DEFINE(ShadingParametersComponentDepsNode, DEG_NODE_TYPE_SHADING_PARAMETERS, "Shading Parameters Component");
static DepsNodeFactoryImpl<ShadingParametersComponentDepsNode> DNTI_SHADING_PARAMETERS;
/* Cache Component Defines ============================ */
DEG_DEPSNODE_DEFINE(CacheComponentDepsNode, DEG_NODE_TYPE_CACHE, "Cache Component");
static DepsNodeFactoryImpl<CacheComponentDepsNode> DNTI_CACHE;
/* Layer Collections Defines ============================ */
DEG_DEPSNODE_DEFINE(LayerCollectionsDepsNode, DEG_NODE_TYPE_LAYER_COLLECTIONS, "Layer Collections Component");
static DepsNodeFactoryImpl<LayerCollectionsDepsNode> DNTI_LAYER_COLLECTIONS;
/* Copy-on-write Defines ============================ */
DEG_DEPSNODE_DEFINE(CopyOnWriteDepsNode, DEG_NODE_TYPE_COPY_ON_WRITE, "Copy-on-Write Component");
static DepsNodeFactoryImpl<CopyOnWriteDepsNode> DNTI_COPY_ON_WRITE;
DEG_COMPONENT_DEFINE(Bone, BONE);
/* Node Types Register =================================== */

View File

@ -156,33 +156,24 @@ struct ComponentDepsNode : public DepsNode {
/* ---------------------------------------- */
struct ParametersComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
#define DEG_COMPONENT_DECLARE_GENERIC(name) \
struct name ## ComponentDepsNode : public ComponentDepsNode { \
DEG_DEPSNODE_DECLARE; \
}
struct AnimationComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct TransformComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct ProxyComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct GeometryComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct SequencerComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct PoseComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
DEG_COMPONENT_DECLARE_GENERIC(Animation);
DEG_COMPONENT_DECLARE_GENERIC(Cache);
DEG_COMPONENT_DECLARE_GENERIC(CopyOnWrite);
DEG_COMPONENT_DECLARE_GENERIC(Geometry);
DEG_COMPONENT_DECLARE_GENERIC(LayerCollections);
DEG_COMPONENT_DECLARE_GENERIC(Parameters);
DEG_COMPONENT_DECLARE_GENERIC(Particles);
DEG_COMPONENT_DECLARE_GENERIC(Proxy);
DEG_COMPONENT_DECLARE_GENERIC(Pose);
DEG_COMPONENT_DECLARE_GENERIC(Sequencer);
DEG_COMPONENT_DECLARE_GENERIC(Shading);
DEG_COMPONENT_DECLARE_GENERIC(ShadingParameters);
DEG_COMPONENT_DECLARE_GENERIC(Transform);
/* Bone Component */
struct BoneComponentDepsNode : public ComponentDepsNode {
@ -193,34 +184,6 @@ struct BoneComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct ParticlesComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct ShadingComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct ShadingParametersComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
virtual bool depends_on_cow() { return false; }
};
struct CacheComponentDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct LayerCollectionsDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
};
struct CopyOnWriteDepsNode : public ComponentDepsNode {
DEG_DEPSNODE_DECLARE;
virtual bool depends_on_cow() { return false; }
};
void deg_register_component_depsnodes();
} // namespace DEG