19 is_value_calculated_ =
false;
20 stabilization_resolution_socket_ =
nullptr;
25 if (!is_value_calculated_) {
30void MovieClipAttributeOperation::calc_value()
33 is_value_calculated_ =
true;
34 if (clip_ ==
nullptr) {
37 float loc[2], scale,
angle;
44 stabilization_resolution_socket_ ?
49 stabilization_operation.get_width(),
50 stabilization_operation.get_height(),
73 value_ = 1.0f / value_;
80 r_area = preferred_area;
85 if (!is_value_calculated_) {
float BKE_movieclip_remap_scene_to_clip_frame(const struct MovieClip *clip, float framenr)
void BKE_tracking_stabilization_data_get(struct MovieClip *clip, int framenr, int width, int height, float translation[2], float *scale, float *angle)
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
bool needs_canvas_to_get_constant_
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
MovieClipAttributeOperation()
void init_execution() override
const float * get_constant_elem() override
NodeOperation & get_operation() const
void add_output_socket(DataType datatype)
const NodeOperationFlags get_flags() const