Example #1
0
exports.rotate_eye_camera = function(camobj, phi, theta, phi_is_abs, theta_is_abs) {
    if (!camera.is_eye_camera(camobj)) {
        m_print.error("rotate_eye_camera(): wrong object");
        return;
    }

    camera.rotate_eye_camera(camobj, phi, theta, phi_is_abs, theta_is_abs);
    transform.update_transform(camobj);
    m_phy.sync_transform(camobj);
}
/**
 * uses _vec2_tmp, _vec2_tmp_2, _quat4_tmp
 */
function clamp_orientation(obj, cons) {
    var quat = obj._render.quat;
    var p_quat = cons.obj_parent._render.quat;

    var quat_base = m_quat.multiply(p_quat, cons.rotation_offset, _quat4_tmp);
    var base_angles = m_cam.get_camera_angles_from_quat(quat_base, _vec2_tmp);
    var curr_angles = m_cam.get_camera_angles_from_quat(quat, _vec2_tmp_2);

    var d_phi = m_util.calc_returning_angle(curr_angles[0], 
            base_angles[0] + cons.clamp_right, base_angles[0] + cons.clamp_left);
    var d_theta = m_util.calc_returning_angle(curr_angles[1], 
            base_angles[1] + cons.clamp_down, base_angles[1] + cons.clamp_up);
    m_cam.rotate_eye_camera(obj, d_phi, d_theta);
}
Example #3
0
exports.rotate_camera = function(camobj, phi, theta, phi_is_abs, theta_is_abs) {
    var move_style = exports.get_move_style(camobj);

    switch (move_style) {
    case camera.MS_STATIC:
    case camera.MS_ANIMATION:
        break; 
    case camera.MS_TARGET_CONTROLS:
        camera.rotate_target_camera(camobj, phi, theta, phi_is_abs, theta_is_abs);
        break;
    case camera.MS_EYE_CONTROLS:
        camera.rotate_eye_camera(camobj, phi, theta, phi_is_abs, theta_is_abs);
        break;
    case camera.MS_HOVER_CONTROLS:
        camera.rotate_hover_camera(camobj, phi, theta, phi_is_abs, theta_is_abs);
        break;
    default:
        m_print.error("rotate_camera(): Wrong object");
        break;
    }

    transform.update_transform(camobj);
    m_phy.sync_transform(camobj);
}