Blender V5.0
implicit_input_operation.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#include "BLI_assert.h"
6
9#include "COM_operation.hh"
10#include "COM_result.hh"
11
12namespace blender::compositor {
13
14const StringRef ImplicitInputOperation::output_identifier_ = StringRef("Output");
15
17{
18 switch (implicit_input) {
20 break;
22 return ResultType::Float2;
23 }
24
26 return ResultType::Float2;
27}
28
30 const ImplicitInput implicit_input)
31 : Operation(context), implicit_input_(implicit_input)
32{
33 this->populate_result(output_identifier_,
34 context.create_result(get_implicit_input_result_type(implicit_input)));
35}
36
38{
39 Result &result = this->get_result();
40
41 switch (implicit_input_) {
44 break;
47 result.wrap_external(this->context().cache_manager().image_coordinates.get(
48 this->context(), size, CoordinatesType::Uniform));
49 }
50}
51
53{
54 return Operation::get_result(output_identifier_);
55}
56
57} // namespace blender::compositor
#define BLI_assert_unreachable()
Definition BLI_assert.h:93
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
ImplicitInputOperation(Context &context, const ImplicitInput implicit_input)
Result & get_result(StringRef identifier)
Definition operation.cc:39
void populate_result(StringRef identifier, Result result)
Definition operation.cc:148
Operation(Context &context)
Definition operation.cc:22
void wrap_external(blender::gpu::Texture *texture)
Definition result.cc:584
static ResultType get_implicit_input_result_type(const ImplicitInput implicit_input)
VecBase< int32_t, 2 > int2