Blender V4.3
deg_builder.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2016 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11struct Base;
12struct ID;
13struct Main;
14struct ModifierData;
15struct Object;
16struct PointerRNA;
17struct Scene;
18struct bPoseChannel;
19
20namespace blender::deg {
21
22struct Depsgraph;
23class DepsgraphBuilderCache;
24
26 public:
27 virtual ~DepsgraphBuilder() = default;
28
29 virtual bool need_pull_base_into_graph(const Base *base);
30
31 virtual bool is_object_visibility_animated(const Object *object);
32 virtual bool is_modifier_visibility_animated(const Object *object, const ModifierData *modifier);
33
34 virtual bool check_pchan_has_bbone(const Object *object, const bPoseChannel *pchan);
35 virtual bool check_pchan_has_bbone_segments(const Object *object, const bPoseChannel *pchan);
36 virtual bool check_pchan_has_bbone_segments(const Object *object, const char *bone_name);
37
42 static const char *get_rna_path_relative_to_scene_camera(const Scene *scene,
43 const PointerRNA &target_prop,
44 const char *rna_path);
45
46 protected:
47 /* NOTE: The builder does NOT take ownership over any of those resources. */
49
50 /* State which never changes, same for the whole builder time. */
54};
55
56bool deg_check_id_in_depsgraph(const Depsgraph *graph, ID *id_orig);
57bool deg_check_base_in_depsgraph(const Depsgraph *graph, Base *base);
58void deg_graph_build_finalize(Main *bmain, Depsgraph *graph);
59
60} // namespace blender::deg
DepsgraphBuilderCache * cache_
Definition deg_builder.h:53
virtual bool check_pchan_has_bbone_segments(const Object *object, const bPoseChannel *pchan)
virtual bool need_pull_base_into_graph(const Base *base)
virtual bool check_pchan_has_bbone(const Object *object, const bPoseChannel *pchan)
virtual ~DepsgraphBuilder()=default
virtual bool is_object_visibility_animated(const Object *object)
static const char * get_rna_path_relative_to_scene_camera(const Scene *scene, const PointerRNA &target_prop, const char *rna_path)
DepsgraphBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
virtual bool is_modifier_visibility_animated(const Object *object, const ModifierData *modifier)
bool deg_check_base_in_depsgraph(const Depsgraph *graph, Base *base)
void deg_graph_build_finalize(Main *bmain, Depsgraph *graph)
bool deg_check_id_in_depsgraph(const Depsgraph *graph, ID *id_orig)
Definition DNA_ID.h:413