Blender  V3.3
deg_builder_relations_drivers.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2013 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #include "BLI_string_ref.hh"
11 
12 #include "RNA_types.h"
13 
15 
16 struct FCurve;
17 
18 namespace blender::deg {
19 
20 /* Helper class for determining which relations are needed between driver evaluation nodes. */
22  public:
37 
38  public:
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;
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 
61 } // namespace blender::deg
DriverDescriptor(PointerRNA *id_ptr, FCurve *fcu)
bool is_same_array_as(const DriverDescriptor &other) const