exports.set_hover_cam_angle = function(camobj, angle) { m_print.error("set_hover_cam_angle() deprecated, use rotate_camera() or rotate_hover_camera() instead"); if (!camera.is_hover_camera(camobj)) { m_print.error("set_hover_cam_angle(): wrong object or camera move style"); return; } var render = camobj._render; if (!render.use_distance_limits) { m_print.error("set_hover_cam_angle(): distance/hover_angle limits are not defined or disabled"); return; } var angles = camera.get_camera_angles(camobj, _vec2_tmp); // NOTE: prepare hover angle (CCW style) var angle_ccw = -angle; var rot_angle = angle_ccw - angles[1]; if (rot_angle) camera.rotate_hover_camera(camobj, 0, rot_angle); transform.update_transform(camobj); m_phy.sync_transform(camobj); }
exports.rotate_hover_camera = function(camobj, phi, theta, phi_is_abs, theta_is_abs) { if (!camera.is_hover_camera(camobj)) { m_print.error("rotate_hover_camera(): wrong object"); return; } camera.rotate_hover_camera(camobj, phi, theta, phi_is_abs, theta_is_abs); transform.update_transform(camobj); m_phy.sync_transform(camobj); }
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); }