Blender V4.3
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
9#pragma once
10
11#include "BLI_string_ref.hh"
12
13#include "RNA_types.hh"
14
16
17struct FCurve;
18
19namespace blender::deg {
20
21/* Helper class for determining which relations are needed between driver evaluation nodes. */
23 public:
38
39 public:
40 DriverDescriptor(PointerRNA *id_ptr, FCurve *fcu);
41
42 bool driver_relations_needed() const;
43 bool is_array() const;
45 bool is_same_array_as(const DriverDescriptor &other) const;
47
48 private:
49 PointerRNA *id_ptr_;
50 FCurve *fcu_;
51 bool driver_relations_needed_;
52
53 PointerRNA pointer_rna_;
54 PropertyRNA *property_rna_;
55 bool is_array_;
56
57 bool determine_relations_needed();
58 void split_rna_path();
59 bool resolve_rna();
60};
61
62} // namespace blender::deg
DriverDescriptor(PointerRNA *id_ptr, FCurve *fcu)
bool is_same_array_as(const DriverDescriptor &other) const