Blender
V5.0
source
blender
depsgraph
intern
builder
deg_builder_relations_drivers.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2013 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include "
BLI_string_ref.hh
"
12
13
#include "
RNA_types.hh
"
14
15
#include "
intern/builder/deg_builder_relations.h
"
16
17
struct
FCurve
;
18
19
namespace
blender::deg
{
20
21
/* Helper class for determining which relations are needed between driver evaluation nodes. */
22
class
DriverDescriptor
{
23
public
:
36
StringRef
rna_prefix
;
37
StringRef
rna_suffix
;
38
39
DriverDescriptor
(
PointerRNA
*id_ptr,
FCurve
*fcu);
40
41
bool
driver_relations_needed
()
const
;
42
bool
is_array
()
const
;
44
bool
is_same_array_as
(
const
DriverDescriptor
&other)
const
;
45
OperationKey
depsgraph_key
()
const
;
46
47
private
:
48
PointerRNA
*id_ptr_;
49
FCurve
*fcu_;
50
bool
driver_relations_needed_;
51
52
PointerRNA
pointer_rna_;
53
PropertyRNA
*property_rna_;
54
bool
is_array_;
55
56
bool
determine_relations_needed();
57
void
split_rna_path();
58
bool
resolve_rna();
59
};
60
71
bool
data_path_maybe_shared
(
const
ID
&
id
,
StringRef
data_path);
72
73
}
// namespace blender::deg
BLI_string_ref.hh
RNA_types.hh
blender::StringRef
Definition
BLI_string_ref.hh:150
blender::deg::DriverDescriptor::driver_relations_needed
bool driver_relations_needed() const
Definition
deg_builder_relations_drivers.cc:67
blender::deg::DriverDescriptor::rna_prefix
StringRef rna_prefix
Definition
deg_builder_relations_drivers.h:36
blender::deg::DriverDescriptor::depsgraph_key
OperationKey depsgraph_key() const
Definition
deg_builder_relations_drivers.cc:85
blender::deg::DriverDescriptor::DriverDescriptor
DriverDescriptor(PointerRNA *id_ptr, FCurve *fcu)
Definition
deg_builder_relations_drivers.cc:31
blender::deg::DriverDescriptor::rna_suffix
StringRef rna_suffix
Definition
deg_builder_relations_drivers.h:37
blender::deg::DriverDescriptor::is_array
bool is_array() const
Definition
deg_builder_relations_drivers.cc:72
blender::deg::DriverDescriptor::is_same_array_as
bool is_same_array_as(const DriverDescriptor &other) const
Definition
deg_builder_relations_drivers.cc:77
deg_builder_relations.h
blender::deg
Definition
DEG_depsgraph_light_linking.hh:14
blender::deg::data_path_maybe_shared
bool data_path_maybe_shared(const ID &id, const StringRef data_path)
Definition
deg_builder_relations_drivers.cc:243
FCurve
Definition
DNA_anim_types.h:329
ID
Definition
DNA_ID.h:414
PointerRNA
Definition
RNA_types.hh:50
PropertyRNA
Definition
rna_internal_types.hh:363
blender::deg::OperationKey
Definition
deg_builder_key.h:45
Generated on
for Blender by
doxygen
1.16.1