@@ -83,27 +83,27 @@ var selected_points = []; var selected_lines = []; var helpmsg = //"3D drawing tool\n\n" + "Select Left Click\n" + - "Rotate Right Click\n" + - "Move wasd, qe\n" + - "Copy Space\n" + - "Delete x\n" + - "\n" + - "Click the red dot to create a point\n" + - "Spam a motion key to increase speed\n" + - "Drag between points to connect them\n"; + "Rotate Right Click\n" + + "Move wasd, qe\n" + + "Copy Space\n" + + "Delete x\n" + + "\n" + + "Click the red dot to create a point\n" + + "Spam a motion key to increase speed\n" + + "Drag between points to connect them\n"; var msg = helpmsg; var view_transform = - [[1, 0, 0], - [0, 1, 0], - [0, 0, 1]]; + [[1, 0, 0], + [0, 1, 0], + [0, 0, 1]]; var key_state = {}; var key_state_augmentation_timeout = 150; // the permissible time in milliseconds since the last key event to still allow the key state to augment instead of clearing. @@ -930,13 +930,21 @@ var pt = points[selected_points[i]]; vector_add(pt, delta_position, pt); }} else{ moveCamera(delta_position, false); } - - if(delta_horizontal_angle) rotateHorizontal(delta_horizontal_angle); - if(delta_vertical_angle) rotateVertical(delta_vertical_angle); + + + if(!selected_points.length){ + if(delta_horizontal_angle) rotateHorizontal(delta_horizontal_angle); + if(delta_vertical_angle) rotateVertical(delta_vertical_angle); } + + else{ + var rotation_transform; + if(selection_rotation_axis){ // + + }}} // overwrite point projections // TODO this may not be perfect if points are deleted etc. point_projections.length = 0;