MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / getTransformAtTime

Method getTransformAtTime

Engine/RotoDrawableItem.cpp:1399–1422  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1397}
1398
1399void
1400RotoDrawableItem::getTransformAtTime(double time,
1401 Transform::Matrix3x3* matrix) const
1402{
1403 double tx = _imp->translate->getValueAtTime(time, 0);
1404 double ty = _imp->translate->getValueAtTime(time, 1);
1405 double sx = _imp->scale->getValueAtTime(time, 0);
1406 double sy = _imp->scaleUniform->getValueAtTime(time) ? sx : _imp->scale->getValueAtTime(time, 1);
1407 double skewX = _imp->skewX->getValueAtTime(time, 0);
1408 double skewY = _imp->skewY->getValueAtTime(time, 0);
1409 double rot = _imp->rotate->getValueAtTime(time, 0);
1410
1411 rot = Transform::toRadians(rot);
1412 double centerX = _imp->center->getValueAtTime(time, 0);
1413 double centerY = _imp->center->getValueAtTime(time, 1);
1414 bool skewOrderYX = _imp->skewOrder->getValueAtTime(time) == 1;
1415 *matrix = Transform::matTransformCanonical(tx, ty, sx, sy, skewX, skewY, skewOrderYX, rot, centerX, centerY);
1416
1417 Transform::Matrix3x3 extraMat;
1418 extraMat.a = _imp->extraMatrix->getValueAtTime(time, 0); extraMat.b = _imp->extraMatrix->getValueAtTime(time, 1); extraMat.c = _imp->extraMatrix->getValueAtTime(time, 2);
1419 extraMat.d = _imp->extraMatrix->getValueAtTime(time, 3); extraMat.e = _imp->extraMatrix->getValueAtTime(time, 4); extraMat.f = _imp->extraMatrix->getValueAtTime(time, 5);
1420 extraMat.g = _imp->extraMatrix->getValueAtTime(time, 6); extraMat.h = _imp->extraMatrix->getValueAtTime(time, 7); extraMat.i = _imp->extraMatrix->getValueAtTime(time, 8);
1421 *matrix = Transform::matMul(*matrix, extraMat);
1422}
1423
1424/**
1425 * @brief Set the transform at the given time

Callers 6

isNearbyTangentMethod · 0.80
smoothPointMethod · 0.80
drawOverlayMethod · 0.80
renderBezierMethod · 0.80
redoMethod · 0.80
isNearbyFeatherBarMethod · 0.80

Calls 4

toRadiansFunction · 0.85
matTransformCanonicalFunction · 0.85
matMulFunction · 0.85
getValueAtTimeMethod · 0.45

Tested by

no test coverage detected