Blender V4.3
COM_PlaneTrackOperation.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
5#pragma once
6
7#include <string.h>
8
10
11#include "DNA_movieclip_types.h"
12#include "DNA_tracking_types.h"
13
14namespace blender::compositor {
15
17 protected:
22
23 /* NOTE: this class is not an operation itself (to prevent virtual inheritance issues)
24 * implementation classes must make wrappers to use these methods, see below.
25 */
27 void determine_canvas(const rcti &preferred_area, rcti &r_area);
28
29 public:
31
33 {
34 movie_clip_ = clip;
35 }
36 void set_tracking_object(char *object)
37 {
39 }
40 void set_plane_track_name(char *plane_track)
41 {
42 BLI_strncpy(plane_track_name_, plane_track, sizeof(plane_track_name_));
43 }
44 void set_framenumber(int framenumber)
45 {
46 framenumber_ = framenumber;
47 }
48
49 private:
50 void read_corners_from_track(float corners[4][2], float frame);
51};
52
54 public:
56
57 void init_data() override;
58
59 void determine_canvas(const rcti &preferred_area, rcti &r_area) override
60 {
61 PlaneTrackCommon::determine_canvas(preferred_area, r_area);
62
63 rcti unused = COM_AREA_NONE;
64 rcti &preferred = r_area;
65 NodeOperation::determine_canvas(preferred, unused);
66 }
67};
68
70 public PlaneTrackCommon {
71 public:
73
74 void init_data() override;
75
76 void determine_canvas(const rcti &preferred_area, rcti &r_area) override
77 {
78 PlaneTrackCommon::determine_canvas(preferred_area, r_area);
79
80 rcti unused = COM_AREA_NONE;
81 rcti &preferred = r_area;
82 NodeOperation::determine_canvas(preferred, unused);
83 }
84};
85
86} // namespace blender::compositor
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
virtual void determine_canvas(const rcti &preferred_area, rcti &r_area)
void determine_canvas(const rcti &preferred_area, rcti &r_area)
void read_and_calculate_corners(PlaneDistortBaseOperation *distort_op)
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
constexpr rcti COM_AREA_NONE
Definition COM_defines.h:89