- Timestamp:
- 2014-12-20T16:00:06+01:00 (10 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/actions
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
r7350 r7859 34 34 import org.openstreetmap.josm.tools.ImageProvider; 35 35 36 /** 37 * Adjust the position of an imagery layer. 38 * @since 3715 39 */ 36 40 public class ImageryAdjustAction extends MapMode implements MouseListener, MouseMotionListener, AWTEventListener{ 37 static ImageryOffsetDialog offsetDialog; 38 static Cursor cursor = ImageProvider.getCursor("normal", "move"); 39 40 double oldDx, oldDy; 41 boolean mouseDown; 42 EastNorth prevEastNorth; 41 private static ImageryOffsetDialog offsetDialog; 42 private static Cursor cursor = ImageProvider.getCursor("normal", "move"); 43 44 private double oldDx, oldDy; 45 private EastNorth prevEastNorth; 43 46 private ImageryLayer layer; 44 47 private MapMode oldMapMode; … … 108 111 @Override 109 112 public void eventDispatched(AWTEvent event) { 110 if (!(event instanceof KeyEvent)) return; 111 if (event.getID() != KeyEvent.KEY_PRESSED) return; 112 if (layer == null) return; 113 if (offsetDialog != null && offsetDialog.areFieldsInFocus()) return; 113 if (!(event instanceof KeyEvent) 114 || (event.getID() != KeyEvent.KEY_PRESSED) 115 || (layer == null) 116 || (offsetDialog != null && offsetDialog.areFieldsInFocus())) { 117 return; 118 } 114 119 KeyEvent kev = (KeyEvent)event; 115 doubledx = 0, dy = 0;120 int dx = 0, dy = 0; 116 121 switch (kev.getKeyCode()) { 117 122 case KeyEvent.VK_UP : dy = +1; break; … … 173 178 } 174 179 175 class ImageryOffsetDialog extends ExtendedDialog implements FocusListener {176 p ublicfinal JosmTextField tOffset = new JosmTextField();177 JosmTextField tBookmarkName = new JosmTextField();180 private class ImageryOffsetDialog extends ExtendedDialog implements FocusListener { 181 private final JosmTextField tOffset = new JosmTextField(); 182 private final JosmTextField tBookmarkName = new JosmTextField(); 178 183 private boolean ignoreListener; 184 185 /** 186 * Constructs a new {@code ImageryOffsetDialog}. 187 */ 179 188 public ImageryOffsetDialog() { 180 189 super(Main.parent, … … 187 196 pnl.add(new JMultilineLabel(tr("Use arrow keys or drag the imagery layer with mouse to adjust the imagery offset.\n" + 188 197 "You can also enter east and north offset in the {0} coordinates.\n" + 189 "If you want to save the offset as bookmark, enter the bookmark name below",Main.getProjection().toString())), GBC.eop()); 198 "If you want to save the offset as bookmark, enter the bookmark name below", 199 Main.getProjection().toString())), GBC.eop()); 190 200 pnl.add(new JLabel(tr("Offset: ")),GBC.std()); 191 201 pnl.add(tOffset,GBC.eol().fill(GBC.HORIZONTAL).insets(0,0,0,5)); … … 199 209 } 200 210 201 p ublicboolean areFieldsInFocus() {211 private boolean areFieldsInFocus() { 202 212 return tOffset.hasFocus(); 203 213 } … … 205 215 @Override 206 216 public void focusGained(FocusEvent e) { 217 // Do nothing 207 218 } 208 219 … … 230 241 } 231 242 232 p ublicfinal void updateOffset() {243 private final void updateOffset() { 233 244 ignoreListener = true; 234 245 updateOffsetIntl(); … … 236 247 } 237 248 238 p ublicfinal void updateOffsetIntl() {249 private final void updateOffsetIntl() { 239 250 // Support projections with very small numbers (e.g. 4326) 240 251 int precision = Main.getProjection().getDefaultZoomInPPD() >= 1.0 ? 2 : 7; … … 265 276 protected void buttonAction(int buttonIndex, ActionEvent evt) { 266 277 if (buttonIndex == 0 && tBookmarkName.getText() != null && !tBookmarkName.getText().isEmpty() && 267 OffsetBookmark.getBookmarkByName(layer, tBookmarkName.getText()) != null) { 268 if (!confirmOverwriteBookmark()) return; 278 OffsetBookmark.getBookmarkByName(layer, tBookmarkName.getText()) != null && 279 !confirmOverwriteBookmark()) { 280 return; 269 281 } 270 282 super.buttonAction(buttonIndex, evt); -
trunk/src/org/openstreetmap/josm/actions/InfoAction.java
r7771 r7859 2 2 package org.openstreetmap.josm.actions; 3 3 4 import static org.openstreetmap.josm.gui.help.HelpUtil.ht; 5 import static org.openstreetmap.josm.tools.I18n.tr; 6 4 7 import java.awt.event.ActionEvent; 5 import static org.openstreetmap.josm.tools.I18n.tr;6 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;8 import java.awt.event.KeyEvent; 9 import java.util.Collection; 7 10 8 import java.awt.event.KeyEvent;9 10 import java.util.Collection;11 11 import org.openstreetmap.josm.Main; 12 12 import org.openstreetmap.josm.data.osm.DataSet; … … 15 15 import org.openstreetmap.josm.tools.Shortcut; 16 16 17 /** 18 * Display advanced object information about OSM nodes, ways, or relations. 19 * @since 1697 20 */ 17 21 public class InfoAction extends JosmAction { 18 22 -
trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java
r7771 r7859 12 12 import org.openstreetmap.josm.tools.Shortcut; 13 13 14 /** 15 * Display object information about OSM nodes, ways, or relations in web browser. 16 * @since 4408 17 */ 14 18 public class InfoWebAction extends AbstractInfoAction { 15 19 20 /** 21 * Constructs a new {@code InfoWebAction}. 22 */ 16 23 public InfoWebAction() { 17 24 super(tr("Advanced info (web)"), "info", -
trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
r7668 r7859 38 38 * <li><b>Move Node onto Way</b>: Move the node onto the nearest way segments and include it</li> 39 39 * </ul> 40 * @since 466 40 41 */ 41 42 public class JoinNodeWayAction extends JosmAction { … … 43 44 protected final boolean joinWayToNode; 44 45 45 protected JoinNodeWayAction(boolean joinWayToNode, String name, String iconName, String tooltip, Shortcut shortcut, boolean registerInToolbar) { 46 protected JoinNodeWayAction(boolean joinWayToNode, String name, String iconName, String tooltip, 47 Shortcut shortcut, boolean registerInToolbar) { 46 48 super(name, iconName, tooltip, shortcut, registerInToolbar); 47 49 this.joinWayToNode = joinWayToNode; … … 54 56 public static JoinNodeWayAction createJoinNodeToWayAction() { 55 57 JoinNodeWayAction action = new JoinNodeWayAction(false, 56 tr("Join Node to Way"), /* ICON */ "joinnodeway", tr("Include a node into the nearest way segments"), 57 Shortcut.registerShortcut("tools:joinnodeway", tr("Tool: {0}", tr("Join Node to Way")), KeyEvent.VK_J, Shortcut.DIRECT), true); 58 tr("Join Node to Way"), /* ICON */ "joinnodeway", 59 tr("Include a node into the nearest way segments"), 60 Shortcut.registerShortcut("tools:joinnodeway", tr("Tool: {0}", tr("Join Node to Way")), 61 KeyEvent.VK_J, Shortcut.DIRECT), true); 58 62 action.putValue("help", ht("/Action/JoinNodeWay")); 59 63 return action; … … 66 70 public static JoinNodeWayAction createMoveNodeOntoWayAction() { 67 71 JoinNodeWayAction action = new JoinNodeWayAction(true, 68 tr("Move Node onto Way"), /* ICON*/ "movenodeontoway", tr("Move the node onto the nearest way segments and include it"), 69 Shortcut.registerShortcut("tools:movenodeontoway", tr("Tool: {0}", tr("Move Node onto Way")), KeyEvent.VK_N, Shortcut.DIRECT), true); 72 tr("Move Node onto Way"), /* ICON*/ "movenodeontoway", 73 tr("Move the node onto the nearest way segments and include it"), 74 Shortcut.registerShortcut("tools:movenodeontoway", tr("Tool: {0}", tr("Move Node onto Way")), 75 KeyEvent.VK_N, Shortcut.DIRECT), true); 76 action.putValue("help", ht("/Action/MoveNodeWay")); 70 77 return action; 71 78 } … … 95 102 } 96 103 97 if ( ws.getFirstNode() != node && ws.getSecondNode() != node) {104 if (!ws.getFirstNode().equals(node) && !ws.getSecondNode().equals(node)) { 98 105 insertPoints.put(ws.way, ws.lowerIndex); 99 106 } … … 137 144 List<Node> nodesToAdd = new LinkedList<>(); 138 145 nodesToAdd.addAll(nodesInSegment); 139 Collections.sort(nodesToAdd, new NodeDistanceToRefNodeComparator(w.getNode(segmentIndex), w.getNode(segmentIndex+1), !joinWayToNode)); 146 Collections.sort(nodesToAdd, new NodeDistanceToRefNodeComparator( 147 w.getNode(segmentIndex), w.getNode(segmentIndex+1), !joinWayToNode)); 140 148 wayNodes.addAll(segmentIndex + 1, nodesToAdd); 141 149 } -
trunk/src/org/openstreetmap/josm/actions/JosmAction.java
r7693 r7859 335 335 /** 336 336 * Adapter for selection change events 337 *338 337 */ 339 338 private class SelectionChangeAdapter implements SelectionChangedListener { -
trunk/src/org/openstreetmap/josm/actions/LassoModeAction.java
r7668 r7859 9 9 import org.openstreetmap.josm.tools.ImageProvider; 10 10 11 /** 12 * Lasso selection mode: select objects within a hand-drawn region. 13 * @since 5152 14 */ 11 15 public class LassoModeAction extends MapMode { 12 16 17 /** 18 * Constructs a new {@code LassoModeAction}. 19 */ 13 20 public LassoModeAction() { 14 21 super(tr("Lasso Mode"), -
trunk/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
r7813 r7859 24 24 import org.openstreetmap.josm.gui.ExtendedDialog; 25 25 import org.openstreetmap.josm.gui.layer.WMSLayer; 26 import org.openstreetmap.josm.gui.widgets.JosmTextField; 27 import org.openstreetmap.josm.gui.widgets.UrlLabel; 26 28 import org.openstreetmap.josm.tools.GBC; 27 29 import org.openstreetmap.josm.tools.Shortcut; 28 30 import org.openstreetmap.josm.tools.Utils; 29 import org.openstreetmap.josm.gui.widgets.JosmTextField; 30 import org.openstreetmap.josm.gui.widgets.UrlLabel; 31 31 32 /** 33 * Download rectified images from various services. 34 * @since 3715 35 */ 32 36 public class MapRectifierWMSmenuAction extends JosmAction { 37 33 38 /** 34 39 * Class that bundles all required information of a rectifier service … … 40 45 private final Pattern urlRegEx; 41 46 private final Pattern idValidator; 42 p ublicJRadioButton btn;47 private JRadioButton btn; 43 48 44 49 /** … … 57 62 } 58 63 59 p ublicboolean isSelected() {64 private boolean isSelected() { 60 65 return btn.isSelected(); 61 66 } … … 63 68 64 69 /** 65 * List of available rectifier services. May be extended from the outside 66 */ 67 public List<RectifierService> services = new ArrayList<>(); 68 70 * List of available rectifier services. 71 */ 72 private final List<RectifierService> services = new ArrayList<>(); 73 74 /** 75 * Constructs a new {@code MapRectifierWMSmenuAction}. 76 */ 69 77 public MapRectifierWMSmenuAction() { 70 78 super(tr("Rectified Image..."), -
trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java
r7509 r7859 46 46 boolean layerMerged = false; 47 47 for (final Layer sourceLayer: sourceLayers) { 48 if (sourceLayer != null && sourceLayer != targetLayer) {48 if (sourceLayer != null && !sourceLayer.equals(targetLayer)) { 49 49 if (sourceLayer instanceof OsmDataLayer && targetLayer instanceof OsmDataLayer 50 50 && ((OsmDataLayer)sourceLayer).isUploadDiscouraged() != ((OsmDataLayer)targetLayer).isUploadDiscouraged()) { -
trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
r7509 r7859 72 72 73 73 if (selectedNodes.size() == 1) { 74 List<Node> nearestNodes = Main.map.mapView.getNearestNodes(Main.map.mapView.getPoint(selectedNodes.get(0)), selectedNodes, OsmPrimitive.isUsablePredicate); 74 List<Node> nearestNodes = Main.map.mapView.getNearestNodes( 75 Main.map.mapView.getPoint(selectedNodes.get(0)), selectedNodes, OsmPrimitive.isUsablePredicate); 75 76 if (nearestNodes.isEmpty()) { 76 77 new Notification( … … 142 143 return new Node(new EastNorth(east2 / weight, north2 / weight)); 143 144 default: 144 throw new RuntimeException("unacceptable merge-nodes.mode"); 145 } 146 145 throw new IllegalStateException("unacceptable merge-nodes.mode"); 146 } 147 147 } 148 148 … … 198 198 List<Node> newNodes = new ArrayList<>(w.getNodesCount()); 199 199 for (Node n: w.getNodes()) { 200 if (! nodesToDelete.contains(n) && n != targetNode) {200 if (! nodesToDelete.contains(n) && !n.equals(targetNode)) { 201 201 newNodes.add(n); 202 202 } else if (newNodes.isEmpty()) { 203 203 newNodes.add(targetNode); 204 } else if ( newNodes.get(newNodes.size()-1) != targetNode) {204 } else if (!newNodes.get(newNodes.size()-1).equals(targetNode)) { 205 205 // make sure we collapse a sequence of deleted nodes 206 206 // to exactly one occurrence of the merged target node 207 //208 207 newNodes.add(targetNode); 209 208 } else { … … 317 316 TagCollection nodeTags = TagCollection.unionOfAllPrimitives(nodes); 318 317 List<Command> resultion = CombinePrimitiveResolverDialog.launchIfNecessary(nodeTags, nodes, Collections.singleton(targetNode)); 319 Li nkedList<Command> cmds = new LinkedList<>();318 List<Command> cmds = new LinkedList<>(); 320 319 321 320 // the nodes we will have to delete … … 337 336 // build the commands 338 337 // 339 if ( targetNode != targetLocationNode) {338 if (!targetNode.equals(targetLocationNode)) { 340 339 LatLon targetLocationCoor = targetLocationNode.getCoor(); 341 340 if (!targetNode.getCoor().equals(targetLocationCoor)) { -
trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
r6084 r7859 10 10 import java.util.List; 11 11 12 import org.openstreetmap.josm.data.osm.DataSet;13 12 import org.openstreetmap.josm.data.osm.OsmPrimitive; 14 13 import org.openstreetmap.josm.data.osm.visitor.MergeSourceBuildingVisitor; … … 20 19 import org.openstreetmap.josm.tools.Shortcut; 21 20 21 /** 22 * Merge the currently selected objects into another layer. 23 * @since 1890 24 */ 22 25 public class MergeSelectionAction extends AbstractMergeAction { 26 27 /** 28 * Constructs a new {@code MergeSelectionAction}. 29 */ 23 30 public MergeSelectionAction() { 24 31 super(tr("Merge selection"), "dialogs/mergedown", tr("Merge the currently selected objects into another layer"), … … 30 37 } 31 38 32 public void mergeSelected(DataSet source) { 39 /** 40 * Merge the currently selected objects into another layer. 41 */ 42 public void mergeSelected() { 33 43 List<Layer> targetLayers = LayerListDialog.getInstance().getModel().getPossibleMergeTargets(getEditLayer()); 34 44 if (targetLayers.isEmpty()) { … … 39 49 if (targetLayer == null) 40 50 return; 41 if (getEditLayer().isUploadDiscouraged() && targetLayer instanceof OsmDataLayer && !((OsmDataLayer)targetLayer).isUploadDiscouraged()42 && getEditLayer().data.getAllSelected().size() > 1) {43 if (warnMergingUploadDiscouragedObjects(targetLayer)) {44 return;45 }51 if (getEditLayer().isUploadDiscouraged() && targetLayer instanceof OsmDataLayer 52 && !((OsmDataLayer)targetLayer).isUploadDiscouraged() 53 && getEditLayer().data.getAllSelected().size() > 1 54 && warnMergingUploadDiscouragedObjects(targetLayer)) { 55 return; 46 56 } 47 57 MergeSourceBuildingVisitor builder = new MergeSourceBuildingVisitor(getEditLayer().data); … … 53 63 if (getEditLayer() == null || getEditLayer().data.getAllSelected().isEmpty()) 54 64 return; 55 mergeSelected( getEditLayer().data);65 mergeSelected(); 56 66 } 57 67 … … 71 81 72 82 /** 73 * returns true if the user wants to cancel, false if they want to continue 83 * Warns the user about merging too many objects with different upload policies. 84 * @param targetLayer Target layer 85 * @return true if the user wants to cancel, false if they want to continue 74 86 */ 75 87 public static final boolean warnMergingUploadDiscouragedObjects(Layer targetLayer) { … … 79 91 "<b>This is not the recommended way of merging such data</b>.<br />"+ 80 92 "You should instead check and merge each object, <b>one by one</b>.<br /><br />"+ 81 "Are you sure you want to continue?", getEditLayer().getName(), targetLayer.getName(), targetLayer.getName())+ 93 "Are you sure you want to continue?", 94 getEditLayer().getName(), targetLayer.getName(), targetLayer.getName())+ 82 95 "</html>", 83 96 ImageProvider.get("dialogs", "mergedown"), tr("Ignore this hint and merge anyway")); -
trunk/src/org/openstreetmap/josm/actions/MirrorAction.java
r7005 r7859 10 10 import java.util.HashSet; 11 11 import java.util.LinkedList; 12 import java.util.Set; 12 13 13 14 import javax.swing.JOptionPane; … … 45 46 public void actionPerformed(ActionEvent e) { 46 47 Collection<OsmPrimitive> sel = getCurrentDataSet().getSelected(); 47 HashSet<Node> nodes = new HashSet<>();48 Set<Node> nodes = new HashSet<>(); 48 49 49 50 for (OsmPrimitive osm : sel) { -
trunk/src/org/openstreetmap/josm/actions/MoveAction.java
r6798 r7859 32 32 33 33 // any better idea? 34 private static String calltosupermustbefirststatementinconstructor _text(Direction dir) {34 private static String calltosupermustbefirststatementinconstructortext(Direction dir) { 35 35 String directiontext; 36 36 if (dir == Direction.UP) { … … 61 61 } 62 62 63 /** 64 * Constructs a new {@code MoveAction}. 65 * @param dir direction 66 */ 63 67 public MoveAction(Direction dir) { 64 super(tr("Move {0}", calltosupermustbefirststatementinconstructor _text(dir)), null,65 tr("Moves Objects {0}", calltosupermustbefirststatementinconstructor _text(dir)),68 super(tr("Move {0}", calltosupermustbefirststatementinconstructortext(dir)), null, 69 tr("Moves Objects {0}", calltosupermustbefirststatementinconstructortext(dir)), 66 70 calltosupermustbefirststatementinconstructor(dir), false); 67 71 myDirection = dir; … … 120 124 ((MoveCommand)c).moveAgain(distx, disty); 121 125 } else { 122 Main.main.undoRedo.add(123 c = new MoveCommand(selection, distx, disty));126 c = new MoveCommand(selection, distx, disty); 127 Main.main.undoRedo.add(c); 124 128 } 125 129 getCurrentDataSet().endUpdate(); -
trunk/src/org/openstreetmap/josm/actions/MoveNodeAction.java
r6380 r7859 21 21 public final class MoveNodeAction extends JosmAction { 22 22 23 /** 24 * Constructs a new {@code MoveNodeAction}. 25 */ 23 26 public MoveNodeAction() { 24 27 super(tr("Move Node..."), "movenode", tr("Edit latitude and longitude of a node."), -
trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
r7578 r7859 52 52 * The {@link ExtensionFileFilter} matching .url files 53 53 */ 54 public static final ExtensionFileFilter urlFileFilter= new ExtensionFileFilter("url", "url", tr("URL Files") + " (*.url)");54 public static final ExtensionFileFilter URL_FILE_FILTER = new ExtensionFileFilter("url", "url", tr("URL Files") + " (*.url)"); 55 55 56 56 /** … … 200 200 FileImporter chosenImporter = null; 201 201 for (FileImporter importer : ExtensionFileFilter.importers) { 202 if (fileFilter == importer.filter) {202 if (fileFilter.equals(importer.filter)) { 203 203 chosenImporter = importer; 204 204 } … … 258 258 } 259 259 } 260 if ( urlFileFilter.accept(f)) {260 if (URL_FILE_FILTER.accept(f)) { 261 261 urlFiles.add(f); 262 262 } else { -
trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java
r7749 r7859 55 55 /* I18N: Command to download a specific location/URL */ 56 56 super(tr("Open Location..."), "openlocation", tr("Open an URL."), 57 Shortcut.registerShortcut("system:open_location", tr("File: {0}", tr("Open Location...")), KeyEvent.VK_L, Shortcut.CTRL), true); 57 Shortcut.registerShortcut("system:open_location", tr("File: {0}", tr("Open Location...")), 58 KeyEvent.VK_L, Shortcut.CTRL), true); 58 59 putValue("help", ht("/Action/OpenLocation")); 59 60 this.downloadTasks = new ArrayList<>(); … … 74 75 */ 75 76 protected void restoreUploadAddressHistory(HistoryComboBox cbHistory) { 76 List<String> cmtHistory = new LinkedList<>(Main.pref.getCollection(getClass().getName() + ".uploadAddressHistory", new LinkedList<String>())); 77 List<String> cmtHistory = new LinkedList<>(Main.pref.getCollection(getClass().getName() + ".uploadAddressHistory", 78 new LinkedList<String>())); 77 79 // we have to reverse the history, because ComboBoxHistory will reverse it again in addElement() 78 80 // … … 175 177 /** 176 178 * Open the given URL. 177 * @param new _layer true if the URL needs to be opened in a new layer, false otherwise179 * @param newLayer true if the URL needs to be opened in a new layer, false otherwise 178 180 * @param url The URL to open 179 181 */ 180 public void openUrl(boolean new _layer, final String url) {182 public void openUrl(boolean newLayer, final String url) { 181 183 PleaseWaitProgressMonitor monitor = new PleaseWaitProgressMonitor(tr("Download Data")); 182 184 Collection<DownloadTask> tasks = findDownloadTasks(url, false); … … 187 189 try { 188 190 task = tasks.iterator().next(); 189 future = task.loadUrl(new _layer, url, monitor);191 future = task.loadUrl(newLayer, url, monitor); 190 192 } catch (IllegalArgumentException e) { 191 193 Main.error(e); -
trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
r7012 r7859 304 304 // rotate 305 305 for (Node n: allNodes) { 306 EastNorth tmp = EN.rotate _cc(pivot, n.getEastNorth(), - headingAll);306 EastNorth tmp = EN.rotateCC(pivot, n.getEastNorth(), - headingAll); 307 307 nX.put(n, tmp.east()); 308 308 nY.put(n, tmp.north()); … … 384 384 for (Node n: allNodes) { 385 385 EastNorth tmp = new EastNorth(nX.get(n), nY.get(n)); 386 tmp = EN.rotate _cc(pivot, tmp, headingAll);386 tmp = EN.rotateCC(pivot, tmp, headingAll); 387 387 final double dx = tmp.east() - n.getEastNorth().east(); 388 388 final double dy = tmp.north() - n.getEastNorth().north(); … … 418 418 nSeg = nNode - 1; 419 419 } 420 420 421 /** 421 422 * Estimate the direction of the segments, given the first segment points in the … … 423 424 * Then sum up all horizontal / vertical segments to have a good guess for the 424 425 * heading of the entire way. 426 * @param pInitialDirection initial direction 425 427 * @throws InvalidUserInputException 426 428 */ … … 522 524 // Hide implicit public constructor for utility class 523 525 } 524 // rotate counter-clock-wise 525 public static EastNorth rotate_cc(EastNorth pivot, EastNorth en, double angle) { 526 /** 527 * Rotate counter-clock-wise. 528 */ 529 public static EastNorth rotateCC(EastNorth pivot, EastNorth en, double angle) { 526 530 double cosPhi = Math.cos(angle); 527 531 double sinPhi = Math.sin(angle);
Note:
See TracChangeset
for help on using the changeset viewer.