blob: a0263a3a6ad1fd8190eb3b7b176f06d0decbfaa2 [file]
#include "rive/shapes/vertex.hpp"
using namespace rive;
Vec2D Vertex::renderTranslation()
{
if (hasWeight())
{
return m_Weight->translation();
}
return Vec2D(x(), y());
}
void Vertex::xChanged() { markGeometryDirty(); }
void Vertex::yChanged() { markGeometryDirty(); }
void Vertex::deform(const Mat2D& worldTransform, const float* boneTransforms)
{
// A skinned vertex with no Weight: in the editor, a vertex authored or
// hydrated after the skin was bound, or a Weight that missed its coop
// batch. Nothing at import rejects it either, so hold the bind position
// rather than dereference null.
if (m_Weight == nullptr)
{
return;
}
m_Weight->translation() = Weight::deform(Vec2D(x(), y()),
m_Weight->indices(),
m_Weight->values(),
worldTransform,
boneTransforms);
}