29 this->m_framenumber = 0;
30 this->m_attribute =
MCA_X;
31 this->m_invert =
false;
36 if (this->m_clip ==
nullptr) {
39 float loc[2], scale,
angle;
47 switch (this->m_attribute) {
49 this->m_value = scale;
52 this->m_value =
angle;
55 this->m_value = loc[0];
58 this->m_value = loc[1];
63 this->m_value = -this->m_value;
66 this->m_value = 1.0f / this->m_value;
80 unsigned int preferredResolution[2])
82 resolution[0] = preferredResolution[0];
83 resolution[1] = preferredResolution[1];
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)
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override
MovieClipAttributeOperation()
void determineResolution(unsigned int resolution[2], unsigned int preferredResolution[2]) override
determine the resolution of this node
void initExecution() override
unsigned int getHeight() const
void addOutputSocket(DataType datatype)
unsigned int getWidth() const