Blender V4.3
COM_SetVectorOperation.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
8
9namespace blender::compositor {
10
16 private:
17 struct {
18 float x;
19 float y;
20 float z;
21 float w;
22 } vector_;
23
24 public:
29
30 const float *get_constant_elem() override
31 {
32 return reinterpret_cast<float *>(&vector_);
33 }
34
35 float getX()
36 {
37 return vector_.x;
38 }
39 void setX(float value)
40 {
41 vector_.x = value;
42 }
43 float getY()
44 {
45 return vector_.y;
46 }
47 void setY(float value)
48 {
49 vector_.y = value;
50 }
51 float getZ()
52 {
53 return vector_.z;
54 }
55 void setZ(float value)
56 {
57 vector_.z = value;
58 }
59 float getW()
60 {
61 return vector_.w;
62 }
63 void setW(float value)
64 {
65 vector_.w = value;
66 }
67
68 void determine_canvas(const rcti &preferred_area, rcti &r_area) override;
69
70 void set_vector(const float vector[3])
71 {
72 setX(vector[0]);
73 setY(vector[1]);
74 setZ(vector[2]);
75 }
76};
77
78} // namespace blender::compositor
void determine_canvas(const rcti &preferred_area, rcti &r_area) override