Blender V4.3
COM_CompositorContext.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "COM_Enums.h"
8
9#include "DNA_color_types.h"
10#include "DNA_node_types.h"
11#include "DNA_scene_types.h"
12
13namespace blender::bke {
14struct bNodeInstanceHash;
15}
16
18class RenderContext;
19class Profiler;
20} // namespace blender::realtime_compositor
21
22namespace blender::compositor {
23
28 private:
34 bool rendering_;
35
36 Scene *scene_;
37
43 RenderData *rd_;
44
50 bNodeTree *bnodetree_;
51
56 bke::bNodeInstanceHash *previews_;
57
61 const char *view_name_;
62
68
74
75 public:
80
84 void set_rendering(bool rendering)
85 {
86 rendering_ = rendering;
87 }
88
92 bool is_rendering() const
93 {
94 return rendering_;
95 }
96
101 {
102 rd_ = rd;
103 }
104
108 void set_bnodetree(bNodeTree *bnodetree)
109 {
110 bnodetree_ = bnodetree;
111 }
112
117 {
118 return bnodetree_;
119 }
120
125 {
126 return rd_;
127 }
128
129 void set_scene(Scene *scene)
130 {
131 scene_ = scene;
132 }
134 {
135 return scene_;
136 }
137
142 {
143 previews_ = previews;
144 }
145
150 {
151 return previews_;
152 }
153
157 int get_framenumber() const;
158
160 bool has_explicit_view() const
161 {
162 return view_name_ && view_name_[0] != '\0';
163 }
164
169 {
170 return render_context_;
171 }
172
177 {
178 render_context_ = render_context;
179 }
180
185 {
186 return profiler_;
187 }
188
193 {
194 profiler_ = profiler;
195 }
196
200 const char *get_view_name() const
201 {
202 return view_name_;
203 }
204
208 void set_view_name(const char *view_name)
209 {
210 view_name_ = view_name;
211 }
212
218 {
219 return rd_->size * 0.01f;
220 }
221
222 Size2f get_render_size() const;
223};
224
225} // namespace blender::compositor
Overall context of the compositor.
void set_bnodetree(bNodeTree *bnodetree)
set the bnodetree of the context
CompositorContext()
constructor initializes the context with default values.
const bNodeTree * get_bnodetree() const
get the bnodetree of the context
realtime_compositor::Profiler * get_profiler() const
get the profiler
void set_render_context(realtime_compositor::RenderContext *render_context)
set the render context
int get_framenumber() const
get the current frame-number of the scene in this context
void set_view_name(const char *view_name)
set the active rendering view
bool is_rendering() const
get the rendering field of the context
const RenderData * get_render_data() const
get the scene of the context
void set_profiler(realtime_compositor::Profiler *profiler)
set the profiler
float get_render_percentage_as_factor() const
Get the render percentage as a factor. The compositor uses a factor i.o. a percentage.
const char * get_view_name() const
get the active rendering view
void set_preview_hash(bke::bNodeInstanceHash *previews)
set the preview image hash table
void set_render_data(RenderData *rd)
set the scene of the context
bke::bNodeInstanceHash * get_preview_hash() const
get the preview image hash table
realtime_compositor::RenderContext * get_render_context() const
get the render context
void set_rendering(bool rendering)
set the rendering field of the context