예제 #1
0
void Node::setRotationSkewX(float rotationX)
{
    if (_rotationZ_X == rotationX)
        return;

    _rotationZ_X = rotationX;
    _transformUpdated = _transformDirty = _inverseDirty = true;

    updateRotationQuat();
}
예제 #2
0
void Node::setRotationSkewY(float rotationY)
{
    if (_rotationZ_Y == rotationY)
        return;

    _rotationZ_Y = rotationY;
    _transformUpdated = _transformDirty = _inverseDirty = true;

    updateRotationQuat();
}
예제 #3
0
void Node::setRotation3D(const Vec3& rotation)
{
    if (_rotationX == rotation.x &&
        _rotationY == rotation.y &&
        _rotationZ_X == rotation.z)
        return;
    
    _transformUpdated = _transformDirty = _inverseDirty = true;

    _rotationX = rotation.x;
    _rotationY = rotation.y;

    // rotation Z is decomposed in 2 to simulate Skew for Flash animations
    _rotationZ_Y = _rotationZ_X = rotation.z;
    
    updateRotationQuat();
}