TITANIUM_FUNCTION(ThreeDMatrix, translate) { ENSURE_ARGUMENT_INDEX(2); ENSURE_DOUBLE_AT_INDEX(tx, 0); ENSURE_DOUBLE_AT_INDEX(ty, 1); ENSURE_DOUBLE_AT_INDEX(tz, 2); const auto matrix = translate(tx, ty, tz); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(ThreeDMatrix, scale) { ENSURE_ARGUMENT_INDEX(2); ENSURE_DOUBLE_AT_INDEX(sx, 0); ENSURE_DOUBLE_AT_INDEX(sy, 1); ENSURE_DOUBLE_AT_INDEX(sz, 2); const auto matrix = scale(sx, sy, sz); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(ThreeDMatrix, rotate) { ENSURE_ARGUMENT_INDEX(3); ENSURE_DOUBLE_AT_INDEX(angle, 0); ENSURE_DOUBLE_AT_INDEX(x, 1); ENSURE_DOUBLE_AT_INDEX(y, 2); ENSURE_DOUBLE_AT_INDEX(z, 3); const auto matrix = rotate(angle, x, y, z); if (matrix) { return matrix->get_object(); } else { return get_context().CreateUndefined(); } }
TITANIUM_FUNCTION(Properties, setDouble) { ENSURE_STRING_AT_INDEX(property, 0); ENSURE_DOUBLE_AT_INDEX(value, 1); const auto js_context = this_object.get_context(); const auto object_ptr = GetStaticObject(js_context).GetPrivate<Properties>(); object_ptr->setDouble(property, value); return js_context.CreateUndefined(); }