Blender V4.3
COM_TrackPositionOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2012 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
14#include "BLI_listbase.h"
15#include "BLI_string.h"
16
17namespace blender::compositor {
18
23 protected:
27 char track_name_[64];
28 int axis_;
32
34 float marker_pos_[2];
35 float relative_pos_[2];
38
42 void determine_canvas(const rcti &preferred_area, rcti &r_area) override;
43
44 public:
46
48 {
49 movie_clip_ = clip;
50 }
51 void set_tracking_object(char *object)
52 {
54 }
55 void set_track_name(char *track)
56 {
57 BLI_strncpy(track_name_, track, sizeof(track_name_));
58 }
59 void set_framenumber(int framenumber)
60 {
61 framenumber_ = framenumber;
62 }
63 void set_axis(int value)
64 {
65 axis_ = value;
66 }
68 {
69 position_ = value;
70 }
71 void set_relative_frame(int value)
72 {
73 relative_frame_ = value;
74 }
75 void set_speed_output(bool speed_output)
76 {
77 speed_output_ = speed_output;
78 }
79
80 void init_execution() override;
81
82 const float *get_constant_elem() override;
83
84 private:
85 void calc_track_position();
86};
87
88} // namespace blender::compositor
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
CMPNodeTrackPositionMode
void set_position(CMPNodeTrackPositionMode value)
void determine_canvas(const rcti &preferred_area, rcti &r_area) override