blob: 8757d69a47507b3f8cfbaa7d5e3de855b05afabc [file] [log] [blame]
#include "rive/shapes/cubic_mirrored_vertex.hpp"
#include "rive/math/vec2d.hpp"
#include <cmath>
using namespace rive;
static Vec2D get_point(const CubicMirroredVertex& v) {
return Vec2D(v.x(), v.y());
}
static Vec2D get_vector(const CubicMirroredVertex& v) {
return Vec2D(cos(v.rotation()) * v.distance(),
sin(v.rotation()) * v.distance());
}
void CubicMirroredVertex::computeIn() {
m_InPoint = get_point(*this) - get_vector(*this);
}
void CubicMirroredVertex::computeOut() {
m_OutPoint = get_point(*this) + get_vector(*this);
}
void CubicMirroredVertex::rotationChanged() {
m_InValid = m_OutValid = false;
markGeometryDirty();
}
void CubicMirroredVertex::distanceChanged() {
m_InValid = m_OutValid = false;
markGeometryDirty();
}