This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/depsgraph/intern/builder/pipeline_all_objects.cc
Sergey Sharybin c771dd5e9c Depsgraph: Make animated properties API receive const ID
Semantically it is more correct as the cache does not modify the ID.

There is need to do couple of const casts since the BKE (which is in C)
does not easily allow to iterate into f-curves of const ID.

Should be no functional changes.
2022-07-19 17:22:53 +02:00

60 lines
1.5 KiB
C++

/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2020 Blender Foundation. All rights reserved. */
#include "pipeline_all_objects.h"
#include "intern/builder/deg_builder_nodes.h"
#include "intern/builder/deg_builder_relations.h"
#include "intern/depsgraph.h"
#include "DNA_layer_types.h"
namespace blender::deg {
namespace {
class AllObjectsNodeBuilder : public DepsgraphNodeBuilder {
public:
AllObjectsNodeBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
: DepsgraphNodeBuilder(bmain, graph, cache)
{
}
bool need_pull_base_into_graph(const Base * /*base*/) override
{
return true;
}
};
class AllObjectsRelationBuilder : public DepsgraphRelationBuilder {
public:
AllObjectsRelationBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
: DepsgraphRelationBuilder(bmain, graph, cache)
{
}
bool need_pull_base_into_graph(const Base * /*base*/) override
{
return true;
}
};
} // namespace
AllObjectsBuilderPipeline::AllObjectsBuilderPipeline(::Depsgraph *graph)
: ViewLayerBuilderPipeline(graph)
{
}
unique_ptr<DepsgraphNodeBuilder> AllObjectsBuilderPipeline::construct_node_builder()
{
return std::make_unique<AllObjectsNodeBuilder>(bmain_, deg_graph_, &builder_cache_);
}
unique_ptr<DepsgraphRelationBuilder> AllObjectsBuilderPipeline::construct_relation_builder()
{
return std::make_unique<AllObjectsRelationBuilder>(bmain_, deg_graph_, &builder_cache_);
}
} // namespace blender::deg